diff -uNr a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py --- a/fence/agents/lib/fencing.py.py 2017-03-20 15:01:35.821589253 +0100 +++ b/fence/agents/lib/fencing.py.py 2017-03-20 16:09:44.303299554 +0100 @@ -20,6 +20,7 @@ __all__ = ['atexit_handler', 'check_input', 'process_input', 'all_opt', 'show_docs', 'fence_login', 'fence_action', 'fence_logout'] +EC_OK = 0 EC_GENERIC_ERROR = 1 EC_BAD_ARGS = 2 EC_LOGIN_DENIED = 3 @@ -485,11 +486,12 @@ return added_opt -def fail_usage(message=""): +def fail_usage(message="", stop=True): if len(message) > 0: logging.error("%s\n", message) - logging.error("Please use '-h' for usage\n") - sys.exit(EC_GENERIC_ERROR) + if stop: + logging.error("Please use '-h' for usage\n") + sys.exit(EC_GENERIC_ERROR) def fail(error_code): message = { @@ -602,6 +604,7 @@ print "\t" print "\t" print "\t" + print "\t" if avail_opt.count("diag") == 1: print "\t" print "" @@ -707,7 +710,7 @@ ## in each of the fencing agents. It looks for possible errors and run ## password script to set a correct password ###### -def check_input(device_opt, opt): +def check_input(device_opt, opt, other_conditions = False): device_opt.extend(add_dependency_options(device_opt)) @@ -784,7 +787,7 @@ ## add loggint to stderr logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stderr)) - acceptable_actions = ["on", "off", "status", "list", "list-status", "monitor"] + acceptable_actions = ["on", "off", "status", "list", "list-status", "monitor", "validate-all"] if 1 == device_opt.count("fabric_fencing"): ## Compatibility layer ##### @@ -808,6 +811,12 @@ if options["--action"] == "disable": options["--action"] = "off" + if options["--action"] == "validate-all" and not other_conditions: + _validate_input(options, False) + sys.exit(EC_OK) + else: + _validate_input(options, True) + ## automatic detection and set of valid UUID from --plug if not options.has_key("--username") and \ device_opt.count("login") and (device_opt.count("no_login") == 0): @@ -1282,6 +1291,80 @@ syslog.syslog(syslog_level, msg.replace("\x00","\n")) return +# stop = True/False : exit fence agent when problem is encountered +def _validate_input(options, stop = True): + device_opt = options["device_opt"] + valid_input = True + + if "--username" not in options and \ + device_opt.count("login") and (device_opt.count("no_login") == 0): + valid_input = False + fail_usage("Failed: You have to set login name", stop) + + if device_opt.count("ipaddr") and "--ip" not in options and "--managed" not in options and "--target" not in options: + valid_input = False + fail_usage("Failed: You have to enter fence address", stop) + + if device_opt.count("no_password") == 0: + if 0 == device_opt.count("identity_file"): + if not ("--password" in options or "--password-script" in options): + valid_input = False + fail_usage("Failed: You have to enter password or password script", stop) + else: + if not ("--password" in options or \ + "--password-script" in options or "--identity-file" in options): + valid_input = False + fail_usage("Failed: You have to enter password, password script or identity file", stop) + + if "--ssh" not in options and "--identity-file" in options: + valid_input = False + fail_usage("Failed: You have to use identity file together with ssh connection (-x)", stop) + + if "--identity-file" in options and not os.path.isfile(options["--identity-file"]): + valid_input = False + fail_usage("Failed: Identity file " + options["--identity-file"] + " does not exist", stop) + + if (0 == ["list", "list-status", "monitor"].count(options["--action"])) and \ + "--plug" not in options and device_opt.count("port") and \ + device_opt.count("no_port") == 0 and not device_opt.count("port_as_ip"): + valid_input = False + fail_usage("Failed: You have to enter plug number or machine identification", stop) + + if "--plug" in options and len(options["--plug"].split(",")) > 1 and \ + "--method" in options and options["--method"] == "cycle": + valid_input = False + fail_usage("Failed: Cannot use --method cycle for more than 1 plug", stop) + + for failed_opt in _get_opts_with_invalid_choices(options): + valid_input = False + fail_usage("Failed: You have to enter a valid choice for %s from the valid values: %s" % \ + ("--" + all_opt[failed_opt]["longopt"], str(all_opt[failed_opt]["choices"])), stop) + + for failed_opt in _get_opts_with_invalid_types(options): + valid_input = False + if all_opt[failed_opt]["type"] == "second": + fail_usage("Failed: The value you have entered for %s is not a valid time in seconds" % \ + ("--" + all_opt[failed_opt]["longopt"]), stop) + else: + fail_usage("Failed: The value you have entered for %s is not a valid %s" % \ + ("--" + all_opt[failed_opt]["longopt"], all_opt[failed_opt]["type"]), stop) + + return valid_input + +def _get_opts_with_invalid_choices(options): + options_failed = [] + device_opt = options["device_opt"] + + for opt in device_opt: + if "choices" in all_opt[opt]: + longopt = "--" + all_opt[opt]["longopt"] + possible_values_upper = [y.upper() for y in all_opt[opt]["choices"]] + if longopt in options: + options[longopt] = options[longopt].upper() + if not options["--" + all_opt[opt]["longopt"]] in possible_values_upper: + options_failed.append(opt) + return options_failed + def _get_opts_with_invalid_types(options): options_failed = [] device_opt = options["device_opt"] diff -uNr a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml --- a/tests/data/metadata/fence_alom.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_alom.xml 2017-03-20 16:11:03.193530549 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml --- a/tests/data/metadata/fence_amt.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_amt.xml 2017-03-20 16:11:03.193530549 +0100 @@ -136,5 +136,6 @@ + diff -uNr a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml --- a/tests/data/metadata/fence_apc_snmp.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_apc_snmp.xml 2017-03-20 16:11:03.194530540 +0100 @@ -162,5 +162,6 @@ + diff -uNr a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml --- a/tests/data/metadata/fence_apc.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_apc.xml 2017-03-20 16:11:03.194530540 +0100 @@ -138,5 +138,6 @@ + diff -uNr a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml --- a/tests/data/metadata/fence_bladecenter.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_bladecenter.xml 2017-03-20 16:11:03.194530540 +0100 @@ -138,5 +138,6 @@ + diff -uNr a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml --- a/tests/data/metadata/fence_brocade.xml 2017-03-20 15:01:35.822589244 +0100 +++ b/tests/data/metadata/fence_brocade.xml 2017-03-20 16:11:03.194530540 +0100 @@ -132,5 +132,6 @@ + diff -uNr a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml --- a/tests/data/metadata/fence_cisco_mds.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_cisco_mds.xml 2017-03-20 16:11:03.194530540 +0100 @@ -161,5 +161,6 @@ + diff -uNr a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml --- a/tests/data/metadata/fence_cisco_ucs.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_cisco_ucs.xml 2017-03-20 16:11:03.194530540 +0100 @@ -143,5 +143,6 @@ + diff -uNr a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_compute.xml --- a/tests/data/metadata/fence_compute.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_compute.xml 2017-03-20 16:11:03.194530540 +0100 @@ -137,5 +137,6 @@ + diff -uNr a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml --- a/tests/data/metadata/fence_docker.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_docker.xml 2017-03-20 16:11:03.194530540 +0100 @@ -136,5 +136,6 @@ + diff -uNr a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml --- a/tests/data/metadata/fence_drac5.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_drac5.xml 2017-03-20 16:11:03.194530540 +0100 @@ -142,5 +142,6 @@ + diff -uNr a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml --- a/tests/data/metadata/fence_drac.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_drac.xml 2017-03-20 16:11:03.194530540 +0100 @@ -118,5 +118,6 @@ + diff -uNr a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml --- a/tests/data/metadata/fence_dummy.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_dummy.xml 2017-03-20 16:11:03.194530540 +0100 @@ -83,5 +83,6 @@ + diff -uNr a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml --- a/tests/data/metadata/fence_eaton_snmp.xml 2017-03-20 15:01:35.823589234 +0100 +++ b/tests/data/metadata/fence_eaton_snmp.xml 2017-03-20 16:11:03.194530540 +0100 @@ -162,5 +162,6 @@ + diff -uNr a/tests/data/metadata/fence_emerson.xml b/tests/data/metadata/fence_emerson.xml --- a/tests/data/metadata/fence_emerson.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_emerson.xml 2017-03-20 16:11:03.194530540 +0100 @@ -162,5 +162,6 @@ + diff -uNr a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml --- a/tests/data/metadata/fence_eps.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_eps.xml 2017-03-20 16:11:03.194530540 +0100 @@ -120,5 +120,6 @@ + diff -uNr a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml --- a/tests/data/metadata/fence_hds_cb.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_hds_cb.xml 2017-03-20 16:11:03.194530540 +0100 @@ -138,5 +138,6 @@ + diff -uNr a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml --- a/tests/data/metadata/fence_hpblade.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_hpblade.xml 2017-03-20 16:11:03.194530540 +0100 @@ -138,5 +138,6 @@ + diff -uNr a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml --- a/tests/data/metadata/fence_ibmblade.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_ibmblade.xml 2017-03-20 16:11:03.194530540 +0100 @@ -162,5 +162,6 @@ + diff -uNr a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml --- a/tests/data/metadata/fence_idrac.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_idrac.xml 2017-03-20 16:11:03.194530540 +0100 @@ -173,6 +173,7 @@ + diff -uNr a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml --- a/tests/data/metadata/fence_ifmib.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_ifmib.xml 2017-03-20 16:11:03.194530540 +0100 @@ -163,5 +163,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml --- a/tests/data/metadata/fence_ilo2.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_ilo2.xml 2017-03-20 16:11:03.194530540 +0100 @@ -144,5 +144,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo3_ssh.xml b/tests/data/metadata/fence_ilo3_ssh.xml --- a/tests/data/metadata/fence_ilo3_ssh.xml 2017-03-20 15:01:35.824589224 +0100 +++ b/tests/data/metadata/fence_ilo3_ssh.xml 2017-03-20 16:11:03.194530540 +0100 @@ -143,5 +143,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml --- a/tests/data/metadata/fence_ilo3.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo3.xml 2017-03-20 16:11:03.194530540 +0100 @@ -173,6 +173,7 @@ + diff -uNr a/tests/data/metadata/fence_ilo4_ssh.xml b/tests/data/metadata/fence_ilo4_ssh.xml --- a/tests/data/metadata/fence_ilo4_ssh.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo4_ssh.xml 2017-03-20 16:11:03.194530540 +0100 @@ -143,5 +143,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml --- a/tests/data/metadata/fence_ilo4.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo4.xml 2017-03-20 16:11:03.194530540 +0100 @@ -173,6 +173,7 @@ + diff -uNr a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml --- a/tests/data/metadata/fence_ilo_moonshot.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo_moonshot.xml 2017-03-20 16:11:03.194530540 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml --- a/tests/data/metadata/fence_ilo_mp.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo_mp.xml 2017-03-20 16:11:03.194530540 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo_ssh.xml b/tests/data/metadata/fence_ilo_ssh.xml --- a/tests/data/metadata/fence_ilo_ssh.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo_ssh.xml 2017-03-20 16:11:03.194530540 +0100 @@ -143,5 +143,6 @@ + diff -uNr a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml --- a/tests/data/metadata/fence_ilo.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_ilo.xml 2017-03-20 16:11:03.194530540 +0100 @@ -144,5 +144,6 @@ + diff -uNr a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml --- a/tests/data/metadata/fence_imm.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_imm.xml 2017-03-20 16:11:03.194530540 +0100 @@ -173,6 +173,7 @@ + diff -uNr a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml --- a/tests/data/metadata/fence_intelmodular.xml 2017-03-20 15:01:35.825589214 +0100 +++ b/tests/data/metadata/fence_intelmodular.xml 2017-03-20 16:11:03.194530540 +0100 @@ -164,5 +164,6 @@ + diff -uNr a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml --- a/tests/data/metadata/fence_ipdu.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_ipdu.xml 2017-03-20 16:11:03.194530540 +0100 @@ -162,5 +162,6 @@ + diff -uNr a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml --- a/tests/data/metadata/fence_ipmilan.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_ipmilan.xml 2017-03-20 16:11:03.194530540 +0100 @@ -173,6 +173,7 @@ + diff -uNr a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml --- a/tests/data/metadata/fence_ldom.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_ldom.xml 2017-03-20 16:11:03.195530530 +0100 @@ -135,5 +135,6 @@ + diff -uNr a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml --- a/tests/data/metadata/fence_lpar.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_lpar.xml 2017-03-20 16:11:03.195530530 +0100 @@ -147,5 +147,6 @@ + diff -uNr a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml --- a/tests/data/metadata/fence_mpath.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_mpath.xml 2017-03-20 16:11:03.195530530 +0100 @@ -91,5 +91,6 @@ + diff -uNr a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml --- a/tests/data/metadata/fence_netio.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_netio.xml 2017-03-20 16:11:03.195530530 +0100 @@ -113,5 +113,6 @@ + diff -uNr a/tests/data/metadata/fence_ovh.xml b/tests/data/metadata/fence_ovh.xml --- a/tests/data/metadata/fence_ovh.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_ovh.xml 2017-03-20 16:11:03.195530530 +0100 @@ -97,5 +97,6 @@ + diff -uNr a/tests/data/metadata/fence_pve.xml b/tests/data/metadata/fence_pve.xml --- a/tests/data/metadata/fence_pve.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_pve.xml 2017-03-20 16:11:03.195530530 +0100 @@ -118,5 +118,6 @@ + diff -uNr a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml --- a/tests/data/metadata/fence_raritan.xml 2017-03-20 15:01:35.826589205 +0100 +++ b/tests/data/metadata/fence_raritan.xml 2017-03-20 16:11:03.195530530 +0100 @@ -113,5 +113,6 @@ + diff -uNr a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml --- a/tests/data/metadata/fence_rhevm.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_rhevm.xml 2017-03-20 16:11:03.195530530 +0100 @@ -142,5 +142,6 @@ + diff -uNr a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml --- a/tests/data/metadata/fence_rsa.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_rsa.xml 2017-03-20 16:11:03.195530530 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml --- a/tests/data/metadata/fence_rsb.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_rsb.xml 2017-03-20 16:11:03.195530530 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml --- a/tests/data/metadata/fence_sanbox2.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_sanbox2.xml 2017-03-20 16:11:03.195530530 +0100 @@ -117,5 +117,6 @@ + diff -uNr a/tests/data/metadata/fence_sbd.xml b/tests/data/metadata/fence_sbd.xml --- a/tests/data/metadata/fence_sbd.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_sbd.xml 2017-03-20 16:11:03.195530530 +0100 @@ -95,5 +95,6 @@ + diff -uNr a/tests/data/metadata/fence_scsi.xml b/tests/data/metadata/fence_scsi.xml --- a/tests/data/metadata/fence_scsi.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_scsi.xml 2017-03-20 16:11:03.195530530 +0100 @@ -109,5 +109,6 @@ + diff -uNr a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml --- a/tests/data/metadata/fence_virsh.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_virsh.xml 2017-03-20 16:11:03.195530530 +0100 @@ -145,5 +145,6 @@ + diff -uNr a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml --- a/tests/data/metadata/fence_vmware_soap.xml 2017-03-20 15:01:35.827589195 +0100 +++ b/tests/data/metadata/fence_vmware_soap.xml 2017-03-20 16:11:03.195530530 +0100 @@ -135,5 +135,6 @@ + diff -uNr a/tests/data/metadata/fence_wti.xml b/tests/data/metadata/fence_wti.xml --- a/tests/data/metadata/fence_wti.xml 2017-03-20 15:01:35.828589185 +0100 +++ b/tests/data/metadata/fence_wti.xml 2017-03-20 16:11:03.195530530 +0100 @@ -133,5 +133,6 @@ + diff -uNr a/tests/data/metadata/fence_xenapi.xml b/tests/data/metadata/fence_xenapi.xml --- a/tests/data/metadata/fence_xenapi.xml 2017-03-20 15:01:35.828589185 +0100 +++ b/tests/data/metadata/fence_xenapi.xml 2017-03-20 16:11:03.195530530 +0100 @@ -98,5 +98,6 @@ + diff -uNr a/tests/data/metadata/fence_zvmip.xml b/tests/data/metadata/fence_zvmip.xml --- a/tests/data/metadata/fence_zvmip.xml 2017-03-20 15:01:35.828589185 +0100 +++ b/tests/data/metadata/fence_zvmip.xml 2017-03-20 16:11:03.195530530 +0100 @@ -140,5 +140,6 @@ +