def _TestOsModify(hvp_dict, fail=False):
"""gnt-os modify"""
- cmd = ['gnt-os', 'modify']
+ cmd = ["gnt-os", "modify"]
for hv_name, hv_params in hvp_dict.items():
- cmd.append('-H')
+ cmd.append("-H")
options = []
for key, value in hv_params.items():
options.append("%s=%s" % (key, value))
- cmd.append('%s:%s' % (hv_name, ','.join(options)))
+ cmd.append("%s:%s" % (hv_name, ",".join(options)))
cmd.append(_TEMP_OS_NAME)
AssertCommand(cmd, fail=fail)
AssertCommand(new_cmd)
-def _SetupTempOs(node, dirname, valid):
+def _SetupTempOs(node, dirname, variant, valid):
"""Creates a temporary OS definition on the given node.
"""
sq = utils.ShellQuoteArgs
- parts = [sq(["rm", "-rf", dirname]),
- sq(["mkdir", "-p", dirname]),
- sq(["cd", dirname]),
- sq(["ln", "-fs", "/bin/true", "export"]),
- sq(["ln", "-fs", "/bin/true", "import"]),
- sq(["ln", "-fs", "/bin/true", "rename"])]
+ parts = [
+ sq(["rm", "-rf", dirname]),
+ sq(["mkdir", "-p", dirname]),
+ sq(["cd", dirname]),
+ sq(["ln", "-fs", "/bin/true", "export"]),
+ sq(["ln", "-fs", "/bin/true", "import"]),
+ sq(["ln", "-fs", "/bin/true", "rename"]),
+ sq(["ln", "-fs", "/bin/true", "verify"]),
+ ]
if valid:
parts.append(sq(["ln", "-fs", "/bin/true", "create"]))
- parts.append(sq(["echo", str(constants.OS_API_V10)]) +
+ parts.append(sq(["echo", str(constants.OS_API_V20)]) +
" >ganeti_api_version")
- cmd = ' && '.join(parts)
+ parts.append(sq(["echo", variant]) + " >variants.list")
+ parts.append(sq(["echo", "funny this is funny"]) + " >parameters.list")
+
+ cmd = " && ".join(parts)
print qa_utils.FormatInfo("Setting up %s with %s OS definition" %
(node["primary"],
master = qa_config.GetMasterNode()
name = _TEMP_OS_NAME
+ variant = "default"
+ fullname = "%s+%s" % (name, variant)
dirname = _TEMP_OS_PATH
# Ensure OS is usable
valid = bool(i % 2)
else:
raise AssertionError("Unknown mode %s" % mode)
- _SetupTempOs(node, dirname, valid)
+ _SetupTempOs(node, dirname, variant, valid)
# TODO: Use Python 2.6's itertools.permutations
for (hidden, blacklisted) in [(False, False), (True, False),
assert_fn = AssertIn
else:
assert_fn = AssertNotIn
- assert_fn(name, output.splitlines())
+ assert_fn(fullname, output.splitlines())
# Check via RAPI
if rapi_cb:
- assert_fn(name, rapi_cb())
+ assert_fn(fullname, rapi_cb())
finally:
for node in nodes:
_RemoveTempOs(node, dirname)