From 168ff33d104c76606079748ea09cb97ff8fc97fe Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Thu, 30 May 2013 09:33:01 -0700 Subject: Make xenapi/host use instance objects for _uuid_find This is the one and only use of instance_get_all_by_host() in the nova/virt tree. Converting it to objects immediately eliminates the need for that method in the virtapi. Related to blueprint unified-object-model Change-Id: I21dfd5a34fb1eef4d442c0711f37e5ef6b18e5bb --- nova/virt/xenapi/host.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'nova/virt') diff --git a/nova/virt/xenapi/host.py b/nova/virt/xenapi/host.py index 258e4d145..5fa2b55db 100644 --- a/nova/virt/xenapi/host.py +++ b/nova/virt/xenapi/host.py @@ -23,6 +23,7 @@ from nova.compute import task_states from nova.compute import vm_states from nova import context from nova import exception +from nova.objects import instance as instance_obj from nova.openstack.common import jsonutils from nova.openstack.common import log as logging from nova.virt.xenapi import pool_states @@ -63,7 +64,7 @@ class Host(object): uuid = vm_rec['other_config'].get('nova_uuid') if not uuid: name = vm_rec['name_label'] - uuid = _uuid_find(self._virtapi, ctxt, host, name) + uuid = _uuid_find(ctxt, host, name) if not uuid: msg = _('Instance %(name)s running on %(host)s' ' could not be found in the database:' @@ -207,11 +208,11 @@ def call_xenhost(session, method, arg_dict): return e.details[1] -def _uuid_find(virtapi, context, host, name_label): +def _uuid_find(context, host, name_label): """Return instance uuid by name_label.""" - for i in virtapi.instance_get_all_by_host(context, host): + for i in instance_obj.InstanceList.get_by_host(context, host): if i.name == name_label: - return i['uuid'] + return i.uuid return None -- cgit