diff options
author | Shobhi Jain <shobhi.jain@intel.com> | 2018-03-26 14:56:59 +0100 |
---|---|---|
committer | Emma Foley <emma.l.foley@intel.com> | 2018-06-27 17:06:33 +0100 |
commit | e2c368c1611d144fa590e21412157b932036e1be (patch) | |
tree | f41c6795448ef6c25b16c7c69d123a9e59a9c012 /yardstick/common | |
parent | 1aa3ef50cb80af035e208cbd5eca784bbedb6322 (diff) |
Replace nova delete instance with shade client.
Function delete_instance now uses shade client.
JIRA: YARDSTICK-1088
Change-Id: I5772a74c6dc2d103edd410042a8eaf721d1bcc5c
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
(cherry picked from commit 05f97c4e4ce1e8c7c97cda16f12215e663a13c23)
Diffstat (limited to 'yardstick/common')
-rw-r--r-- | yardstick/common/exceptions.py | 4 | ||||
-rw-r--r-- | yardstick/common/openstack_utils.py | 28 |
2 files changed, 25 insertions, 7 deletions
diff --git a/yardstick/common/exceptions.py b/yardstick/common/exceptions.py index 219d03951..fa9217921 100644 --- a/yardstick/common/exceptions.py +++ b/yardstick/common/exceptions.py @@ -222,6 +222,10 @@ class ScenarioCreateServerError(YardstickException): message = 'Nova Create Server Scenario failed' +class ScenarioDeleteServerError(YardstickException): + message = 'Delete Server Scenario failed' + + class ApiServerError(YardstickException): message = 'An unkown exception happened to Api Server!' 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, |