From 42dabbc86e3af49215ced275d76d241b4daf8bdc Mon Sep 17 00:00:00 2001 From: Ed Leafe Date: Fri, 1 Jul 2011 19:44:10 +0000 Subject: Updated unit tests --- nova/compute/api.py | 2 +- nova/virt/xenapi/vmops.py | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) (limited to 'nova') diff --git a/nova/compute/api.py b/nova/compute/api.py index c99b64c50..b0eedcd64 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -915,7 +915,7 @@ class API(base.Base): def set_host_enabled(self, context, host, enabled): """Sets the specified host's ability to accept new instances.""" return self._call_compute_message("set_host_enabled", context, - instance_id=None, host=host, enabled=enabled) + instance_id=None, host=host, params={"enabled": enabled}) @scheduler_api.reroute_compute("diagnostics") def get_diagnostics(self, context, instance_id): diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index 44645840c..535a55ebb 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -935,20 +935,44 @@ class VMOps(object): def set_host_enabled(self, host, enabled): """Sets the specified host's ability to accept new instances.""" - return self._call_xenhost("set_enabled", {"enabled": enabled}) + args = {"enabled": json.dumps(enabled)} + json_resp = self._call_xenhost("set_host_enabled", args) + resp = json.loads(json_resp) + return resp["status"] def _call_xenhost(self, method, arg_dict): + """There will be several methods that will need this general + handling for interacting with the xenhost plugin, so this abstracts + out that behavior. + """ # Create a task ID as something that won't match any instance ID task_id = random.randint(-80000, -70000) try: task = self._session.async_call_plugin("xenhost", method, args=arg_dict) + #args={"params": arg_dict}) ret = self._session.wait_for_task(task, task_id) except self.XenAPI.Failure as e: ret = None LOG.error(_("The call to %(method)s returned an error: %(e)s.") % locals()) return ret +# def set_host_enabled(self, host, enabled): +# """Sets the specified host's ability to accept new instances.""" +# return self._call_xenhost("set_host_enabled", {"enabled": enabled}) +# +# def _call_xenhost(self, method, arg_dict): +# # Create a task ID as something that won't match any instance ID +# task_id = random.randint(-80000, -70000) +# try: +# task = self._session.async_call_plugin("xenhost", method, +# args=arg_dict) +# ret = self._session.wait_for_task(task, task_id) +# except self.XenAPI.Failure as e: +# ret = None +# LOG.error(_("The call to %(method)s returned an error: %(e)s.") +# % locals()) +# return ret def inject_network_info(self, instance, network_info, vm_ref=None): """ -- cgit