Skip to content

Commit

Permalink
Merge branch 'main' into fixopenapi
Browse files Browse the repository at this point in the history
  • Loading branch information
ZhangSetSail authored Jun 5, 2024
2 parents 099fb0c + e4aaaf3 commit 38bd921
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
4 changes: 2 additions & 2 deletions console/services/team_services.py
Original file line number Diff line number Diff line change
Expand Up @@ -511,13 +511,13 @@ def get_tenant_resource(self, team, region_name):
return data
return None

def get_tenant_list_by_region(self, eid, region_id, page=1, page_size=10):
def get_tenant_list_by_region(self, eid, region_id, page=1, page_size=10, tenant_ids=""):
teams = team_repo.get_team_by_enterprise_id(eid)
team_maps = {}
if teams:
for team in teams:
team_maps[team.tenant_id] = team
res, body = region_api.list_tenants(eid, region_id, page, page_size)
res, body = region_api.list_tenants(eid, region_id, page, page_size, tenant_ids)
tenant_list = []
total = 0
if body.get("bean"):
Expand Down
11 changes: 6 additions & 5 deletions console/views/enterprise.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,20 +171,21 @@ def get(self, request, enterprise_id, *args, **kwargs):
page = int(request.GET.get("page", 1))
page_size = int(request.GET.get("page_size", 10))
name = request.GET.get("name", None)
teams, total = team_services.get_enterprise_teams(enterprise_id, query=name, user=self.user)
teams, total = team_services.get_enterprise_teams(
enterprise_id, query=name, page=page, page_size=page_size, user=self.user)
tenant_names = {tenant["team_name"]: tenant for tenant in teams}
usable_regions = region_repo.get_usable_regions(enterprise_id)
user_id_list = PermRelTenant.objects.filter().values("tenant_id", "user_id")
user_id_dict = dict()
tenants = Tenants.objects.filter()
tenant_ids = {tenant_id.ID: tenant_id.tenant_id for tenant_id in tenants}
json_tenant_ids = json.dumps([ten.tenant_id for ten in tenants])
for user_id in user_id_list:
user_id_dict[tenant_ids.get(user_id["tenant_id"])] = user_id_dict.get(tenant_ids.get(user_id["tenant_id"]), 0) + 1
ret_team = list()
for usable_region in usable_regions:
try:
region_tenants, _ = team_services.get_tenant_list_by_region(
enterprise_id, usable_region.region_id, page=page, page_size=page_size)
enterprise_id, usable_region.region_id, page=1, page_size=9999, tenant_ids=json_tenant_ids)
for region_tenant in region_tenants:
tenant = tenant_names.get(region_tenant["tenant_name"])
if tenant:
Expand All @@ -193,10 +194,10 @@ def get(self, request, enterprise_id, *args, **kwargs):
tenant["memory_request"] = tenant.get("memory_request", 0) + region_tenant["memory_request"]
tenant["cpu_request"] = tenant.get("cpu_request", 0) + region_tenant["cpu_request"]
tenant["set_limit_memory"] = tenant.get("set_limit_memory", 0) + region_tenant["set_limit_memory"]
ret_team.append(tenant)
except Exception as e:
logger.exception(e)
data = {"total_count": total, "page": page, "page_size": page_size, "list": ret_team}
teams = sorted(teams, key=lambda team: team.get("memory_request", 0), reverse=True)
data = {"total_count": total, "page": page, "page_size": page_size, "list": teams}
result = general_message(200, "success", None, bean=data)
return Response(result, status=status.HTTP_200_OK)

Expand Down
4 changes: 2 additions & 2 deletions www/apiclient/regionapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -1957,13 +1957,13 @@ def add_resource(self, enterprise_id, region, data):
res, body = self._post(url, self.default_headers, body=json.dumps(data), region=region_info.region_name, timeout=30)
return res, body

def list_tenants(self, enterprise_id, region, page=1, page_size=10):
def list_tenants(self, enterprise_id, region, page=1, page_size=10, tenant_ids=""):
"""list tenants"""
region_info = self.get_enterprise_region_info(enterprise_id, region)
if not region_info:
raise ServiceHandleException("region not found")
url = region_info.url
url += "/v2/tenants?page={0}&pageSize={1}&eid={2}".format(page, page_size, enterprise_id)
url += "/v2/tenants?page={0}&pageSize={1}&eid={2}&tenant_ids={3}".format(page, page_size, enterprise_id, tenant_ids)
try:
res, body = self._get(url, self.default_headers, region=region_info.region_name)
return res, body
Expand Down

0 comments on commit 38bd921

Please sign in to comment.