From 8752815407130131965915af20137e43f89b6962 Mon Sep 17 00:00:00 2001 From: Igor Malinovskiy Date: Fri, 2 Jan 2015 12:45:21 +0200 Subject: [PATCH] Add service id to information provided by API Currently API doesn't provide service id. Adding this information gives the opportunity to identify backends with same names running on the same host. Add service id to information returned by index() method of ServiceController (same as it is implemented in Nova). Partially implements bp manage-shares Change-Id: I9128a3f2a98635f35bdd39718344ba4e8e5f325d --- contrib/tempest/tempest/api/share/admin/test_services.py | 3 +++ manila/api/contrib/services.py | 1 + manila/tests/api/contrib/test_services.py | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/contrib/tempest/tempest/api/share/admin/test_services.py b/contrib/tempest/tempest/api/share/admin/test_services.py index b220a7b0a6..4a284f69f5 100644 --- a/contrib/tempest/tempest/api/share/admin/test_services.py +++ b/contrib/tempest/tempest/api/share/admin/test_services.py @@ -29,6 +29,9 @@ class ServicesAdminTest(base.BaseSharesAdminTest): self.assertIn(int(resp["status"]), test.HTTP_SUCCESS) self.assertNotEqual(0, len(services)) + for service in services: + self.assertIsNotNone(service['id']) + @test.attr(type=["gate", "smoke", ]) def test_get_services_by_host_name(self): host = self.services[0]["host"] diff --git a/manila/api/contrib/services.py b/manila/api/contrib/services.py index 33b4521d36..c0c9bbdef9 100644 --- a/manila/api/contrib/services.py +++ b/manila/api/contrib/services.py @@ -64,6 +64,7 @@ class ServiceController(object): services = [] for service in all_services: service = { + 'id': service['id'], 'binary': service['binary'], 'host': service['host'], 'zone': service['availability_zone'], diff --git a/manila/tests/api/contrib/test_services.py b/manila/tests/api/contrib/test_services.py index 216152a95e..b56bccb33e 100644 --- a/manila/tests/api/contrib/test_services.py +++ b/manila/tests/api/contrib/test_services.py @@ -68,6 +68,7 @@ fake_services_list = [ fake_response_service_list = {'services': [ { + 'id': 1, 'binary': 'manila-scheduler', 'host': 'host1', 'zone': 'manila1', @@ -75,6 +76,7 @@ fake_response_service_list = {'services': [ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2), }, { + 'id': 2, 'binary': 'manila-share', 'host': 'host1', 'zone': 'manila1', @@ -83,6 +85,7 @@ fake_response_service_list = {'services': [ 'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5), }, { + 'id': 3, 'binary': 'manila-scheduler', 'host': 'host2', 'zone': 'manila2', @@ -91,6 +94,7 @@ fake_response_service_list = {'services': [ 'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34), }, { + 'id': 4, 'binary': 'manila-share', 'host': 'host2', 'zone': 'manila2',