summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Stygstra <david.stygstra@gmail.com>2015-06-30 09:45:29 -0400
committerDavid Stygstra <david.stygstra@gmail.com>2015-06-30 09:45:29 -0400
commit2b9d5945f4709526b0c0aefe0e6411b6dbd9cb1a (patch)
tree42a048f64c1baabba088294ad9556078ac40bf7c
parentc4880b4b6133d507b76fe0db842a6f22dabb7453 (diff)
downloadopenstack-ansible-modules-2b9d5945f4709526b0c0aefe0e6411b6dbd9cb1a.tar.gz
Support deletion of Keystone services/endpoints
-rw-r--r--keystone_service18
1 files changed, 16 insertions, 2 deletions
diff --git a/keystone_service b/keystone_service
index aa4302d..69d3997 100644
--- a/keystone_service
+++ b/keystone_service
@@ -199,12 +199,26 @@ def ensure_endpoint_present(keystone, name, public_url, internal_url,
def ensure_service_absent(keystone, name, check_mode):
""" Ensure the service is absent"""
+ try:
+ service = get_service(keystone, name)
+ if not check_mode:
+ keystone.services.delete(service.id)
+ return True
+ except KeyError:
+ # Service doesn't exist, so we're done.
+ return False
- raise NotImplementedError()
def ensure_endpoint_absent(keystone, name, check_mode):
""" Ensure the service endpoint """
- raise NotImplementedError()
+ try:
+ endpoint = get_endpoint(keystone, name)
+ if not check_mode:
+ keystone.endpoints.delete(endpoint.id)
+ return True
+ except KeyError:
+ # Endpoint doesn't exist, so we're done.
+ return False
def dispatch(keystone, name, service_type, description, public_url,