Beispiel #1
0
def cluster_policy_get_all(context, cluster_id, filters=None, sort=None):
    query = model_query(context, models.ClusterPolicies)
    query = query.filter_by(cluster_id=cluster_id)

    if filters is not None:
        key_enabled = consts.CP_ENABLED
        if key_enabled in filters:
            filter_enabled = {key_enabled: filters[key_enabled]}
            query = utils.exact_filter(query, models.ClusterPolicies,
                                       filter_enabled)
        key_type = consts.CP_POLICY_TYPE
        key_name = consts.CP_POLICY_NAME
        if key_type in filters and key_name in filters:
            query = query.join(models.Policy).filter(
                models.Policy.type == filters[key_type]
                and models.Policy.name == filters[key_name])
        elif key_type in filters:
            query = query.join(
                models.Policy).filter(models.Policy.type == filters[key_type])
        elif key_name in filters:
            query = query.join(
                models.Policy).filter(models.Policy.name == filters[key_name])

    keys, dirs = utils.get_sort_params(sort)
    return sa_utils.paginate_query(query,
                                   models.ClusterPolicies,
                                   None,
                                   keys,
                                   sort_dirs=dirs).all()
 def test_value_multiple_including_id(self):
     keys, dirs = utils.get_sort_params('foo,bar,id')
     self.assertEqual(3, len(keys))
     self.assertEqual(3, len(dirs))
     self.assertEqual(['foo', 'bar', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst',
                       'asc-nullsfirst'], dirs)
 def test_value_multiple(self):
     keys, dirs = utils.get_sort_params('foo,bar,zoo')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst', 'asc-nullsfirst',
                       'asc'], dirs)
 def test_value_multiple_with_dirs_and_default_key(self):
     keys, dirs = utils.get_sort_params('foo:asc,bar,zoo:desc', 'notused')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst',
                       'desc-nullslast', 'asc'], dirs)
Beispiel #5
0
 def test_value_multiple(self):
     keys, dirs = utils.get_sort_params('foo,bar,zoo')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst', 'asc-nullsfirst',
                       'asc'], dirs)
Beispiel #6
0
 def test_value_multiple_with_dirs_and_default_key(self):
     keys, dirs = utils.get_sort_params('foo:asc,bar,zoo:desc', 'notused')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst',
                       'desc-nullslast', 'asc'], dirs)
Beispiel #7
0
 def test_value_multiple_including_id(self):
     keys, dirs = utils.get_sort_params('foo,bar,id')
     self.assertEqual(3, len(keys))
     self.assertEqual(3, len(dirs))
     self.assertEqual(['foo', 'bar', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc-nullsfirst',
                       'asc-nullsfirst'], dirs)
