summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-26 00:53:31 +0000
committerGerrit Code Review <review@openstack.org>2012-11-26 00:53:31 +0000
commita42ebf01f6c321a851ddea337bc7365abff2f1d2 (patch)
tree2d2230a04841a361afbd5a360bd63964b0647440 /nova/virt
parentb0e8189246b66a6943f6abfc17a61efe04dfb39b (diff)
parent99b5e96795b8475f14d53bbc3845e7bace730963 (diff)
Merge "Allow VMs to be resumed after a hypervisor reboot"
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/driver.py2
-rw-r--r--nova/virt/fake.py2
-rw-r--r--nova/virt/hyperv/driver.py2
-rw-r--r--nova/virt/libvirt/driver.py8
-rw-r--r--nova/virt/powervm/driver.py2
-rw-r--r--nova/virt/vmwareapi/driver.py2
-rw-r--r--nova/virt/xenapi/driver.py2
7 files changed, 11 insertions, 9 deletions
diff --git a/nova/virt/driver.py b/nova/virt/driver.py
index d64659e58..c64ea5d0f 100644
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -325,7 +325,7 @@ class ComputeDriver(object):
# TODO(Vek): Need to pass context in for access to auth_token
raise NotImplementedError()
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
"""resume the specified instance"""
# TODO(Vek): Need to pass context in for access to auth_token
raise NotImplementedError()
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index eb3d584d6..4f78175f2 100644
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -187,7 +187,7 @@ class FakeDriver(driver.ComputeDriver):
def suspend(self, instance):
pass
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
pass
def destroy(self, instance, network_info, block_device_info=None):
diff --git a/nova/virt/hyperv/driver.py b/nova/virt/hyperv/driver.py
index e62845b5b..3b0539159 100644
--- a/nova/virt/hyperv/driver.py
+++ b/nova/virt/hyperv/driver.py
@@ -147,7 +147,7 @@ class HyperVDriver(driver.ComputeDriver):
def suspend(self, instance):
self._vmops.suspend(instance)
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
self._vmops.resume(instance)
def power_off(self, instance):
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 69e4921bc..442a54d12 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -1000,10 +1000,12 @@ class LibvirtDriver(driver.ComputeDriver):
dom.managedSave(0)
@exception.wrap_exception()
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
"""resume the specified instance"""
- dom = self._lookup_by_name(instance['name'])
- self._create_domain(domain=dom)
+ xml = self._get_domain_xml(instance, network_info,
+ block_device_info=None)
+ self._create_domain_and_network(xml, instance, network_info,
+ block_device_info)
@exception.wrap_exception()
def resume_state_on_host_boot(self, context, instance, network_info,
diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py
index 5c3c1c5df..b43cf091c 100644
--- a/nova/virt/powervm/driver.py
+++ b/nova/virt/powervm/driver.py
@@ -128,7 +128,7 @@ class PowerVMDriver(driver.ComputeDriver):
"""suspend the specified instance"""
pass
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
"""resume the specified instance"""
pass
diff --git a/nova/virt/vmwareapi/driver.py b/nova/virt/vmwareapi/driver.py
index 0af3d9d02..ee97416ec 100644
--- a/nova/virt/vmwareapi/driver.py
+++ b/nova/virt/vmwareapi/driver.py
@@ -155,7 +155,7 @@ class VMWareESXDriver(driver.ComputeDriver):
"""Suspend the specified instance."""
self._vmops.suspend(instance)
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
"""Resume the suspended VM instance."""
self._vmops.resume(instance)
diff --git a/nova/virt/xenapi/driver.py b/nova/virt/xenapi/driver.py
index 8840a561e..d66c775c9 100644
--- a/nova/virt/xenapi/driver.py
+++ b/nova/virt/xenapi/driver.py
@@ -256,7 +256,7 @@ class XenAPIDriver(driver.ComputeDriver):
"""suspend the specified instance"""
self._vmops.suspend(instance)
- def resume(self, instance):
+ def resume(self, instance, network_info, block_device_info=None):
"""resume the specified instance"""
self._vmops.resume(instance)