diff options
Diffstat (limited to 'nova/tests/functional/integrated_helpers.py')
-rw-r--r-- | nova/tests/functional/integrated_helpers.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/nova/tests/functional/integrated_helpers.py b/nova/tests/functional/integrated_helpers.py index 91d99d7ec8..cdf71da0d4 100644 --- a/nova/tests/functional/integrated_helpers.py +++ b/nova/tests/functional/integrated_helpers.py @@ -598,7 +598,7 @@ class InstanceHelperMixin: def _evacuate_server( self, server, extra_post_args=None, expected_host=None, - expected_state='ACTIVE', expected_task_state=NOT_SPECIFIED, + expected_state='SHUTOFF', expected_task_state=NOT_SPECIFIED, expected_migration_status='done'): """Evacuate a server.""" api = getattr(self, 'admin_api', self.api) @@ -633,6 +633,13 @@ class InstanceHelperMixin: return self._wait_for_state_change(server, 'SHUTOFF') return server + def _snapshot_server(self, server, snapshot_name): + """Create server snapshot.""" + self.api.post_server_action( + server['id'], + {'createImage': {'name': snapshot_name}} + ) + class PlacementHelperMixin: """A helper mixin for interacting with placement.""" @@ -869,6 +876,20 @@ class PlacementHelperMixin: 'Test expected a single migration but found %i' % len(migrations)) return migrations[0].uuid + def _reserve_placement_resource(self, rp_name, rc_name, reserved): + rp_uuid = self._get_provider_uuid_by_name(rp_name) + inv = self.placement.get( + '/resource_providers/%s/inventories/%s' % (rp_uuid, rc_name), + version='1.26' + ).body + inv["reserved"] = reserved + result = self.placement.put( + '/resource_providers/%s/inventories/%s' % (rp_uuid, rc_name), + version='1.26', body=inv + ).body + self.assertEqual(reserved, result["reserved"]) + return result + class PlacementInstanceHelperMixin(InstanceHelperMixin, PlacementHelperMixin): """A placement-aware variant of InstanceHelperMixin.""" |