Beispiel #8
0
def _event_filter_paginate_query(context, query, filters=None,
                                 limit=None, marker=None, sort=None):
    if filters:
        query = utils.exact_filter(query, models.Event, filters)

    keys, dirs = utils.get_sort_params(sort, consts.EVENT_TIMESTAMP)
    if marker:
        marker = model_query(context, models.Event).get(marker)
    return sa_utils.paginate_query(query, models.Event, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #9
0
def cluster_policy_get_all(context, cluster_id, filters=None, sort=None):

    query = model_query(context, models.ClusterPolicies)
    query = query.filter_by(cluster_id=cluster_id)

    if filters:
        query = utils.exact_filter(query, models.ClusterPolicies, filters)

    keys, dirs = utils.get_sort_params(sort)
    return sa_utils.paginate_query(query, models.ClusterPolicies, None, keys,
                                   sort_dirs=dirs).all()
Beispiel #10
0
def cluster_get_all(context, limit=None, marker=None, sort=None, filters=None,
                    project_safe=True):
    query = _query_cluster_get_all(context, project_safe=project_safe)
    if filters:
        query = utils.exact_filter(query, models.Cluster, filters)

    keys, dirs = utils.get_sort_params(sort, consts.CLUSTER_INIT_AT)
    if marker:
        marker = model_query(context, models.Cluster).get(marker)

    return sa_utils.paginate_query(query, models.Cluster, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #11
0
def node_get_all(context, cluster_id=None, limit=None, marker=None, sort=None,
                 filters=None, project_safe=True):
    query = _query_node_get_all(context, project_safe=project_safe,
                                cluster_id=cluster_id)

    if filters:
        query = utils.exact_filter(query, models.Node, filters)

    keys, dirs = utils.get_sort_params(sort, consts.NODE_INIT_AT)
    if marker:
        marker = model_query(context, models.Node).get(marker)
    return sa_utils.paginate_query(query, models.Node, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #12
0
def cluster_policy_get_all(context, cluster_id, filters=None, sort=None):

    query = model_query(context, models.ClusterPolicies)
    query = query.filter_by(cluster_id=cluster_id)

    if filters:
        query = utils.exact_filter(query, models.ClusterPolicies, filters)

    keys, dirs = utils.get_sort_params(sort)
    return sa_utils.paginate_query(query,
                                   models.ClusterPolicies,
                                   None,
                                   keys,
                                   sort_dirs=dirs).all()
Beispiel #13
0
def receiver_get_all(context, limit=None, marker=None, filters=None, sort=None,
                     project_safe=True):
    query = model_query(context, models.Receiver)
    if not context.is_admin and project_safe:
        query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Receiver, filters)

    keys, dirs = utils.get_sort_params(sort, consts.RECEIVER_NAME)
    if marker:
        marker = model_query(context, models.Receiver).get(marker)
    return sa_utils.paginate_query(query, models.Receiver, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #14
0
def profile_get_all(context, limit=None, marker=None, sort=None, filters=None,
                    project_safe=True):
    query = model_query(context, models.Profile)

    if not context.is_admin and project_safe:
        query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Profile, filters)

    keys, dirs = utils.get_sort_params(sort, consts.PROFILE_CREATED_AT)
    if marker:
        marker = model_query(context, models.Profile).get(marker)
    return sa_utils.paginate_query(query, models.Profile, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #15
0
def action_get_all(context, filters=None, limit=None, marker=None, sort=None,
                   project_safe=True):

    query = model_query(context, models.Action)
    # TODO(Qiming): Enable multi-tenancy for actions
    # if project_safe:
    #    query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Action, filters)

    keys, dirs = utils.get_sort_params(sort, consts.ACTION_CREATED_AT)
    if marker:
        marker = model_query(context, models.Action).get(marker)
    return sa_utils.paginate_query(query, models.Action, limit, keys,
                                   marker=marker, sort_dirs=dirs).all()
Beispiel #16
0
def _event_filter_paginate_query(context,
                                 query,
                                 filters=None,
                                 limit=None,
                                 marker=None,
                                 sort=None):
    if filters:
        query = utils.exact_filter(query, models.Event, filters)

    keys, dirs = utils.get_sort_params(sort, consts.EVENT_TIMESTAMP)
    if marker:
        marker = model_query(context, models.Event).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Event,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #17
0
def cluster_get_all(context,
                    limit=None,
                    marker=None,
                    sort=None,
                    filters=None,
                    project_safe=True):
    query = _query_cluster_get_all(context, project_safe=project_safe)
    if filters:
        query = utils.exact_filter(query, models.Cluster, filters)

    keys, dirs = utils.get_sort_params(sort, consts.CLUSTER_INIT_AT)
    if marker:
        marker = model_query(context, models.Cluster).get(marker)

    return sa_utils.paginate_query(query,
                                   models.Cluster,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #18
0
def receiver_get_all(context,
                     limit=None,
                     marker=None,
                     filters=None,
                     sort=None,
                     project_safe=True):
    query = model_query(context, models.Receiver)
    if not context.is_admin and project_safe:
        query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Receiver, filters)

    keys, dirs = utils.get_sort_params(sort, consts.RECEIVER_NAME)
    if marker:
        marker = model_query(context, models.Receiver).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Receiver,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #19
0
def policy_get_all(context,
                   limit=None,
                   marker=None,
                   sort=None,
                   filters=None,
                   project_safe=True):
    query = model_query(context, models.Policy)

    if project_safe:
        query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Policy, filters)

    keys, dirs = utils.get_sort_params(sort, consts.POLICY_CREATED_AT)
    if marker:
        marker = model_query(context, models.Policy).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Policy,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #20
0
def node_get_all(context,
                 cluster_id=None,
                 limit=None,
                 marker=None,
                 sort=None,
                 filters=None,
                 project_safe=True):
    query = _query_node_get_all(context,
                                project_safe=project_safe,
                                cluster_id=cluster_id)

    if filters:
        query = utils.exact_filter(query, models.Node, filters)

    keys, dirs = utils.get_sort_params(sort, consts.NODE_INIT_AT)
    if marker:
        marker = model_query(context, models.Node).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Node,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #21
0
def profile_get_all(context,
                    limit=None,
                    marker=None,
                    sort=None,
                    filters=None,
                    project_safe=True):
    query = model_query(context, models.Profile)

    if not context.is_admin and project_safe:
        query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Profile, filters)

    keys, dirs = utils.get_sort_params(sort, consts.PROFILE_CREATED_AT)
    if marker:
        marker = model_query(context, models.Profile).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Profile,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
Beispiel #22
0
def action_get_all(context,
                   filters=None,
                   limit=None,
                   marker=None,
                   sort=None,
                   project_safe=True):

    query = model_query(context, models.Action)
    # TODO(Qiming): Enable multi-tenancy for actions
    # if project_safe:
    #    query = query.filter_by(project=context.project)

    if filters:
        query = utils.exact_filter(query, models.Action, filters)

    keys, dirs = utils.get_sort_params(sort, consts.ACTION_CREATED_AT)
    if marker:
        marker = model_query(context, models.Action).get(marker)
    return sa_utils.paginate_query(query,
                                   models.Action,
                                   limit,
                                   keys,
                                   marker=marker,
                                   sort_dirs=dirs).all()
 def test_value_multiple_with_dirs(self):
     keys, dirs = utils.get_sort_params('foo:asc,bar,zoo:desc')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc', 'asc', 'desc', 'asc'], dirs)
Beispiel #24
0
 def test_value_none(self):
     keys, dirs = utils.get_sort_params(None)
     self.assertEqual(['id'], keys)
     self.assertEqual(['asc'], dirs)
Beispiel #25
0
 def test_value_none_with_default_key(self):
     keys, dirs = utils.get_sort_params(None, 'foo')
     self.assertEqual(2, len(keys))
     self.assertEqual(2, len(dirs))
     self.assertEqual(['foo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc'], dirs)
Beispiel #26
0
 def test_value_single(self):
     keys, dirs = utils.get_sort_params('foo')
     self.assertEqual(2, len(keys))
     self.assertEqual(2, len(dirs))
     self.assertEqual(['foo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc'], dirs)
Beispiel #27
0
 def test_value_none_with_default_key(self):
     keys, dirs = utils.get_sort_params(None, 'foo')
     self.assertEqual(2, len(keys))
     self.assertEqual(2, len(dirs))
     self.assertEqual(['foo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc'], dirs)
Beispiel #28
0
 def test_value_none(self):
     keys, dirs = utils.get_sort_params(None)
     self.assertEqual(['id'], keys)
     self.assertEqual(['asc'], dirs)
Beispiel #29
0
 def test_value_single(self):
     keys, dirs = utils.get_sort_params('foo')
     self.assertEqual(2, len(keys))
     self.assertEqual(2, len(dirs))
     self.assertEqual(['foo', 'id'], keys)
     self.assertEqual(['asc-nullsfirst', 'asc'], dirs)
 def test_value_multiple_with_dirs(self):
     keys, dirs = utils.get_sort_params('foo:asc,bar,zoo:desc')
     self.assertEqual(4, len(keys))
     self.assertEqual(4, len(dirs))
     self.assertEqual(['foo', 'bar', 'zoo', 'id'], keys)
     self.assertEqual(['asc', 'asc', 'desc', 'asc'], dirs)