diff --git a/compass/db/api/cluster.py b/compass/db/api/cluster.py index d82f9514..9fc00402 100644 --- a/compass/db/api/cluster.py +++ b/compass/db/api/cluster.py @@ -162,9 +162,13 @@ UPDATED_CLUSTERHOST_LOG_FIELDS = [ @utils.wrap_to_dict(RESP_FIELDS) def list_clusters(user=None, session=None, **filters): """List clusters.""" - return utils.list_db_objects( + clusters = utils.list_db_objects( session, models.Cluster, **filters ) + logging.info('user is %s', user.email) + if not user.is_admin and len(clusters): + clusters = [c for c in clusters if c.owner == user.email] + return clusters def _get_cluster(cluster_id, session=None, **kwargs): diff --git a/compass/db/api/machine.py b/compass/db/api/machine.py index 123d6070..9a8d3eac 100644 --- a/compass/db/api/machine.py +++ b/compass/db/api/machine.py @@ -130,9 +130,12 @@ def get_machine( @utils.wrap_to_dict(RESP_FIELDS) def list_machines(user=None, session=None, **filters): """List machines.""" - return utils.list_db_objects( + machines = utils.list_db_objects( session, models.Machine, **filters ) + if not user.is_admin and len(machines): + machines = [m for m in machines if m.owner_id == user.id] + return machines @utils.wrap_to_dict(RESP_FIELDS)