Beispiel #1
0
from console.services.app_actions import app_manage_service
from console.services.app_check_service import AppCheckService
from console.services.app_config.app_relation_service import AppServiceRelationService
from console.services.group_service import group_service
from console.utils.timeutil import current_time_str
from www.apiclient.regionapi import RegionInvokeApi
from www.models.main import TenantServiceInfo
from www.tenantservice.baseservice import BaseTenantService
from www.utils.crypt import make_uuid
from console.enum.component_enum import ComponentType

region_api = RegionInvokeApi()
logger = logging.getLogger("default")
baseService = BaseTenantService()
app_check_service = AppCheckService()
app_relation_service = AppServiceRelationService()


class ComposeService(object):
    def yaml_to_json(self, compose_tontent):
        try:
            buf = StringIO(compose_tontent)
            res = yaml.safe_load(buf)
            return 200, "success", res
        except yaml.YAMLError as exc:
            return 400, "yaml内容格式不正确{0}".format(exc.message), {}

    def create_group_compose(self, tenant, region, group_id, compose_content, hub_user="", hub_pass=""):
        gc = compose_repo.get_group_compose_by_group_id(group_id)
        if gc:
            return 409, "该组已与其他compose组关联", None
Beispiel #2
0
from console.repositories.plugin import service_plugin_config_repo
from console.services.app import app_service
from console.services.app_config.app_relation_service import AppServiceRelationService
from console.services.rbd_center_app_service import rbd_center_app_service
from goodrain_web.tools import JuncheePaginator
from www.apiclient.regionapi import RegionInvokeApi
from www.models.plugin import PluginConfigGroup
from www.models.plugin import PluginConfigItems
from www.models.plugin import ServicePluginConfigVar
from www.utils.crypt import make_uuid

region_api = RegionInvokeApi()
logger = logging.getLogger("default")
plugin_config_service = PluginConfigService()
plugin_version_service = PluginBuildVersionService()
dependency_service = AppServiceRelationService()


class AppPluginService(object):
    def get_service_abled_plugin(self, service):
        plugins = app_plugin_relation_repo.get_service_plugin_relation_by_service_id(
            service.service_id).filter(plugin_status=True)
        plugin_ids = [p.plugin_id for p in plugins]
        base_plugins = plugin_repo.get_plugin_by_plugin_ids(plugin_ids)
        return base_plugins

    def get_plugin_used_services(self, plugin_id, tenant_id, page, page_size):
        aprr = app_plugin_relation_repo.get_used_plugin_services(plugin_id)
        service_ids = [r.service_id for r in aprr]
        service_plugin_version_map = {
            r.service_id: r.build_version