From 130f0966bc54dc99eb42b795012d333080b9e8ff Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Wed, 28 Jul 2010 14:26:04 -0400 Subject: [PATCH] RAPI: Add os params to instance creation v1 Since the RAPI QA suite doesn't seem to offer easy testing of failed creations, I didn't add this to the QA. Pointers on how to do it are welcome. The patch also changes the 'os' argument to be required, since that is how the LU expects it, and without it we just fail later instead of directly at submission time. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- lib/rapi/rlib2.py | 3 ++- test/ganeti.rapi.rlib2_unittest.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py index 0f6ffa0eb..f52829277 100644 --- a/lib/rapi/rlib2.py +++ b/lib/rapi/rlib2.py @@ -590,7 +590,8 @@ def _ParseInstanceCreateRequestVersion1(data, dry_run): return opcodes.OpCreateInstance( mode=baserlib.CheckParameter(data, "mode"), instance_name=baserlib.CheckParameter(data, "name"), - os_type=baserlib.CheckParameter(data, "os", default=None), + os_type=baserlib.CheckParameter(data, "os"), + osparams=baserlib.CheckParameter(data, "osparams", default={}), force_variant=baserlib.CheckParameter(data, "force_variant", default=False), pnode=baserlib.CheckParameter(data, "pnode", default=None), diff --git a/test/ganeti.rapi.rlib2_unittest.py b/test/ganeti.rapi.rlib2_unittest.py index 4316a6ca9..4e3bc35b7 100755 --- a/test/ganeti.rapi.rlib2_unittest.py +++ b/test/ganeti.rapi.rlib2_unittest.py @@ -107,6 +107,7 @@ class TestParseInstanceCreateRequestVersion1(testutils.GanetiTestCase): "nics": nics, "mode": mode, "disk_template": disk_template, + "os": "debootstrap", } if beparams is not None: @@ -152,7 +153,8 @@ class TestParseInstanceCreateRequestVersion1(testutils.GanetiTestCase): "disks": [], "nics": [], "mode": constants.INSTANCE_CREATE, - "disk_template": constants.DT_PLAIN + "disk_template": constants.DT_PLAIN, + "os": "debootstrap", } for name in reqfields.keys(): -- GitLab