Enable multi tenant for k8s resource get_xxx_list
1) get_pdod_list 2) get_service_list 3) get_rc_list Implements part of bp multi-tenant Change-Id: I40cefd7f4f637808afbcf172a5d98fddee066f2b
This commit is contained in:
parent
de93db51b9
commit
150139321a
|
@ -342,13 +342,14 @@ class Connection(object):
|
|||
:raises: NodeNotFound
|
||||
"""
|
||||
@abc.abstractmethod
|
||||
def get_pod_list(self, columns=None, filters=None, limit=None,
|
||||
def get_pod_list(self, context, columns=None, filters=None, limit=None,
|
||||
marker=None, sort_key=None, sort_dir=None):
|
||||
"""Get specific columns for matching pods.
|
||||
|
||||
Return a list of the specified columns for all pods that match the
|
||||
specified filters.
|
||||
|
||||
:param context: The security context
|
||||
:param columns: List of column names to return.
|
||||
Defaults to 'id' column when columns == None.
|
||||
:param filters: Filters to apply. Defaults to None.
|
||||
|
@ -430,13 +431,14 @@ class Connection(object):
|
|||
"""
|
||||
|
||||
@abc.abstractmethod
|
||||
def get_service_list(self, columns=None, filters=None, limit=None,
|
||||
def get_service_list(self, context, columns=None, filters=None, limit=None,
|
||||
marker=None, sort_key=None, sort_dir=None):
|
||||
"""Get specific columns for matching services.
|
||||
|
||||
Return a list of the specified columns for all services that match the
|
||||
specified filters.
|
||||
|
||||
:param context: The security context
|
||||
:param columns: List of column names to return.
|
||||
Defaults to 'id' column when columns == None.
|
||||
:param filters: Filters to apply. Defaults to None.
|
||||
|
@ -511,13 +513,14 @@ class Connection(object):
|
|||
"""
|
||||
|
||||
@abc.abstractmethod
|
||||
def get_rc_list(self, columns=None, filters=None, limit=None,
|
||||
def get_rc_list(self, context, columns=None, filters=None, limit=None,
|
||||
marker=None, sort_key=None, sort_dir=None):
|
||||
"""Get specific columns for matching ReplicationController.
|
||||
|
||||
Return a list of the specified columns for all rcs that match the
|
||||
specified filters.
|
||||
|
||||
:param context: The security context
|
||||
:param columns: List of column names to return.
|
||||
Defaults to 'id' column when columns == None.
|
||||
:param filters: Filters to apply. Defaults to None.
|
||||
|
|
|
@ -617,9 +617,10 @@ class Connection(api.Connection):
|
|||
return _paginate_query(models.Pod, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
||||
def get_pod_list(self, filters=None, limit=None, marker=None,
|
||||
def get_pod_list(self, context, filters=None, limit=None, marker=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
query = model_query(models.Pod)
|
||||
query = self._add_tenant_filters(context, query)
|
||||
query = self._add_pods_filters(query, filters)
|
||||
return _paginate_query(models.Pod, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
@ -729,9 +730,10 @@ class Connection(api.Connection):
|
|||
return _paginate_query(models.Service, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
||||
def get_service_list(self, filters=None, limit=None, marker=None,
|
||||
def get_service_list(self, context, filters=None, limit=None, marker=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
query = model_query(models.Service)
|
||||
query = self._add_tenant_filters(context, query)
|
||||
query = self._add_services_filters(query, filters)
|
||||
return _paginate_query(models.Service, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
@ -831,9 +833,10 @@ class Connection(api.Connection):
|
|||
return _paginate_query(models.ReplicationController, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
||||
def get_rc_list(self, filters=None, limit=None, marker=None,
|
||||
def get_rc_list(self, context, filters=None, limit=None, marker=None,
|
||||
sort_key=None, sort_dir=None):
|
||||
query = model_query(models.ReplicationController)
|
||||
query = self._add_tenant_filters(context, query)
|
||||
query = self._add_rcs_filters(query, filters)
|
||||
return _paginate_query(models.ReplicationController, limit, marker,
|
||||
sort_key, sort_dir, query)
|
||||
|
|
|
@ -133,7 +133,7 @@ class Pod(base.MagnumObject):
|
|||
:returns: a list of :class:`Pod` object.
|
||||
|
||||
"""
|
||||
db_pods = cls.dbapi.get_pod_list(limit=limit,
|
||||
db_pods = cls.dbapi.get_pod_list(context, limit=limit,
|
||||
marker=marker,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir)
|
||||
|
|
|
@ -126,7 +126,7 @@ class ReplicationController(base.MagnumObject):
|
|||
:returns: a list of :class:`ReplicationController` object.
|
||||
|
||||
"""
|
||||
db_rcs = cls.dbapi.get_rc_list(limit=limit,
|
||||
db_rcs = cls.dbapi.get_rc_list(context, limit=limit,
|
||||
marker=marker,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir)
|
||||
|
|
|
@ -122,7 +122,7 @@ class Service(base.MagnumObject):
|
|||
:returns: a list of :class:`Service` object.
|
||||
|
||||
"""
|
||||
db_services = cls.dbapi.get_service_list(limit=limit,
|
||||
db_services = cls.dbapi.get_service_list(context, limit=limit,
|
||||
marker=marker,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir)
|
||||
|
|
|
@ -127,7 +127,7 @@ class DbPodTestCase(base.DbTestCase):
|
|||
pod = utils.create_test_pod(uuid=magnum_utils.generate_uuid(),
|
||||
bay_uuid=self.bay.uuid)
|
||||
uuids.append(six.text_type(pod.uuid))
|
||||
res = self.dbapi.get_pod_list()
|
||||
res = self.dbapi.get_pod_list(self.context)
|
||||
res_uuids = [r.uuid for r in res]
|
||||
self.assertEqual(sorted(uuids), sorted(res_uuids))
|
||||
|
||||
|
@ -146,28 +146,35 @@ class DbPodTestCase(base.DbTestCase):
|
|||
bay_uuid=bay2['uuid'],
|
||||
status='status2')
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'bay_uuid': bay1['uuid']})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'bay_uuid': bay1['uuid']})
|
||||
self.assertEqual([pod1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'bay_uuid': bay2['uuid']})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'bay_uuid': bay2['uuid']})
|
||||
self.assertEqual([pod2.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'name': 'pod-one'})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'name': 'pod-one'})
|
||||
self.assertEqual([pod1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'name': 'bad-pod'})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'name': 'bad-pod'})
|
||||
self.assertEqual([], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'status': 'status1'})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'status': 'status1'})
|
||||
self.assertEqual([pod1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_pod_list(filters={'status': 'status2'})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
filters={'status': 'status2'})
|
||||
self.assertEqual([pod2.id], [r.id for r in res])
|
||||
|
||||
def test_get_pod_list_bay_not_exist(self):
|
||||
res = self.dbapi.get_pod_list({'bay_uuid': self.bay.uuid})
|
||||
res = self.dbapi.get_pod_list(self.context,
|
||||
{'bay_uuid': self.bay.uuid})
|
||||
self.assertEqual(1, len(res))
|
||||
res = self.dbapi.get_pod_list({
|
||||
res = self.dbapi.get_pod_list(self.context, {
|
||||
'bay_uuid': magnum_utils.generate_uuid()})
|
||||
self.assertEqual(0, len(res))
|
||||
|
||||
|
|
|
@ -118,14 +118,15 @@ class DbRCTestCase(base.DbTestCase):
|
|||
rc = utils.create_test_rc(bay_uuid=self.bay.uuid,
|
||||
uuid=magnum_utils.generate_uuid())
|
||||
uuids.append(six.text_type(rc.uuid))
|
||||
rc = self.dbapi.get_rc_list()
|
||||
rc = self.dbapi.get_rc_list(self.context)
|
||||
rc_uuids = [r.uuid for r in rc]
|
||||
self.assertEqual(sorted(uuids), sorted(rc_uuids))
|
||||
|
||||
def test_get_rc_list_bay_not_exist(self):
|
||||
rc = self.dbapi.get_rc_list({'bay_uuid': self.bay.uuid})
|
||||
rc = self.dbapi.get_rc_list(self.context,
|
||||
{'bay_uuid': self.bay.uuid})
|
||||
self.assertEqual(1, len(rc))
|
||||
rc = self.dbapi.get_rc_list({
|
||||
rc = self.dbapi.get_rc_list(self.context, {
|
||||
'bay_uuid': magnum_utils.generate_uuid()})
|
||||
self.assertEqual(0, len(rc))
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ class DbServiceTestCase(base.DbTestCase):
|
|||
service = utils.create_test_service(bay_uuid=self.bay.uuid,
|
||||
uuid=magnum_utils.generate_uuid())
|
||||
uuids.append(six.text_type(service.uuid))
|
||||
res = self.dbapi.get_service_list()
|
||||
res = self.dbapi.get_service_list(self.context)
|
||||
res_uuids = [r.uuid for r in res]
|
||||
self.assertEqual(sorted(uuids), sorted(res_uuids))
|
||||
|
||||
|
@ -140,28 +140,35 @@ class DbServiceTestCase(base.DbTestCase):
|
|||
bay_uuid=bay2['uuid'],
|
||||
port=8001)
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'bay_uuid': bay1['uuid']})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'bay_uuid': bay1['uuid']})
|
||||
self.assertEqual([service1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'bay_uuid': bay2['uuid']})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'bay_uuid': bay2['uuid']})
|
||||
self.assertEqual([service2.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'name': 'service-one'})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'name': 'service-one'})
|
||||
self.assertEqual([service1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'name': 'bad-service'})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'name': 'bad-service'})
|
||||
self.assertEqual([], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'port': 8000})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'port': 8000})
|
||||
self.assertEqual([service1.id], [r.id for r in res])
|
||||
|
||||
res = self.dbapi.get_service_list(filters={'port': 8001})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
filters={'port': 8001})
|
||||
self.assertEqual([service2.id], [r.id for r in res])
|
||||
|
||||
def test_get_service_list_bay_not_exist(self):
|
||||
res = self.dbapi.get_service_list({'bay_uuid': self.bay.uuid})
|
||||
res = self.dbapi.get_service_list(self.context,
|
||||
{'bay_uuid': self.bay.uuid})
|
||||
self.assertEqual(1, len(res))
|
||||
res = self.dbapi.get_service_list({
|
||||
res = self.dbapi.get_service_list(self.context, {
|
||||
'bay_uuid': magnum_utils.generate_uuid()})
|
||||
self.assertEqual(0, len(res))
|
||||
|
||||
|
|
Loading…
Reference in New Issue