X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/5fa0375e4a0b0bcb2a264b40885578d85e194ed6..f346a7d9:/qa/qa_rapi.py diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py index c316640..2a3ea1e 100644 --- a/qa/qa_rapi.py +++ b/qa/qa_rapi.py @@ -25,6 +25,8 @@ import tempfile import random +import re +import itertools from ganeti import utils from ganeti import constants @@ -416,6 +418,18 @@ def TestNode(node): ]) +def _FilterTags(seq): + """Removes unwanted tags from a sequence. + + """ + ignore_re = qa_config.get("ignore-tags-re", None) + + if ignore_re: + return itertools.ifilterfalse(re.compile(ignore_re).match, seq) + else: + return seq + + def TestTags(kind, name, tags): """Tests .../tags resources. @@ -432,7 +446,7 @@ def TestTags(kind, name, tags): raise errors.ProgrammerError("Unknown tag kind") def _VerifyTags(data): - AssertEqual(sorted(tags), sorted(data)) + AssertEqual(sorted(tags), sorted(_FilterTags(data))) queryargs = "&".join("tag=%s" % i for i in tags) @@ -539,7 +553,11 @@ def TestRapiInstanceAdd(node, use_client): try: disk_sizes = [utils.ParseUnit(size) for size in qa_config.get("disk")] disks = [{"size": size} for size in disk_sizes] - nics = [{}] + nic0_mac = qa_config.GetInstanceNicMac(instance, + default=constants.VALUE_GENERATE) + nics = [{ + constants.INIC_MAC: nic0_mac, + }] beparams = { constants.BE_MAXMEM: utils.ParseUnit(qa_config.get(constants.BE_MAXMEM)), @@ -626,7 +644,7 @@ def TestRapiInstanceStartup(instance): _WaitForRapiJob(_rapi_client.StartupInstance(instance["name"])) -@InstanceCheck(INST_UP, INST_UP, FIRST_ARG) +@InstanceCheck(INST_DOWN, INST_DOWN, FIRST_ARG) def TestRapiInstanceRenameAndBack(rename_source, rename_target): """Test renaming instance via RAPI @@ -636,7 +654,7 @@ def TestRapiInstanceRenameAndBack(rename_source, rename_target): """ _WaitForRapiJob(_rapi_client.RenameInstance(rename_source, rename_target)) qa_utils.RunInstanceCheck(rename_source, False) - qa_utils.RunInstanceCheck(rename_target, True) + qa_utils.RunInstanceCheck(rename_target, False) _WaitForRapiJob(_rapi_client.RenameInstance(rename_target, rename_source)) qa_utils.RunInstanceCheck(rename_target, False) @@ -645,6 +663,12 @@ def TestRapiInstanceRenameAndBack(rename_source, rename_target): def TestRapiInstanceReinstall(instance): """Test reinstalling an instance via RAPI""" _WaitForRapiJob(_rapi_client.ReinstallInstance(instance["name"])) + # By default, the instance is started again + qa_utils.RunInstanceCheck(instance, True) + + # Reinstall again without starting + _WaitForRapiJob(_rapi_client.ReinstallInstance(instance["name"], + no_startup=True)) @InstanceCheck(INST_UP, INST_UP, FIRST_ARG)