diff --git a/lib/client/gnt_instance.py b/lib/client/gnt_instance.py index c59817b5d049cfbd97dbf831d02c8d36a738cf0f..a3e54b397c3d4848bb23462db442bcae527ba079 100644 --- a/lib/client/gnt_instance.py +++ b/lib/client/gnt_instance.py @@ -486,8 +486,12 @@ def ReinstallInstance(opts, args): osparams=opts.osparams) jex.QueueJob(instance_name, op) - jex.WaitOrShow(not opts.submit_only) - return 0 + results = jex.WaitOrShow(not opts.submit_only) + + if compat.all(map(compat.fst, results)): + return constants.EXIT_SUCCESS + else: + return constants.EXIT_FAILURE def RemoveInstance(opts, args): diff --git a/qa/qa_instance.py b/qa/qa_instance.py index 637ce9b65b332217e60854b0a4ae80729f58d90f..02acb6bd14c1c88356fa6a9b5a50684ed6d15ad3 100644 --- a/qa/qa_instance.py +++ b/qa/qa_instance.py @@ -140,6 +140,12 @@ def TestInstanceReinstall(instance): """gnt-instance reinstall""" AssertCommand(["gnt-instance", "reinstall", "-f", instance["name"]]) + # Test with non-existant OS definition + AssertCommand(["gnt-instance", "reinstall", "-f", + "--os-type=NonExistantOsForQa", + instance["name"]], + fail=True) + def _ReadSsconfInstanceList(): """Reads ssconf_instance_list from the master node.