diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-02-23 00:21:57 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-02-23 00:21:57 +0000 |
| commit | 6166b73a50270c617d1dc7e36cfe095d0eeeef3f (patch) | |
| tree | 7a01e335d9ba3a890c90bb0493898171cfb111c4 /nova/virt | |
| parent | 08fa534a0d28fa1be48aef927584161becb936c7 (diff) | |
| parent | 112dd3c1b824097acf5f89cd3afa8785623e4f9e (diff) | |
Merge "Move get_info to taking an instance."
Diffstat (limited to 'nova/virt')
| -rw-r--r-- | nova/virt/baremetal/proxy.py | 4 | ||||
| -rw-r--r-- | nova/virt/driver.py | 2 | ||||
| -rw-r--r-- | nova/virt/fake.py | 8 | ||||
| -rw-r--r-- | nova/virt/libvirt/connection.py | 38 | ||||
| -rw-r--r-- | nova/virt/vmwareapi/vmops.py | 6 | ||||
| -rw-r--r-- | nova/virt/vmwareapi_conn.py | 4 | ||||
| -rw-r--r-- | nova/virt/xenapi/vmops.py | 7 | ||||
| -rw-r--r-- | nova/virt/xenapi_conn.py | 4 |
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""" |
