From 2b9d5945f4709526b0c0aefe0e6411b6dbd9cb1a Mon Sep 17 00:00:00 2001 From: David Stygstra Date: Tue, 30 Jun 2015 09:45:29 -0400 Subject: Support deletion of Keystone services/endpoints --- keystone_service | 18 ++++++++++++++++-- 1 file 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, -- cgit v1.2.1