summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Morrison <sorrison@gmail.com>2013-05-07 12:07:53 +1000
committerSam Morrison <sorrison@gmail.com>2013-05-22 16:37:34 +1000
commit6682d1617e7085c8f956ff6b23ea6932ec986a3e (patch)
tree7bb7f3be12652fb46a13a7f30f9e31c7e31440f5
parent70638961bca3b479124910522f21ff12e55fbadd (diff)
downloadnova-6682d1617e7085c8f956ff6b23ea6932ec986a3e.tar.gz
nova-6682d1617e7085c8f956ff6b23ea6932ec986a3e.tar.xz
nova-6682d1617e7085c8f956ff6b23ea6932ec986a3e.zip
Adds live migration support to cells API
Fixes bug 1153087 DocImpact: Cells now allows live migration within a cell, but not between cells. Change-Id: Ic8777c376883eaf6ff9cb4b379e0bacbfe5635b7
-rw-r--r--nova/compute/cells_api.py10
-rw-r--r--nova/tests/compute/test_compute_cells.py3
2 files changed, 10 insertions, 3 deletions
diff --git a/nova/compute/cells_api.py b/nova/compute/cells_api.py
index 7168313ec..4beeaeb3d 100644
--- a/nova/compute/cells_api.py
+++ b/nova/compute/cells_api.py
@@ -559,6 +559,16 @@ class ComputeCellsAPI(compute_api.API):
pass
return rv
+ @validate_cell
+ def live_migrate(self, context, instance, block_migration,
+ disk_over_commit, host_name):
+ """Migrate a server lively to a new host."""
+ super(ComputeCellsAPI, self).live_migrate(context,
+ instance, block_migration, disk_over_commit, host_name)
+
+ self._cast_to_cells(context, instance, 'live_migrate',
+ block_migration, disk_over_commit, host_name)
+
class HostAPI(compute_api.HostAPI):
"""HostAPI() class for cells.
diff --git a/nova/tests/compute/test_compute_cells.py b/nova/tests/compute/test_compute_cells.py
index 40ae4e3de..ad4e6c754 100644
--- a/nova/tests/compute/test_compute_cells.py
+++ b/nova/tests/compute/test_compute_cells.py
@@ -145,9 +145,6 @@ class CellsComputeAPITestCase(test_compute.ComputeAPITestCase):
def test_instance_metadata(self):
self.skipTest("Test is incompatible with cells.")
- def test_live_migrate(self):
- self.skipTest("Test is incompatible with cells.")
-
def test_snapshot_given_image_uuid(self):
self.skipTest("Test doesn't apply to API cell.")