Skip to content

Commit

Permalink
feat: auto update region (#1471)
Browse files Browse the repository at this point in the history
Signed-off-by: 逆流而上 <1666888816@qq.com>
  • Loading branch information
DokiDoki1103 authored Jun 13, 2024
1 parent 58a3142 commit 7f38985
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 8 deletions.
3 changes: 2 additions & 1 deletion console/services/app_config/port_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,8 @@ def __open_outer(self, tenant, service, region, deal_port, user_name='', app=Non
if deal_port.protocol == "http":
service_name = service.service_alias
container_port = deal_port.container_port
domain_name = str(service_name) + "-" + str(container_port) + "-" + str(tenant.tenant_name) + "-" + str(region.httpdomain)
domain_name = str(service_name) + "-" + str(container_port) + "-" + str(tenant.tenant_name) + "-" + str(
region.httpdomain)
protocol = "http"
service_id = service.service_id
http_rule_id = make_uuid(domain_name)
Expand Down
2 changes: 1 addition & 1 deletion console/services/group_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ def batch_delete_app_services(self, user, tenant_id, region_name, app_id):
if service.create_status == "complete":
service_dict["service_id"] = service.service_id
stop_infos_list.append(service_dict)
body = {"operation": "stop", "stop_infos": stop_infos_list,"operator":user.nick_name}
body = {"operation": "stop", "stop_infos": stop_infos_list, "operator": user.nick_name}
try:
region_api.batch_operation_service(region_name, tenant.tenant_name, body)
except region_api.CallApiError as e:
Expand Down
6 changes: 4 additions & 2 deletions console/services/k8s_attribute.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,10 @@ def update_k8s_attribute(self, tenant, component, region_name, attribute):
@transaction.atomic
def delete_k8s_attribute(self, tenant, component, region_name, name, operator):
k8s_attribute_repo.delete(component.service_id, name)
region_api.delete_component_k8s_attribute(tenant.tenant_name, region_name, component.service_alias,
{"name": name, "operator": operator})
region_api.delete_component_k8s_attribute(tenant.tenant_name, region_name, component.service_alias, {
"name": name,
"operator": operator
})


k8s_attribute_service = ComponentK8sAttributeService()
2 changes: 1 addition & 1 deletion console/services/market_app/app_restore.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def __init__(self, tenant, region: RegionConfig, user, app: ServiceGroup, compon
self.original_app = OriginalApp(tenant, region, app, component_group.ID, self.support_labels)
self.snapshot = self._get_snapshot()
self.new_app = self._create_new_app()
super(AppRestore, self).__init__(self.original_app, self.new_app,self.user)
super(AppRestore, self).__init__(self.original_app, self.new_app, self.user)

def restore(self):
# Sync the new application to the data center first
Expand Down
2 changes: 1 addition & 1 deletion console/services/market_app/app_upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ def __init__(self,
self.property_changes.ensure_dep_changes(self.new_app, self.original_app)
self.app_property_changes = self._get_app_property_changes()

super(AppUpgrade, self).__init__(self.original_app, self.new_app,self.user)
super(AppUpgrade, self).__init__(self.original_app, self.new_app, self.user)

def preinstall(self):
self.pre_install_plugins()
Expand Down
2 changes: 1 addition & 1 deletion console/services/market_app/market_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@


class MarketApp(object):
def __init__(self, original_app: OriginalApp, new_app: NewApp,user):
def __init__(self, original_app: OriginalApp, new_app: NewApp, user):
self.original_app = original_app
self.new_app = new_app

Expand Down
3 changes: 3 additions & 0 deletions console/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
TeamRegionInitView, ApplicantsView, RegisterStatusView, MonitorAlarmStatusView, EnterpriseInfoView, \
InitDefaultInfoView, AdminAddUserView, CertificateView, TeamUserCanJoin, TeamsPermissionCreateApp, JoinTeamView, \
UserApplyStatusView
from console.views.upgrade import UpgradeView
from console.views.user import CheckSourceView, UserLogoutView, UserPemTraView, AdministratorJoinTeamView, \
EnterPriseUsersCLView, EnterPriseUsersUDView, AdminUserView, AdminUserLCView, \
AdminRolesView
Expand All @@ -150,6 +151,8 @@
from console.views.yaml_resource import YamlResourceName, YamlResourceDetailed

urlpatterns = [
# 升级
url(r'^update', UpgradeView.as_view()),
# 直接代理到 普罗米修斯
url(r'^open/monitor/query$', MonitorQueryOverConsoleView.as_view()),
url(r'^api-gateway/v1/(?P<tenantName>[\w\-]+)/(.*?)', AppApiGatewayView.as_view()),
Expand Down
2 changes: 1 addition & 1 deletion console/views/k8s_attribute.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def put(self, request, name, *args, **kwargs):
return Response(general_message(200, "success", "修改成功"))

def delete(self, request, name, *args, **kwargs):
k8s_attribute_service.delete_k8s_attribute(self.tenant, self.service, self.region_name, name,self.user.nick_name)
k8s_attribute_service.delete_k8s_attribute(self.tenant, self.service, self.region_name, name, self.user.nick_name)
return Response(general_message(200, "success", "删除成功"))


Expand Down
21 changes: 21 additions & 0 deletions console/views/upgrade.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from django.views.decorators.cache import never_cache

from console.views.base import JWTAuthApiView
from www.apiclient.regionapi import RegionInvokeApi
from console.repositories.region_repo import region_repo
from www.utils.return_message import general_message
from rest_framework.response import Response

region_api = RegionInvokeApi()


class UpgradeView(JWTAuthApiView):
@never_cache
def post(self, request, *args, **kwargs):
regions = region_repo.get_all_regions()
body = {}
for region in regions:
resp = region_api.upgrade_region(region.region_name, request.data)
body[region.region_name] = resp
result = general_message(200, "success", "请求成功", bean=body)
return Response(result, status=200)
7 changes: 7 additions & 0 deletions www/apiclient/regionapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -2947,3 +2947,10 @@ def event_stream():
response = StreamingHttpResponse(event_stream(), content_type='text/event-stream')
response['Content-Encoding'] = 'identity'
return response

def upgrade_region(self, region_name, data):
url, token = self.__get_region_access_info(None, region_name)
url = url + "/v2/cluster/rbd-upgrade"
self._set_headers(token)
res, body = self._post(url, self.default_headers, region=region_name, body=json.dumps(data))
return body

0 comments on commit 7f38985

Please sign in to comment.