From 62c55bc2f0f13630db6d9962ae0edf468f495276 Mon Sep 17 00:00:00 2001 From: Dolph Mathews Date: Wed, 10 Oct 2012 07:38:27 +0000 Subject: Enable/disable services/endpoints (bug 1048662) Change-Id: I664b7f7dfa281a4481bfc37eab0948a901f1c0c5 --- keystoneclient/v3/endpoints.py | 18 ++++++++++++------ keystoneclient/v3/services.py | 7 +++++-- tests/v3/test_endpoints.py | 1 + tests/v3/test_services.py | 1 + 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/keystoneclient/v3/endpoints.py b/keystoneclient/v3/endpoints.py index ff4a678..c13313d 100644 --- a/keystoneclient/v3/endpoints.py +++ b/keystoneclient/v3/endpoints.py @@ -29,6 +29,7 @@ class Endpoint(base.Resource): * region: geographic location of the endpoint * service_id: service to which the endpoint belongs * url: fully qualified service endpoint + * enabled: determines whether the endpoint appears in the catalog """ pass @@ -46,34 +47,39 @@ class EndpointManager(base.CrudManager): msg = msg % ', '.join(VALID_INTERFACES) raise Exception(msg) - def create(self, service, url, name=None, interface=None, region=None): + def create(self, service, url, name=None, interface=None, region=None, + enabled=True): self._validate_interface(interface) return super(EndpointManager, self).create( service_id=base.getid(service), interface=interface, url=url, - region=region) + region=region, + enabled=enabled) def get(self, endpoint): return super(EndpointManager, self).get( endpoint_id=base.getid(endpoint)) - def list(self, service=None, name=None, interface=None, region=None): + def list(self, service=None, name=None, interface=None, region=None, + enabled=None): self._validate_interface(interface) return super(EndpointManager, self).list( service_id=base.getid(service), interface=interface, - region=region) + region=region, + enabled=enabled) def update(self, endpoint, service=None, url=None, name=None, - interface=None, region=None): + interface=None, region=None, enabled=None): self._validate_interface(interface) return super(EndpointManager, self).update( endpoint_id=base.getid(endpoint), service_id=base.getid(service), interface=interface, url=url, - region=region) + region=region, + enabled=enabled) def delete(self, endpoint): return super(EndpointManager, self).delete( diff --git a/keystoneclient/v3/services.py b/keystoneclient/v3/services.py index 900543b..d2134d4 100644 --- a/keystoneclient/v3/services.py +++ b/keystoneclient/v3/services.py @@ -24,6 +24,7 @@ class Service(base.Resource): * id: a uuid that identifies the service * name: user-facing name of the service (e.g. Keystone) * type: 'compute', 'identity', etc + * enabled: determines whether the service appears in the catalog """ pass @@ -35,21 +36,23 @@ class ServiceManager(base.CrudManager): collection_key = 'services' key = 'service' - def create(self, name, type, **kwargs): + def create(self, name, type, enabled=True, **kwargs): return super(ServiceManager, self).create( name=name, type=type, + enabled=enabled, **kwargs) def get(self, service): return super(ServiceManager, self).get( service_id=base.getid(service)) - def update(self, service, name=None, type=None, **kwargs): + def update(self, service, name=None, type=None, enabled=None, **kwargs): return super(ServiceManager, self).update( service_id=base.getid(service), name=name, type=type, + enabled=enabled, **kwargs) def delete(self, service): diff --git a/tests/v3/test_endpoints.py b/tests/v3/test_endpoints.py index f0a6e42..d428b91 100644 --- a/tests/v3/test_endpoints.py +++ b/tests/v3/test_endpoints.py @@ -19,6 +19,7 @@ class EndpointTests(utils.TestCase, utils.CrudTests): kwargs.setdefault('region', uuid.uuid4().hex) kwargs.setdefault('service_id', uuid.uuid4().hex) kwargs.setdefault('url', uuid.uuid4().hex) + kwargs.setdefault('enabled', True) return kwargs def test_create_public_interface(self): diff --git a/tests/v3/test_services.py b/tests/v3/test_services.py index bc8a503..545e84e 100644 --- a/tests/v3/test_services.py +++ b/tests/v3/test_services.py @@ -17,4 +17,5 @@ class ServiceTests(utils.TestCase, utils.CrudTests): kwargs = super(ServiceTests, self).new_ref(**kwargs) kwargs.setdefault('name', uuid.uuid4().hex) kwargs.setdefault('type', uuid.uuid4().hex) + kwargs.setdefault('enabled', True) return kwargs -- cgit v1.2.1