summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-02-23 00:21:57 +0000
committerGerrit Code Review <review@openstack.org>2012-02-23 00:21:57 +0000
commit6166b73a50270c617d1dc7e36cfe095d0eeeef3f (patch)
tree7a01e335d9ba3a890c90bb0493898171cfb111c4 /nova/virt
parent08fa534a0d28fa1be48aef927584161becb936c7 (diff)
parent112dd3c1b824097acf5f89cd3afa8785623e4f9e (diff)
Merge "Move get_info to taking an instance."
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/baremetal/proxy.py4
-rw-r--r--nova/virt/driver.py2
-rw-r--r--nova/virt/fake.py8
-rw-r--r--nova/virt/libvirt/connection.py38
-rw-r--r--nova/virt/vmwareapi/vmops.py6
-rw-r--r--nova/virt/vmwareapi_conn.py4
-rw-r--r--nova/virt/xenapi/vmops.py7
-rw-r--r--nova/virt/xenapi_conn.py4
8 files changed, 32 insertions, 41 deletions
diff --git a/nova/virt/baremetal/proxy.py b/nova/virt/baremetal/proxy.py
index b651ee2c4..cd2427a6d 100644
--- a/nova/virt/baremetal/proxy.py
+++ b/nova/virt/baremetal/proxy.py
@@ -531,7 +531,7 @@ class ProxyConnection(driver.ComputeDriver):
LOG.debug(_('instance %s: finished toXML method'), instance['name'])
return xml_info
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Retrieve information from baremetal for a specific instance name.
If a baremetal error is encountered during lookup, we might raise a
@@ -539,7 +539,7 @@ class ProxyConnection(driver.ComputeDriver):
baremetal error is.
"""
- _domain_info = self._conn.get_domain_info(instance_name)
+ _domain_info = self._conn.get_domain_info(instance['name'])
state, max_mem, mem, num_cpu, cpu_time = _domain_info
return {'state': state,
'max_mem': max_mem,
diff --git a/nova/virt/driver.py b/nova/virt/driver.py
index 92e0d53dd..8779699ac 100644
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -108,7 +108,7 @@ class ComputeDriver(object):
# TODO(Vek): Need to pass context in for access to auth_token
raise NotImplementedError()
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Get the current status of an instance, by name (not ID!)
Returns a dict containing:
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index ba2d6dae7..bbb8e05be 100644
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -188,10 +188,10 @@ class FakeConnection(driver.ComputeDriver):
pass
return True
- def get_info(self, instance_name):
- if instance_name not in self.instances:
- raise exception.InstanceNotFound(instance_id=instance_name)
- i = self.instances[instance_name]
+ def get_info(self, instance):
+ if instance['name'] not in self.instances:
+ raise exception.InstanceNotFound(instance_id=instance['name'])
+ i = self.instances[instance['name']]
return {'state': i.state,
'max_mem': 0,
'mem': 0,
diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py
index 634acdeca..ce723de55 100644
--- a/nova/virt/libvirt/connection.py
+++ b/nova/virt/libvirt/connection.py
@@ -339,10 +339,8 @@ class LibvirtConnection(driver.ComputeDriver):
def _destroy(self, instance, network_info, block_device_info=None,
cleanup=True):
- instance_name = instance['name']
-
try:
- virt_dom = self._lookup_by_name(instance_name)
+ virt_dom = self._lookup_by_name(instance['name'])
except exception.NotFound:
virt_dom = None
@@ -395,10 +393,8 @@ class LibvirtConnection(driver.ComputeDriver):
def _wait_for_destroy():
"""Called at an interval until the VM is gone."""
- instance_name = instance['name']
-
try:
- state = self.get_info(instance_name)['state']
+ state = self.get_info(instance)['state']
except exception.NotFound:
LOG.info(_("Instance destroyed successfully."),
instance=instance)
@@ -672,10 +668,8 @@ class LibvirtConnection(driver.ComputeDriver):
def _wait_for_reboot():
"""Called at an interval until the VM is running again."""
- instance_name = instance['name']
-
try:
- state = self.get_info(instance_name)['state']
+ state = self.get_info(instance)['state']
except exception.NotFound:
LOG.error(_("During reboot, instance disappeared."),
instance=instance)
@@ -816,10 +810,8 @@ class LibvirtConnection(driver.ComputeDriver):
def _wait_for_boot():
"""Called at an interval until the VM is running."""
- instance_name = instance['name']
-
try:
- state = self.get_info(instance_name)['state']
+ state = self.get_info(instance)['state']
except exception.NotFound:
LOG.error(_("During reboot, instance disappeared."),
instance=instance)
@@ -1375,7 +1367,7 @@ class LibvirtConnection(driver.ComputeDriver):
"[Error Code %(error_code)s] %(ex)s") % locals()
raise exception.Error(msg)
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Retrieve information from libvirt for a specific instance name.
If a libvirt error is encountered during lookup, we might raise a
@@ -1383,7 +1375,7 @@ class LibvirtConnection(driver.ComputeDriver):
libvirt error is.
"""
- virt_dom = self._lookup_by_name(instance_name)
+ virt_dom = self._lookup_by_name(instance['name'])
(state, max_mem, mem, num_cpu, cpu_time) = virt_dom.info()
return {'state': state,
'max_mem': max_mem,
@@ -1891,7 +1883,7 @@ class LibvirtConnection(driver.ComputeDriver):
def wait_for_live_migration():
"""waiting for live migration completion"""
try:
- self.get_info(instance_ref.name)['state']
+ self.get_info(instance_ref)['state']
except exception.NotFound:
timer.stop()
post_method(ctxt, instance_ref, dest, block_migration)
@@ -2178,17 +2170,17 @@ class LibvirtConnection(driver.ComputeDriver):
return disk_info_text
- def _wait_for_running(self, instance_name):
+ def _wait_for_running(self, instance):
try:
- state = self.get_info(instance_name)['state']
+ state = self.get_info(instance)['state']
except exception.NotFound:
- msg = _("During wait running, %s disappeared.") % instance_name
- LOG.error(msg)
+ LOG.error(_("During wait running, instance disappeared."),
+ instance=instance)
raise utils.LoopingCallDone
if state == power_state.RUNNING:
- msg = _("Instance %s running successfully.") % instance_name
- LOG.info(msg)
+ LOG.info(_("Instance running successfully."),
+ instance=instance)
raise utils.LoopingCallDone
@exception.wrap_exception()
@@ -2230,7 +2222,7 @@ class LibvirtConnection(driver.ComputeDriver):
self.firewall_driver.apply_instance_filter(instance, network_info)
- timer = utils.LoopingCall(self._wait_for_running, instance['name'])
+ timer = utils.LoopingCall(self._wait_for_running, instance)
return timer.start(interval=0.5, now=True)
@exception.wrap_exception()
@@ -2252,7 +2244,7 @@ class LibvirtConnection(driver.ComputeDriver):
domain = self._create_new_domain(xml)
self.firewall_driver.apply_instance_filter(instance, network_info)
- timer = utils.LoopingCall(self._wait_for_running, instance['name'])
+ timer = utils.LoopingCall(self._wait_for_running, instance)
return timer.start(interval=0.5, now=True)
def confirm_migration(self, migration, instance, network_info):
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index d613d7e02..4574dafdb 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -661,11 +661,11 @@ class VMWareVMOps(object):
reason = _("instance is not in a suspended state")
raise exception.InstanceResumeFailure(reason=reason)
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Return data about the VM instance."""
- vm_ref = self._get_vm_ref_from_the_name(instance_name)
+ vm_ref = self._get_vm_ref_from_the_name(instance['name'])
if vm_ref is None:
- raise exception.InstanceNotFound(instance_id=instance_name)
+ raise exception.InstanceNotFound(instance_id=instance['name'])
lst_properties = ["summary.config.numCpu",
"summary.config.memorySizeMB",
diff --git a/nova/virt/vmwareapi_conn.py b/nova/virt/vmwareapi_conn.py
index 16b1f8ac6..614b25cff 100644
--- a/nova/virt/vmwareapi_conn.py
+++ b/nova/virt/vmwareapi_conn.py
@@ -162,9 +162,9 @@ class VMWareESXConnection(driver.ComputeDriver):
"""Resume the suspended VM instance."""
self._vmops.resume(instance)
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Return info about the VM instance."""
- return self._vmops.get_info(instance_name)
+ return self._vmops.get_info(instance)
def get_diagnostics(self, instance):
"""Return data about VM diagnostics."""
diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py
index 78177920c..19370f7e6 100644
--- a/nova/virt/xenapi/vmops.py
+++ b/nova/virt/xenapi/vmops.py
@@ -477,7 +477,6 @@ class VMOps(object):
"""Spawn a new instance."""
LOG.debug(_('Starting VM %s...'), vm_ref)
self._start(instance, vm_ref)
- instance_name = instance.name
instance_uuid = instance.uuid
LOG.info(_('Spawning VM %(instance_uuid)s created %(vm_ref)s.')
% locals())
@@ -499,7 +498,7 @@ class VMOps(object):
LOG.debug(_('Instance %s: waiting for running'), instance_uuid)
expiration = time.time() + FLAGS.xenapi_running_timeout
while time.time() < expiration:
- state = self.get_info(instance_name)['state']
+ state = self.get_info(instance)['state']
if state == power_state.RUNNING:
break
@@ -1021,7 +1020,7 @@ class VMOps(object):
def _shutdown(self, instance, vm_ref, hard=True):
"""Shutdown an instance."""
instance_uuid = instance.uuid
- state = self.get_info(instance['name'])['state']
+ state = self.get_info(instance)['state']
if state == power_state.SHUTDOWN:
LOG.warn(_("VM %(instance_uuid)s already halted,"
"skipping shutdown...") % locals())
@@ -1393,7 +1392,7 @@ class VMOps(object):
def get_info(self, instance):
"""Return data about VM instance."""
- vm_ref = self._get_vm_opaque_ref(instance)
+ vm_ref = self._get_vm_opaque_ref(instance['name'])
vm_rec = self._session.call_xenapi("VM.get_record", vm_ref)
return VMHelper.compile_info(vm_rec)
diff --git a/nova/virt/xenapi_conn.py b/nova/virt/xenapi_conn.py
index 77efb34e3..1f308e5a5 100644
--- a/nova/virt/xenapi_conn.py
+++ b/nova/virt/xenapi_conn.py
@@ -314,9 +314,9 @@ class XenAPIConnection(driver.ComputeDriver):
"""Unplug VIFs from networks."""
self._vmops.unplug_vifs(instance_ref, network_info)
- def get_info(self, instance_name):
+ def get_info(self, instance):
"""Return data about VM instance"""
- return self._vmops.get_info(instance_name)
+ return self._vmops.get_info(instance)
def get_diagnostics(self, instance):
"""Return data about VM diagnostics"""