Exemple #1
0
    def __save_port(self, tenant, service, ports):
        if not tenant or not service:
            return
        if ports:
            # delete ports before add
            port_service.delete_service_port(tenant, service)
            for port in ports:
                code, msg, port_data = port_service.add_service_port(
                    tenant, service, int(port["container_port"]),
                    port["protocol"],
                    service.service_alias.upper() +
                    str(port["container_port"]))
                if code != 200:
                    logger.error(
                        "save service check info port error {0}".format(msg))
        else:
            if service.service_source == AppConstants.SOURCE_CODE:
                port_service.delete_service_port(tenant, service)
                _, _, t_port = port_service.add_service_port(
                    tenant, service, 5000, "http",
                    service.service_alias.upper() + str(5000), False, True)
                region_info = region_services.get_enterprise_region_by_region_name(
                    tenant.enterprise_id, service.service_region)
                if region_info:
                    domain_service.create_default_gateway_rule(
                        tenant, region_info, service, t_port)
                else:
                    logger.error(
                        "get region {0} from enterprise {1} failure".format(
                            tenant.enterprise_id, service.service_region))

        return 200, "success"
Exemple #2
0
    def post(self, request, *args, **kwargs):
        """
        为组件添加端口
        ---
        parameters:
            - name: tenantName
              description: 租户名
              required: true
              type: string
              paramType: path
            - name: serviceAlias
              description: 组件别名
              required: true
              type: string
              paramType: path
            - name: port
              description: 端口
              required: true
              type: integer
              paramType: form
            - name: protocol
              description: 端口协议
              required: true
              type: string
              paramType: form
            - name: port_alias
              description: 端口别名
              required: true
              type: string
              paramType: form
            - name: is_inner_service
              description: 是否打开对内组件
              required: true
              type: boolean
              paramType: form
            - name: is_outer_service
              description: 是否打开对外组件
              required: true
              type: boolean
              paramType: form

        """
        port = request.data.get("port", None)
        protocol = request.data.get("protocol", None)
        port_alias = request.data.get("port_alias", None)
        is_inner_service = request.data.get('is_inner_service', False)
        is_outer_service = request.data.get('is_outer_service', False)
        if not port:
            return Response(general_message(400, "params error", u"缺少端口参数"), status=400)
        if not protocol:
            return Response(general_message(400, "params error", u"缺少协议参数"), status=400)
        if not port_alias:
            port_alias = self.service.service_alias.upper().replace("-", "_") + str(port)
        code, msg, port_info = port_service.add_service_port(self.tenant, self.service, port, protocol, port_alias,
                                                             is_inner_service, is_outer_service)
        if code != 200:
            return Response(general_message(code, "add port error", msg), status=code)

        result = general_message(200, "success", "端口添加成功", bean=model_to_dict(port_info))
        return Response(result, status=result["code"])
Exemple #3
0
 def __save_check_port(self, tenant, service, ports):
     if not ports:
         return
     for port in ports:
         code, msg, port_data = port_service.add_service_port(
             tenant, service, int(port["container_port"]), port["protocol"],
             service.service_alias.upper() + str(port["container_port"]))
         if code != 200:
             logger.error(
                 "save service check info port error {0}".format(msg))
 def __save_port(self, tenant, service, ports):
     if not ports:
         return 200, "success"
     for port in ports:
         code, msg, port_data = port_service.add_service_port(
             tenant, service, int(port["container_port"]), port["protocol"],
             port["port_alias"], port["is_inner_service"],
             port["is_outer_service"])
         if code != 200:
             logger.error("save market app port error".format(msg))
             return code, msg
     return 200, "success"
Exemple #5
0
 def __save_port(self, tenant, service, ports):
     if ports:
         # 删除原有port
         port_service.delete_service_port(tenant, service)
         for port in ports:
             code, msg, port_data = port_service.add_service_port(tenant, service,
                                                                  int(port["container_port"]),
                                                                  port["protocol"],
                                                                  service.service_alias.upper() + str(
                                                                      port["container_port"]))
             if code != 200:
                 logger.error("service.check", "save service check info port error {0}".format(msg))
                 # return code, msg
     else:
         if service.service_source == AppConstants.SOURCE_CODE:
             port_service.delete_service_port(tenant, service)
             # 添加默认5000端口
             port_service.add_service_port(tenant, service, 5000, "http",
                                           service.service_alias.upper() + str(5000),
                                           False, True)
     return 200, "success"