summaryrefslogtreecommitdiffstats
path: root/yardstick/common
diff options
context:
space:
mode:
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-04-26 09:04:28 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-04-26 09:04:28 +0000
commitbaa993c26c9d9163e4fbabb4d4d683dc4fbd606a (patch)
tree918de584b3b9a61d5d881ea5071fc5cabb85ebbc /yardstick/common
parente6f8f286aa18d30b1b3eb09391bf8e8f6f08c672 (diff)
parent05f97c4e4ce1e8c7c97cda16f12215e663a13c23 (diff)
Merge "Replace nova delete instance with shade client."
Diffstat (limited to 'yardstick/common')
-rw-r--r--yardstick/common/exceptions.py4
-rw-r--r--yardstick/common/openstack_utils.py28
2 files changed, 25 insertions, 7 deletions
diff --git a/yardstick/common/exceptions.py b/yardstick/common/exceptions.py
index 521c2ee22..694536a37 100644
--- a/yardstick/common/exceptions.py
+++ b/yardstick/common/exceptions.py
@@ -194,3 +194,7 @@ class ScenarioDeleteNetworkError(YardstickException):
class ScenarioCreateServerError(YardstickException):
message = 'Nova Create Server Scenario failed'
+
+
+class ScenarioDeleteServerError(YardstickException):
+ message = 'Delete Server Scenario failed'
diff --git a/yardstick/common/openstack_utils.py b/yardstick/common/openstack_utils.py
index c2ef26795..e542a1d07 100644
--- a/yardstick/common/openstack_utils.py
+++ b/yardstick/common/openstack_utils.py
@@ -351,15 +351,29 @@ def attach_server_volume(server_id, volume_id,
return True
-def delete_instance(nova_client, instance_id): # pragma: no cover
+def delete_instance(shade_client, name_or_id, wait=False, timeout=180,
+ delete_ips=False, delete_ip_retry=1):
+ """Delete a server instance.
+
+ :param name_or_id: name or ID of the server to delete
+ :param wait:(bool) If true, waits for server to be deleted.
+ :param timeout:(int) Seconds to wait for server deletion.
+ :param delete_ips:(bool) If true, deletes any floating IPs associated with
+ the instance.
+ :param delete_ip_retry:(int) Number of times to retry deleting
+ any floating ips, should the first try be
+ unsuccessful.
+ :returns: True if delete succeeded, False otherwise.
+ """
try:
- nova_client.servers.force_delete(instance_id)
- except Exception: # pylint: disable=broad-except
- log.exception("Error [delete_instance(nova_client, '%s')]",
- instance_id)
+ return shade_client.delete_server(
+ name_or_id, wait=wait, timeout=timeout, delete_ips=delete_ips,
+ delete_ip_retry=delete_ip_retry)
+ except exc.OpenStackCloudException as o_exc:
+ log.error("Error [delete_instance(shade_client, '%s')]. "
+ "Exception message: %s", name_or_id,
+ o_exc.orig_message)
return False
- else:
- return True
def remove_host_from_aggregate(nova_client, aggregate_name,