Ejemplo n.º 1
0
 def useDefaultAttr(self, plugin_id, build_version, tag):
     metaTypeList = plugin_svc.get_service_meta_type(plugin_id, build_version)
     logger.debug("plugin.relation", "metatype List is {}".format(len(metaTypeList)))
     attrsList = []
     for meta_info in metaTypeList:
         attr_list = plugin_svc.get_env_attr_by_service_meta_type(
                 plugin_id=plugin_id, build_version=build_version, service_meta_type=meta_info.service_meta_type)
         logger.debug("plugin.relation", "attr_list is {}".format(len(attr_list)))
         configList = []
         for attrItem in attr_list:
             config = {}
             config["attr_name"]= attrItem.attr_name
             config["attr_type"]= attrItem.attr_type
             config["attr_default_value"]= attrItem.attr_default_value
             #TODO: 可选参数 alternative
             config["attr_alt_value"] = attrItem.attr_alt_value
             config["is_change"]= attrItem.is_change
             config["attr_default_value"] = attrItem.attr_default_value
             config["attr_value"] = attrItem.attr_default_value
             config["attr_info"] = attrItem.attr_info
             configList.append(config)
         logger.debug("plugin.relation", "configList is {}".format(configList))
         pieceList = plugin_svc.getMetaBaseInfo(
                 self.tenant.tenant_id, self.service.service_id, self.serviceAlias, plugin_id, build_version, meta_info, configList, tag)
         logger.debug("plugin.relation", "pieceList is {}".format(pieceList))
         attrsList.extend(pieceList)
     logger.debug("plugin.relation", "attrsList is {}".format(attrsList))
     return attrsList
Ejemplo n.º 2
0
    def get(self, request, plugin_id, build_version, *args, **kwargs):
        # wordpress 依赖 mysql
        try:
            wordpress_alias = "wordpress_alias"
            mysql_alias = "mysql_alias"
            wp_ports = [80, 8081]
            mysql_port = [3306]
            wp_id = "wp_service_id"
            mysql_id = "mysql_service_id"

            config_groups = plugin_svc.get_service_meta_type(
                plugin_id, build_version)
            all_config_group = []
            base_ports = []
            base_services = []
            base_normal = {}
            for config_group in config_groups:
                # get options
                config_items = plugin_svc.get_env_attr_by_service_meta_type(
                    plugin_id, build_version, config_group.service_meta_type)
                items = []
                for item in config_items:
                    item_map = {}
                    item_map[item.attr_name] = item.attr_default_value
                    items.append(item_map)

                if config_group.service_meta_type == ConstKey.UPSTREAM_PORT:
                    for port in wp_ports:
                        base_port = {}
                        base_port["service_alias"] = wordpress_alias
                        base_port["service_id"] = wp_id
                        base_port["port"] = port
                        base_port["protocol"] = "http"
                        base_port["options"] = items
                        base_ports.append(base_port)
                if config_group.service_meta_type == ConstKey.DOWNSTREAM_PORT:
                    for port in mysql_port:
                        base_service = {}
                        base_service["service_alias"] = wordpress_alias
                        base_service["service_id"] = wp_id
                        base_service["port"] = port
                        #base_service["protocol"] = "stream"
                        base_service["protocol"] = "mysql"
                        base_service["options"] = items
                        base_service["depend_service_alias"] = mysql_alias
                        base_service["depend_service_id"] = mysql_id
                        base_services.append(base_service)
                if config_group.service_meta_type == ConstKey.UNDEFINE:
                    base_normal["options"] = items

            bean = {
                "base_ports": base_ports,
                "base_services": base_services,
                "base_normal": base_normal.get("options", None)
            }

            result = general_message(200,
                                     "success",
                                     "操作成功",
                                     bean=bean,
                                     list=all_config_group)
        except Exception as e:
            logger.exception(e)
            result = error_message()
        return JsonResponse(result, status=result["code"])