Enable multi tenant for get_xxx_by_id
The updated API include the following: 1) get_bay_by_id 2) get_baymodel_by_id 3) get_node_by_id 4) get_container_by_id Implements part of bp multi-tenant Change-Id: I7d2f8b7ea361b38d6f0110772c10f93037c7aefb
This commit is contained in:
parent
003d5a199b
commit
c182dadb17
|
@ -83,9 +83,10 @@ class Connection(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def get_bay_by_id(self, bay_id):
|
def get_bay_by_id(self, ctxt, bay_id):
|
||||||
"""Return a bay.
|
"""Return a bay.
|
||||||
|
|
||||||
|
:param ctxt: The security context
|
||||||
:param bay_id: The id of a bay.
|
:param bay_id: The id of a bay.
|
||||||
:returns: A bay.
|
:returns: A bay.
|
||||||
"""
|
"""
|
||||||
|
@ -157,9 +158,10 @@ class Connection(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def get_baymodel_by_id(self, baymodel_id):
|
def get_baymodel_by_id(self, ctxt, baymodel_id):
|
||||||
"""Return a baymodel.
|
"""Return a baymodel.
|
||||||
|
|
||||||
|
:param ctxt: The security context
|
||||||
:param baymodel_id: The id of a baymodel.
|
:param baymodel_id: The id of a baymodel.
|
||||||
:returns: A baymodel.
|
:returns: A baymodel.
|
||||||
"""
|
"""
|
||||||
|
@ -232,9 +234,10 @@ class Connection(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def get_container_by_id(self, container_id):
|
def get_container_by_id(self, ctxt, container_id):
|
||||||
"""Return a container.
|
"""Return a container.
|
||||||
|
|
||||||
|
:param ctxt: The security context
|
||||||
:param container_id: The id of a container.
|
:param container_id: The id of a container.
|
||||||
:returns: A container.
|
:returns: A container.
|
||||||
"""
|
"""
|
||||||
|
@ -305,9 +308,10 @@ class Connection(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def get_node_by_id(self, node_id):
|
def get_node_by_id(self, ctxt, node_id):
|
||||||
"""Return a node.
|
"""Return a node.
|
||||||
|
|
||||||
|
:param ctxt: The security context
|
||||||
:param node_id: The id of a node.
|
:param node_id: The id of a node.
|
||||||
:returns: A node.
|
:returns: A node.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -173,8 +173,10 @@ class Connection(api.Connection):
|
||||||
raise exception.BayAlreadyExists(uuid=values['uuid'])
|
raise exception.BayAlreadyExists(uuid=values['uuid'])
|
||||||
return bay
|
return bay
|
||||||
|
|
||||||
def get_bay_by_id(self, bay_id):
|
def get_bay_by_id(self, ctxt, bay_id):
|
||||||
query = model_query(models.Bay).filter_by(id=bay_id)
|
query = model_query(models.Bay)
|
||||||
|
query = self._add_tenant_filters(ctxt, query)
|
||||||
|
query = query.filter_by(id=bay_id)
|
||||||
try:
|
try:
|
||||||
return query.one()
|
return query.one()
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
|
@ -308,8 +310,10 @@ class Connection(api.Connection):
|
||||||
raise exception.BayModelAlreadyExists(uuid=values['uuid'])
|
raise exception.BayModelAlreadyExists(uuid=values['uuid'])
|
||||||
return baymodel
|
return baymodel
|
||||||
|
|
||||||
def get_baymodel_by_id(self, baymodel_id):
|
def get_baymodel_by_id(self, ctxt, baymodel_id):
|
||||||
query = model_query(models.BayModel).filter_by(id=baymodel_id)
|
query = model_query(models.BayModel)
|
||||||
|
query = self._add_tenant_filters(ctxt, query)
|
||||||
|
query = query.filter_by(id=baymodel_id)
|
||||||
try:
|
try:
|
||||||
return query.one()
|
return query.one()
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
|
@ -418,8 +422,10 @@ class Connection(api.Connection):
|
||||||
raise exception.ContainerAlreadyExists(uuid=values['uuid'])
|
raise exception.ContainerAlreadyExists(uuid=values['uuid'])
|
||||||
return container
|
return container
|
||||||
|
|
||||||
def get_container_by_id(self, container_id):
|
def get_container_by_id(self, ctxt, container_id):
|
||||||
query = model_query(models.Container).filter_by(id=container_id)
|
query = model_query(models.Container)
|
||||||
|
query = self._add_tenant_filters(ctxt, query)
|
||||||
|
query = query.filter_by(id=container_id)
|
||||||
try:
|
try:
|
||||||
return query.one()
|
return query.one()
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
|
@ -526,8 +532,10 @@ class Connection(api.Connection):
|
||||||
raise exception.NodeAlreadyExists(uuid=values['uuid'])
|
raise exception.NodeAlreadyExists(uuid=values['uuid'])
|
||||||
return node
|
return node
|
||||||
|
|
||||||
def get_node_by_id(self, node_id):
|
def get_node_by_id(self, ctxt, node_id):
|
||||||
query = model_query(models.Node).filter_by(id=node_id)
|
query = model_query(models.Node)
|
||||||
|
query = self._add_tenant_filters(ctxt, query)
|
||||||
|
query = query.filter_by(id=node_id)
|
||||||
try:
|
try:
|
||||||
return query.one()
|
return query.one()
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
|
|
|
@ -74,7 +74,7 @@ class Bay(base.MagnumObject):
|
||||||
:param bay_id: the id of a bay.
|
:param bay_id: the id of a bay.
|
||||||
:returns: a :class:`Bay` object.
|
:returns: a :class:`Bay` object.
|
||||||
"""
|
"""
|
||||||
db_bay = cls.dbapi.get_bay_by_id(bay_id)
|
db_bay = cls.dbapi.get_bay_by_id(context, bay_id)
|
||||||
bay = Bay._from_db_object(cls(context), db_bay)
|
bay = Bay._from_db_object(cls(context), db_bay)
|
||||||
return bay
|
return bay
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ class BayModel(base.MagnumObject):
|
||||||
:param baymodel_id: the id of a baymodel.
|
:param baymodel_id: the id of a baymodel.
|
||||||
:returns: a :class:`BayModel` object.
|
:returns: a :class:`BayModel` object.
|
||||||
"""
|
"""
|
||||||
db_baymodel = cls.dbapi.get_baymodel_by_id(baymodel_id)
|
db_baymodel = cls.dbapi.get_baymodel_by_id(context, baymodel_id)
|
||||||
baymodel = BayModel._from_db_object(cls(context), db_baymodel)
|
baymodel = BayModel._from_db_object(cls(context), db_baymodel)
|
||||||
return baymodel
|
return baymodel
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ class Container(base.MagnumObject):
|
||||||
:param container_id: the id of a container.
|
:param container_id: the id of a container.
|
||||||
:returns: a :class:`Container` object.
|
:returns: a :class:`Container` object.
|
||||||
"""
|
"""
|
||||||
db_container = cls.dbapi.get_container_by_id(container_id)
|
db_container = cls.dbapi.get_container_by_id(context, container_id)
|
||||||
container = Container._from_db_object(cls(context), db_container)
|
container = Container._from_db_object(cls(context), db_container)
|
||||||
return container
|
return container
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ class Node(base.MagnumObject):
|
||||||
:param node_id: the id of a node.
|
:param node_id: the id of a node.
|
||||||
:returns: a :class:`Node` object.
|
:returns: a :class:`Node` object.
|
||||||
"""
|
"""
|
||||||
db_node = cls.dbapi.get_node_by_id(node_id)
|
db_node = cls.dbapi.get_node_by_id(context, node_id)
|
||||||
node = Node._from_db_object(cls(context), db_node)
|
node = Node._from_db_object(cls(context), db_node)
|
||||||
return node
|
return node
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ class DbBayTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_bay_by_id(self):
|
def test_get_bay_by_id(self):
|
||||||
bay = utils.create_test_bay()
|
bay = utils.create_test_bay()
|
||||||
res = self.dbapi.get_bay_by_id(bay.id)
|
res = self.dbapi.get_bay_by_id(self.context, bay.id)
|
||||||
self.assertEqual(bay.id, res.id)
|
self.assertEqual(bay.id, res.id)
|
||||||
self.assertEqual(bay.uuid, res.uuid)
|
self.assertEqual(bay.uuid, res.uuid)
|
||||||
|
|
||||||
|
@ -50,7 +50,8 @@ class DbBayTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_bay_that_does_not_exist(self):
|
def test_get_bay_that_does_not_exist(self):
|
||||||
self.assertRaises(exception.BayNotFound,
|
self.assertRaises(exception.BayNotFound,
|
||||||
self.dbapi.get_bay_by_id, 999)
|
self.dbapi.get_bay_by_id,
|
||||||
|
self.context, 999)
|
||||||
self.assertRaises(exception.BayNotFound,
|
self.assertRaises(exception.BayNotFound,
|
||||||
self.dbapi.get_bay_by_uuid,
|
self.dbapi.get_bay_by_uuid,
|
||||||
self.context,
|
self.context,
|
||||||
|
@ -182,10 +183,12 @@ class DbBayTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_destroy_bay(self):
|
def test_destroy_bay(self):
|
||||||
bay = utils.create_test_bay()
|
bay = utils.create_test_bay()
|
||||||
self.assertIsNotNone(self.dbapi.get_bay_by_id(bay.id))
|
self.assertIsNotNone(self.dbapi.get_bay_by_id(self.context,
|
||||||
|
bay.id))
|
||||||
self.dbapi.destroy_bay(bay.id)
|
self.dbapi.destroy_bay(bay.id)
|
||||||
self.assertRaises(exception.BayNotFound,
|
self.assertRaises(exception.BayNotFound,
|
||||||
self.dbapi.get_bay_by_id, bay.id)
|
self.dbapi.get_bay_by_id,
|
||||||
|
self.context, bay.id)
|
||||||
|
|
||||||
def test_destroy_bay_by_uuid(self):
|
def test_destroy_bay_by_uuid(self):
|
||||||
bay = utils.create_test_bay()
|
bay = utils.create_test_bay()
|
||||||
|
|
|
@ -89,7 +89,7 @@ class DbBaymodelTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_baymodel_by_id(self):
|
def test_get_baymodel_by_id(self):
|
||||||
bm = self._create_test_baymodel()
|
bm = self._create_test_baymodel()
|
||||||
baymodel = self.dbapi.get_baymodel_by_id(bm['id'])
|
baymodel = self.dbapi.get_baymodel_by_id(self.context, bm['id'])
|
||||||
self.assertEqual(bm['uuid'], baymodel.uuid)
|
self.assertEqual(bm['uuid'], baymodel.uuid)
|
||||||
|
|
||||||
def test_get_baymodel_by_uuid(self):
|
def test_get_baymodel_by_uuid(self):
|
||||||
|
@ -99,7 +99,7 @@ class DbBaymodelTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_baymodel_that_does_not_exist(self):
|
def test_get_baymodel_that_does_not_exist(self):
|
||||||
self.assertRaises(exception.BayModelNotFound,
|
self.assertRaises(exception.BayModelNotFound,
|
||||||
self.dbapi.get_baymodel_by_id, 666)
|
self.dbapi.get_baymodel_by_id, self.context, 666)
|
||||||
|
|
||||||
def test_update_baymodel(self):
|
def test_update_baymodel(self):
|
||||||
bm = self._create_test_baymodel()
|
bm = self._create_test_baymodel()
|
||||||
|
@ -120,7 +120,8 @@ class DbBaymodelTestCase(base.DbTestCase):
|
||||||
bm = self._create_test_baymodel()
|
bm = self._create_test_baymodel()
|
||||||
self.dbapi.destroy_baymodel(bm['id'])
|
self.dbapi.destroy_baymodel(bm['id'])
|
||||||
self.assertRaises(exception.BayModelNotFound,
|
self.assertRaises(exception.BayModelNotFound,
|
||||||
self.dbapi.get_baymodel_by_id, bm['id'])
|
self.dbapi.get_baymodel_by_id,
|
||||||
|
self.context, bm['id'])
|
||||||
|
|
||||||
def test_destroy_baymodel_by_uuid(self):
|
def test_destroy_baymodel_by_uuid(self):
|
||||||
uuid = magnum_utils.generate_uuid()
|
uuid = magnum_utils.generate_uuid()
|
||||||
|
|
|
@ -35,7 +35,7 @@ class DbContainerTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_container_by_id(self):
|
def test_get_container_by_id(self):
|
||||||
container = utils.create_test_container()
|
container = utils.create_test_container()
|
||||||
res = self.dbapi.get_container_by_id(container.id)
|
res = self.dbapi.get_container_by_id(self.context, container.id)
|
||||||
self.assertEqual(container.id, res.id)
|
self.assertEqual(container.id, res.id)
|
||||||
self.assertEqual(container.uuid, res.uuid)
|
self.assertEqual(container.uuid, res.uuid)
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ class DbContainerTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_container_that_does_not_exist(self):
|
def test_get_container_that_does_not_exist(self):
|
||||||
self.assertRaises(exception.ContainerNotFound,
|
self.assertRaises(exception.ContainerNotFound,
|
||||||
self.dbapi.get_container_by_id, 99)
|
self.dbapi.get_container_by_id, self.context, 99)
|
||||||
self.assertRaises(exception.ContainerNotFound,
|
self.assertRaises(exception.ContainerNotFound,
|
||||||
self.dbapi.get_container_by_uuid,
|
self.dbapi.get_container_by_uuid,
|
||||||
self.context,
|
self.context,
|
||||||
|
@ -136,7 +136,8 @@ class DbContainerTestCase(base.DbTestCase):
|
||||||
container = utils.create_test_container()
|
container = utils.create_test_container()
|
||||||
self.dbapi.destroy_container(container.id)
|
self.dbapi.destroy_container(container.id)
|
||||||
self.assertRaises(exception.ContainerNotFound,
|
self.assertRaises(exception.ContainerNotFound,
|
||||||
self.dbapi.get_container_by_id, container.id)
|
self.dbapi.get_container_by_id,
|
||||||
|
self.context, container.id)
|
||||||
|
|
||||||
def test_destroy_container_by_uuid(self):
|
def test_destroy_container_by_uuid(self):
|
||||||
container = utils.create_test_container()
|
container = utils.create_test_container()
|
||||||
|
|
|
@ -44,7 +44,7 @@ class DbNodeTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_node_by_id(self):
|
def test_get_node_by_id(self):
|
||||||
node = utils.create_test_node()
|
node = utils.create_test_node()
|
||||||
res = self.dbapi.get_node_by_id(node.id)
|
res = self.dbapi.get_node_by_id(self.context, node.id)
|
||||||
self.assertEqual(node.id, res.id)
|
self.assertEqual(node.id, res.id)
|
||||||
self.assertEqual(node.uuid, res.uuid)
|
self.assertEqual(node.uuid, res.uuid)
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ class DbNodeTestCase(base.DbTestCase):
|
||||||
|
|
||||||
def test_get_node_that_does_not_exist(self):
|
def test_get_node_that_does_not_exist(self):
|
||||||
self.assertRaises(exception.NodeNotFound,
|
self.assertRaises(exception.NodeNotFound,
|
||||||
self.dbapi.get_node_by_id, 99)
|
self.dbapi.get_node_by_id, self.context, 99)
|
||||||
self.assertRaises(exception.NodeNotFound,
|
self.assertRaises(exception.NodeNotFound,
|
||||||
self.dbapi.get_node_by_uuid,
|
self.dbapi.get_node_by_uuid,
|
||||||
self.context,
|
self.context,
|
||||||
|
@ -149,7 +149,7 @@ class DbNodeTestCase(base.DbTestCase):
|
||||||
node = utils.create_test_node()
|
node = utils.create_test_node()
|
||||||
self.dbapi.destroy_node(node.id)
|
self.dbapi.destroy_node(node.id)
|
||||||
self.assertRaises(exception.NodeNotFound,
|
self.assertRaises(exception.NodeNotFound,
|
||||||
self.dbapi.get_node_by_id, node.id)
|
self.dbapi.get_node_by_id, self.context, node.id)
|
||||||
|
|
||||||
def test_destroy_node_by_uuid(self):
|
def test_destroy_node_by_uuid(self):
|
||||||
node = utils.create_test_node()
|
node = utils.create_test_node()
|
||||||
|
|
|
@ -35,7 +35,7 @@ class TestBayObject(base.DbTestCase):
|
||||||
autospec=True) as mock_get_bay:
|
autospec=True) as mock_get_bay:
|
||||||
mock_get_bay.return_value = self.fake_bay
|
mock_get_bay.return_value = self.fake_bay
|
||||||
bay = objects.Bay.get(self.context, bay_id)
|
bay = objects.Bay.get(self.context, bay_id)
|
||||||
mock_get_bay.assert_called_once_with(bay_id)
|
mock_get_bay.assert_called_once_with(self.context, bay_id)
|
||||||
self.assertEqual(self.context, bay._context)
|
self.assertEqual(self.context, bay._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
|
|
|
@ -35,7 +35,8 @@ class TestBayModelObject(base.DbTestCase):
|
||||||
autospec=True) as mock_get_baymodel:
|
autospec=True) as mock_get_baymodel:
|
||||||
mock_get_baymodel.return_value = self.fake_baymodel
|
mock_get_baymodel.return_value = self.fake_baymodel
|
||||||
baymodel = objects.BayModel.get(self.context, baymodel_id)
|
baymodel = objects.BayModel.get(self.context, baymodel_id)
|
||||||
mock_get_baymodel.assert_called_once_with(baymodel_id)
|
mock_get_baymodel.assert_called_once_with(self.context,
|
||||||
|
baymodel_id)
|
||||||
self.assertEqual(self.context, baymodel._context)
|
self.assertEqual(self.context, baymodel._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
|
|
|
@ -35,7 +35,8 @@ class TestContainerObject(base.DbTestCase):
|
||||||
autospec=True) as mock_get_container:
|
autospec=True) as mock_get_container:
|
||||||
mock_get_container.return_value = self.fake_container
|
mock_get_container.return_value = self.fake_container
|
||||||
container = objects.Container.get(self.context, container_id)
|
container = objects.Container.get(self.context, container_id)
|
||||||
mock_get_container.assert_called_once_with(container_id)
|
mock_get_container.assert_called_once_with(self.context,
|
||||||
|
container_id)
|
||||||
self.assertEqual(self.context, container._context)
|
self.assertEqual(self.context, container._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
|
|
|
@ -35,7 +35,7 @@ class TestNodeObject(base.DbTestCase):
|
||||||
autospec=True) as mock_get_node:
|
autospec=True) as mock_get_node:
|
||||||
mock_get_node.return_value = self.fake_node
|
mock_get_node.return_value = self.fake_node
|
||||||
node = objects.Node.get(self.context, node_id)
|
node = objects.Node.get(self.context, node_id)
|
||||||
mock_get_node.assert_called_once_with(node_id)
|
mock_get_node.assert_called_once_with(self.context, node_id)
|
||||||
self.assertEqual(self.context, node._context)
|
self.assertEqual(self.context, node._context)
|
||||||
|
|
||||||
def test_get_by_uuid(self):
|
def test_get_by_uuid(self):
|
||||||
|
|
Loading…
Reference in New Issue