Merge "Update cluster_policy_get_all to no longer query uneeded tables"
This commit is contained in:
commit
71cbef47d6
|
@ -643,29 +643,30 @@ def cluster_policy_get(context, cluster_id, policy_id):
|
||||||
|
|
||||||
|
|
||||||
def cluster_policy_get_all(context, cluster_id, filters=None, sort=None):
|
def cluster_policy_get_all(context, cluster_id, filters=None, sort=None):
|
||||||
query = model_query(context, models.ClusterPolicies)
|
with session_for_read() as session:
|
||||||
query = query.filter_by(cluster_id=cluster_id)
|
query = session.query(models.ClusterPolicies)
|
||||||
|
query = query.filter_by(cluster_id=cluster_id)
|
||||||
|
|
||||||
if filters is not None:
|
if filters is not None:
|
||||||
key_enabled = consts.CP_ENABLED
|
key_enabled = consts.CP_ENABLED
|
||||||
if key_enabled in filters:
|
if key_enabled in filters:
|
||||||
filter_enabled = {key_enabled: filters[key_enabled]}
|
filter_enabled = {key_enabled: filters[key_enabled]}
|
||||||
query = utils.exact_filter(query, models.ClusterPolicies,
|
query = utils.exact_filter(query, models.ClusterPolicies,
|
||||||
filter_enabled)
|
filter_enabled)
|
||||||
key_type = consts.CP_POLICY_TYPE
|
key_type = consts.CP_POLICY_TYPE
|
||||||
key_name = consts.CP_POLICY_NAME
|
key_name = consts.CP_POLICY_NAME
|
||||||
if key_type in filters and key_name in filters:
|
if key_type in filters and key_name in filters:
|
||||||
query = query.join(models.Policy).filter(
|
query = query.join(models.Policy).filter(
|
||||||
models.Policy.type == filters[key_type] and
|
models.Policy.type == filters[key_type] and
|
||||||
models.Policy.name == filters[key_name])
|
models.Policy.name == filters[key_name])
|
||||||
elif key_type in filters:
|
elif key_type in filters:
|
||||||
query = query.join(models.Policy).filter(
|
query = query.join(models.Policy).filter(
|
||||||
models.Policy.type == filters[key_type])
|
models.Policy.type == filters[key_type])
|
||||||
elif key_name in filters:
|
elif key_name in filters:
|
||||||
query = query.join(models.Policy).filter(
|
query = query.join(models.Policy).filter(
|
||||||
models.Policy.name == filters[key_name])
|
models.Policy.name == filters[key_name])
|
||||||
|
|
||||||
keys, dirs = utils.get_sort_params(sort)
|
keys, dirs = utils.get_sort_params(sort)
|
||||||
return sa_utils.paginate_query(query, models.ClusterPolicies, None,
|
return sa_utils.paginate_query(query, models.ClusterPolicies, None,
|
||||||
keys, sort_dirs=dirs).all()
|
keys, sort_dirs=dirs).all()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue