diff --git a/magnum/db/api.py b/magnum/db/api.py index 76353a2838..d9be19a7e8 100644 --- a/magnum/db/api.py +++ b/magnum/db/api.py @@ -83,9 +83,10 @@ class Connection(object): """ @abc.abstractmethod - def get_bay_by_id(self, bay_id): + def get_bay_by_id(self, ctxt, bay_id): """Return a bay. + :param ctxt: The security context :param bay_id: The id of a bay. :returns: A bay. """ @@ -157,9 +158,10 @@ class Connection(object): """ @abc.abstractmethod - def get_baymodel_by_id(self, baymodel_id): + def get_baymodel_by_id(self, ctxt, baymodel_id): """Return a baymodel. + :param ctxt: The security context :param baymodel_id: The id of a baymodel. :returns: A baymodel. """ @@ -232,9 +234,10 @@ class Connection(object): """ @abc.abstractmethod - def get_container_by_id(self, container_id): + def get_container_by_id(self, ctxt, container_id): """Return a container. + :param ctxt: The security context :param container_id: The id of a container. :returns: A container. """ @@ -305,9 +308,10 @@ class Connection(object): """ @abc.abstractmethod - def get_node_by_id(self, node_id): + def get_node_by_id(self, ctxt, node_id): """Return a node. + :param ctxt: The security context :param node_id: The id of a node. :returns: A node. """ diff --git a/magnum/db/sqlalchemy/api.py b/magnum/db/sqlalchemy/api.py index 4ba75c35da..84070f35f3 100644 --- a/magnum/db/sqlalchemy/api.py +++ b/magnum/db/sqlalchemy/api.py @@ -173,8 +173,10 @@ class Connection(api.Connection): raise exception.BayAlreadyExists(uuid=values['uuid']) return bay - def get_bay_by_id(self, bay_id): - query = model_query(models.Bay).filter_by(id=bay_id) + def get_bay_by_id(self, ctxt, bay_id): + query = model_query(models.Bay) + query = self._add_tenant_filters(ctxt, query) + query = query.filter_by(id=bay_id) try: return query.one() except NoResultFound: @@ -308,8 +310,10 @@ class Connection(api.Connection): raise exception.BayModelAlreadyExists(uuid=values['uuid']) return baymodel - def get_baymodel_by_id(self, baymodel_id): - query = model_query(models.BayModel).filter_by(id=baymodel_id) + def get_baymodel_by_id(self, ctxt, baymodel_id): + query = model_query(models.BayModel) + query = self._add_tenant_filters(ctxt, query) + query = query.filter_by(id=baymodel_id) try: return query.one() except NoResultFound: @@ -418,8 +422,10 @@ class Connection(api.Connection): raise exception.ContainerAlreadyExists(uuid=values['uuid']) return container - def get_container_by_id(self, container_id): - query = model_query(models.Container).filter_by(id=container_id) + def get_container_by_id(self, ctxt, container_id): + query = model_query(models.Container) + query = self._add_tenant_filters(ctxt, query) + query = query.filter_by(id=container_id) try: return query.one() except NoResultFound: @@ -526,8 +532,10 @@ class Connection(api.Connection): raise exception.NodeAlreadyExists(uuid=values['uuid']) return node - def get_node_by_id(self, node_id): - query = model_query(models.Node).filter_by(id=node_id) + def get_node_by_id(self, ctxt, node_id): + query = model_query(models.Node) + query = self._add_tenant_filters(ctxt, query) + query = query.filter_by(id=node_id) try: return query.one() except NoResultFound: diff --git a/magnum/objects/bay.py b/magnum/objects/bay.py index 01b7186efe..56fc1e36eb 100644 --- a/magnum/objects/bay.py +++ b/magnum/objects/bay.py @@ -74,7 +74,7 @@ class Bay(base.MagnumObject): :param bay_id: the id of a bay. :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) return bay diff --git a/magnum/objects/baymodel.py b/magnum/objects/baymodel.py index 6990c5c751..6c55d05cae 100644 --- a/magnum/objects/baymodel.py +++ b/magnum/objects/baymodel.py @@ -76,7 +76,7 @@ class BayModel(base.MagnumObject): :param baymodel_id: the id of a baymodel. :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) return baymodel diff --git a/magnum/objects/container.py b/magnum/objects/container.py index 31343cf413..9e1648a1e2 100644 --- a/magnum/objects/container.py +++ b/magnum/objects/container.py @@ -71,7 +71,7 @@ class Container(base.MagnumObject): :param container_id: the id of a container. :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) return container diff --git a/magnum/objects/node.py b/magnum/objects/node.py index 06762fdc03..6029f0dd72 100644 --- a/magnum/objects/node.py +++ b/magnum/objects/node.py @@ -71,7 +71,7 @@ class Node(base.MagnumObject): :param node_id: the id of a node. :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) return node diff --git a/magnum/tests/db/test_bay.py b/magnum/tests/db/test_bay.py index d80d21d04d..10fcdc94a9 100644 --- a/magnum/tests/db/test_bay.py +++ b/magnum/tests/db/test_bay.py @@ -38,7 +38,7 @@ class DbBayTestCase(base.DbTestCase): def test_get_bay_by_id(self): 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.uuid, res.uuid) @@ -50,7 +50,8 @@ class DbBayTestCase(base.DbTestCase): def test_get_bay_that_does_not_exist(self): 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.dbapi.get_bay_by_uuid, self.context, @@ -182,10 +183,12 @@ class DbBayTestCase(base.DbTestCase): def test_destroy_bay(self): 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.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): bay = utils.create_test_bay() diff --git a/magnum/tests/db/test_baymodel.py b/magnum/tests/db/test_baymodel.py index 91fcd38d78..74095a7ec8 100644 --- a/magnum/tests/db/test_baymodel.py +++ b/magnum/tests/db/test_baymodel.py @@ -89,7 +89,7 @@ class DbBaymodelTestCase(base.DbTestCase): def test_get_baymodel_by_id(self): 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) def test_get_baymodel_by_uuid(self): @@ -99,7 +99,7 @@ class DbBaymodelTestCase(base.DbTestCase): def test_get_baymodel_that_does_not_exist(self): 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): bm = self._create_test_baymodel() @@ -120,7 +120,8 @@ class DbBaymodelTestCase(base.DbTestCase): bm = self._create_test_baymodel() self.dbapi.destroy_baymodel(bm['id']) 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): uuid = magnum_utils.generate_uuid() diff --git a/magnum/tests/db/test_container.py b/magnum/tests/db/test_container.py index 19c4cbc1d0..50ec25fcc2 100644 --- a/magnum/tests/db/test_container.py +++ b/magnum/tests/db/test_container.py @@ -35,7 +35,7 @@ class DbContainerTestCase(base.DbTestCase): def test_get_container_by_id(self): 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.uuid, res.uuid) @@ -48,7 +48,7 @@ class DbContainerTestCase(base.DbTestCase): def test_get_container_that_does_not_exist(self): 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.dbapi.get_container_by_uuid, self.context, @@ -136,7 +136,8 @@ class DbContainerTestCase(base.DbTestCase): container = utils.create_test_container() self.dbapi.destroy_container(container.id) 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): container = utils.create_test_container() diff --git a/magnum/tests/db/test_node.py b/magnum/tests/db/test_node.py index 05eacc4f5a..2e38e93f4a 100644 --- a/magnum/tests/db/test_node.py +++ b/magnum/tests/db/test_node.py @@ -44,7 +44,7 @@ class DbNodeTestCase(base.DbTestCase): def test_get_node_by_id(self): 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.uuid, res.uuid) @@ -56,7 +56,7 @@ class DbNodeTestCase(base.DbTestCase): def test_get_node_that_does_not_exist(self): 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.dbapi.get_node_by_uuid, self.context, @@ -149,7 +149,7 @@ class DbNodeTestCase(base.DbTestCase): node = utils.create_test_node() self.dbapi.destroy_node(node.id) 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): node = utils.create_test_node() diff --git a/magnum/tests/objects/test_bay.py b/magnum/tests/objects/test_bay.py index c8ceac27cc..ebb8135db3 100644 --- a/magnum/tests/objects/test_bay.py +++ b/magnum/tests/objects/test_bay.py @@ -35,7 +35,7 @@ class TestBayObject(base.DbTestCase): autospec=True) as mock_get_bay: mock_get_bay.return_value = self.fake_bay 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) def test_get_by_uuid(self): diff --git a/magnum/tests/objects/test_baymodel.py b/magnum/tests/objects/test_baymodel.py index 39c50e944d..888a0c97b7 100644 --- a/magnum/tests/objects/test_baymodel.py +++ b/magnum/tests/objects/test_baymodel.py @@ -35,7 +35,8 @@ class TestBayModelObject(base.DbTestCase): autospec=True) as mock_get_baymodel: mock_get_baymodel.return_value = self.fake_baymodel 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) def test_get_by_uuid(self): diff --git a/magnum/tests/objects/test_container.py b/magnum/tests/objects/test_container.py index 571d1bb91b..27bafbaa07 100644 --- a/magnum/tests/objects/test_container.py +++ b/magnum/tests/objects/test_container.py @@ -35,7 +35,8 @@ class TestContainerObject(base.DbTestCase): autospec=True) as mock_get_container: mock_get_container.return_value = self.fake_container 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) def test_get_by_uuid(self): diff --git a/magnum/tests/objects/test_node.py b/magnum/tests/objects/test_node.py index ab92205af1..5946c77d77 100644 --- a/magnum/tests/objects/test_node.py +++ b/magnum/tests/objects/test_node.py @@ -35,7 +35,7 @@ class TestNodeObject(base.DbTestCase): autospec=True) as mock_get_node: mock_get_node.return_value = self.fake_node 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) def test_get_by_uuid(self):