Remove is_admin judge in xyz_get_all at db layer
Just check project_safe to decide whether list all projects at db layer, and check admin context at engine layer. Change-Id: I4efb633fb9f83dae194bc266711fdd0d21edb39b
This commit is contained in:
parent
654487f86c
commit
67ca4d5a9e
|
@ -137,7 +137,7 @@ def cluster_get_by_short_id(context, short_id, project_safe=True):
|
||||||
def _query_cluster_get_all(context, project_safe=True):
|
def _query_cluster_get_all(context, project_safe=True):
|
||||||
query = model_query(context, models.Cluster)
|
query = model_query(context, models.Cluster)
|
||||||
|
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
return query
|
return query
|
||||||
|
|
||||||
|
@ -244,7 +244,7 @@ def _query_node_get_all(context, project_safe=True, cluster_id=None):
|
||||||
if cluster_id is not None:
|
if cluster_id is not None:
|
||||||
query = query.filter_by(cluster_id=cluster_id)
|
query = query.filter_by(cluster_id=cluster_id)
|
||||||
|
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
|
|
||||||
return query
|
return query
|
||||||
|
@ -474,7 +474,7 @@ def policy_get_all(context, limit=None, marker=None, sort=None, filters=None,
|
||||||
project_safe=True):
|
project_safe=True):
|
||||||
query = model_query(context, models.Policy)
|
query = model_query(context, models.Policy)
|
||||||
|
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
|
|
||||||
if filters:
|
if filters:
|
||||||
|
@ -618,7 +618,7 @@ def profile_get_all(context, limit=None, marker=None, sort=None, filters=None,
|
||||||
project_safe=True):
|
project_safe=True):
|
||||||
query = model_query(context, models.Profile)
|
query = model_query(context, models.Profile)
|
||||||
|
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
|
|
||||||
if filters:
|
if filters:
|
||||||
|
@ -737,7 +737,7 @@ def _event_filter_paginate_query(context, query, filters=None,
|
||||||
def event_get_all(context, limit=None, marker=None, sort=None, filters=None,
|
def event_get_all(context, limit=None, marker=None, sort=None, filters=None,
|
||||||
project_safe=True):
|
project_safe=True):
|
||||||
query = model_query(context, models.Event)
|
query = model_query(context, models.Event)
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
|
|
||||||
return _event_filter_paginate_query(context, query, filters=filters,
|
return _event_filter_paginate_query(context, query, filters=filters,
|
||||||
|
@ -1115,7 +1115,7 @@ def receiver_get(context, receiver_id, project_safe=True):
|
||||||
def receiver_get_all(context, limit=None, marker=None, filters=None, sort=None,
|
def receiver_get_all(context, limit=None, marker=None, filters=None, sort=None,
|
||||||
project_safe=True):
|
project_safe=True):
|
||||||
query = model_query(context, models.Receiver)
|
query = model_query(context, models.Receiver)
|
||||||
if not context.is_admin and project_safe:
|
if project_safe:
|
||||||
query = query.filter_by(project=context.project)
|
query = query.filter_by(project=context.project)
|
||||||
|
|
||||||
if filters:
|
if filters:
|
||||||
|
|
|
@ -372,7 +372,7 @@ class LoadBalancingPolicy(base.Policy):
|
||||||
return False, reason
|
return False, reason
|
||||||
|
|
||||||
nodes = nm.Node.load_all(oslo_context.get_current(),
|
nodes = nm.Node.load_all(oslo_context.get_current(),
|
||||||
cluster_id=cluster.id)
|
cluster_id=cluster.id, project_safe=False)
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
if 'lb_member' in node.data:
|
if 'lb_member' in node.data:
|
||||||
node.data.pop('lb_member')
|
node.data.pop('lb_member')
|
||||||
|
|
|
@ -222,6 +222,8 @@ class DBAPIClusterTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='another-project',
|
admin_ctx = utils.dummy_context(project='another-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
clusters = db_api.cluster_get_all(admin_ctx, project_safe=True)
|
clusters = db_api.cluster_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(clusters))
|
||||||
|
clusters = db_api.cluster_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(5, len(clusters))
|
self.assertEqual(5, len(clusters))
|
||||||
|
|
||||||
def test_cluster_get_all_with_filters(self):
|
def test_cluster_get_all_with_filters(self):
|
||||||
|
@ -364,8 +366,10 @@ class DBAPIClusterTest(base.SenlinTestCase):
|
||||||
|
|
||||||
admin_ctx = utils.dummy_context(project='another-project',
|
admin_ctx = utils.dummy_context(project='another-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
self.assertEqual(5, db_api.cluster_count_all(admin_ctx,
|
self.assertEqual(0, db_api.cluster_count_all(admin_ctx,
|
||||||
project_safe=True))
|
project_safe=True))
|
||||||
|
self.assertEqual(5, db_api.cluster_count_all(admin_ctx,
|
||||||
|
project_safe=False))
|
||||||
|
|
||||||
def test_cluster_count_all_with_filters(self):
|
def test_cluster_count_all_with_filters(self):
|
||||||
shared.create_cluster(self.ctx, self.profile, name='foo')
|
shared.create_cluster(self.ctx, self.profile, name='foo')
|
||||||
|
|
|
@ -271,6 +271,8 @@ class DBAPIEventTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='another-project',
|
admin_ctx = utils.dummy_context(project='another-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
events = db_api.event_get_all(admin_ctx, project_safe=True)
|
events = db_api.event_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(events))
|
||||||
|
events = db_api.event_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(3, len(events))
|
self.assertEqual(3, len(events))
|
||||||
|
|
||||||
def test_event_get_all_by_cluster(self):
|
def test_event_get_all_by_cluster(self):
|
||||||
|
|
|
@ -300,6 +300,8 @@ class DBAPINodeTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='a_different_project',
|
admin_ctx = utils.dummy_context(project='a_different_project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
results = db_api.node_get_all(admin_ctx, project_safe=True)
|
results = db_api.node_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(results))
|
||||||
|
results = db_api.node_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(2, len(results))
|
self.assertEqual(2, len(results))
|
||||||
|
|
||||||
def test_node_get_by_cluster(self):
|
def test_node_get_by_cluster(self):
|
||||||
|
@ -356,6 +358,9 @@ class DBAPINodeTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='a_different_project',
|
admin_ctx = utils.dummy_context(project='a_different_project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
nodes = db_api.node_get_all_by_cluster(admin_ctx, self.cluster.id)
|
nodes = db_api.node_get_all_by_cluster(admin_ctx, self.cluster.id)
|
||||||
|
self.assertEqual(0, len(nodes))
|
||||||
|
nodes = db_api.node_get_all_by_cluster(admin_ctx, self.cluster.id,
|
||||||
|
project_safe=False)
|
||||||
self.assertEqual(2, len(nodes))
|
self.assertEqual(2, len(nodes))
|
||||||
self.assertEqual(set([node1.id, node2.id]),
|
self.assertEqual(set([node1.id, node2.id]),
|
||||||
set([nodes[0].id, nodes[1].id]))
|
set([nodes[0].id, nodes[1].id]))
|
||||||
|
@ -408,6 +413,9 @@ class DBAPINodeTest(base.SenlinTestCase):
|
||||||
res = db_api.node_count_by_cluster(admin_ctx, self.cluster.id,
|
res = db_api.node_count_by_cluster(admin_ctx, self.cluster.id,
|
||||||
project_safe=True)
|
project_safe=True)
|
||||||
self.assertEqual(0, res)
|
self.assertEqual(0, res)
|
||||||
|
res = db_api.node_count_by_cluster(admin_ctx, self.cluster.id,
|
||||||
|
project_safe=False)
|
||||||
|
self.assertEqual(2, res)
|
||||||
|
|
||||||
def test_node_update(self):
|
def test_node_update(self):
|
||||||
node = shared.create_node(self.ctx, self.cluster, self.profile)
|
node = shared.create_node(self.ctx, self.cluster, self.profile)
|
||||||
|
|
|
@ -227,6 +227,8 @@ class DBAPIPolicyTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='a-different-project',
|
admin_ctx = utils.dummy_context(project='a-different-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
policies = db_api.policy_get_all(admin_ctx, project_safe=True)
|
policies = db_api.policy_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(policies))
|
||||||
|
policies = db_api.policy_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(2, len(policies))
|
self.assertEqual(2, len(policies))
|
||||||
|
|
||||||
def test_policy_get_all_with_limit_marker(self):
|
def test_policy_get_all_with_limit_marker(self):
|
||||||
|
|
|
@ -179,6 +179,8 @@ class DBAPIProfileTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='a-different-project',
|
admin_ctx = utils.dummy_context(project='a-different-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
profiles = db_api.profile_get_all(admin_ctx, project_safe=True)
|
profiles = db_api.profile_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(profiles))
|
||||||
|
profiles = db_api.profile_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(2, len(profiles))
|
self.assertEqual(2, len(profiles))
|
||||||
|
|
||||||
def test_profile_get_all_with_limit_marker(self):
|
def test_profile_get_all_with_limit_marker(self):
|
||||||
|
|
|
@ -286,6 +286,8 @@ class DBAPIReceiverTest(base.SenlinTestCase):
|
||||||
admin_ctx = utils.dummy_context(project='a-different-project',
|
admin_ctx = utils.dummy_context(project='a-different-project',
|
||||||
is_admin=True)
|
is_admin=True)
|
||||||
results = db_api.receiver_get_all(admin_ctx, project_safe=True)
|
results = db_api.receiver_get_all(admin_ctx, project_safe=True)
|
||||||
|
self.assertEqual(0, len(results))
|
||||||
|
results = db_api.receiver_get_all(admin_ctx, project_safe=False)
|
||||||
self.assertEqual(2, len(results))
|
self.assertEqual(2, len(results))
|
||||||
|
|
||||||
def test_receiver_delete(self):
|
def test_receiver_delete(self):
|
||||||
|
|
Loading…
Reference in New Issue