Пример #1
0
    def _validate_config(self, data):
        config = data['config']
        resource_name = data['resource_name']
        capitalize_name = resource_name.capitalize()
        try:
            name = data['name']
            validate_mesos_res_name(name)
        except ValidationError as e:
            raise ValidationError(f'{capitalize_name} {e}')

        # 校验配置信息中的变量名是否规范
        validate_variable_inconfig(config)

        if settings.IS_TEMPLATE_VALIDATE:
            validate_res_config(config, capitalize_name,
                                get_config_schema(resource_name))

        # 检查单个 APP 中端口名称/挂载名 是否重复
        containers = config.get('spec',
                                {}).get('template',
                                        {}).get('spec',
                                                {}).get('containers', [])
        try:
            self._validate_volume_duplicate(containers)
        except ValidationError as e:
            raise ValidationError(_("挂载名:{},请重新填写").format(e))
        try:
            self._validate_port_duplicate(containers)
        except ValidationError as e:
            raise ValidationError(_("端口名称:{},请重新填写").format(e))

        if data.get('version_id'):
            validate_port_duplicate_in_ventity(containers,
                                               data.get('resource_id'),
                                               data['version_id'])
Пример #2
0
    def _validate_config(self, data):
        config = data['config']
        resource_name = data['resource_name']
        short_name = resource_name[3:]
        try:
            name = data['name']
            validate_k8s_res_name(name)
        except ValidationError as e:
            raise ValidationError(f'{short_name} {e}')

        try:
            validate_pod_selector(config)
        except ValidationError as e:
            raise ValidationError(
                _("{}[{}]中选择器{}").format(short_name, name, e))

        # 校验配置信息中的变量名是否规范
        validate_variable_inconfig(config)

        if settings.IS_TEMPLATE_VALIDATE:
            validate_res_config(config, short_name,
                                get_config_schema(resource_name))
            try:
                validate_affinity(config)
            except ValidationError as e:
                raise ValidationError(f'{short_name} {e}')
Пример #3
0
 def _validate_config(self, data):
     short_name = data['resource_name'][3:]
     try:
         name = data['name']
         validate_k8s_res_name(name)
     except ValidationError as e:
         raise ValidationError(f'{short_name} {e}')
     if settings.IS_TEMPLATE_VALIDATE:
         validate_res_config(data['config'], short_name, get_config_schema(data['resource_name']))
Пример #4
0
    def _validate_config(self, data):
        config = data['config']
        resource_name = data['resource_name']
        capitalize_name = resource_name.capitalize()

        validate_variable_inconfig(config)

        if settings.IS_TEMPLATE_VALIDATE:
            resource_name = data['resource_name']
            validate_res_config(config, capitalize_name, get_config_schema(resource_name))
Пример #5
0
    def _validate_config(self, data):
        config = data['config']
        resource_name = data['resource_name']
        capitalize_name = resource_name.capitalize()
        try:
            name = data['name']
            validate_mesos_res_name(name)
        except ValidationError as e:
            raise ValidationError(f'{capitalize_name} {e}')

        # 校验配置信息中的变量名是否规范
        validate_variable_inconfig(config)

        if settings.IS_TEMPLATE_VALIDATE:
            validate_res_config(config, capitalize_name, get_config_schema(resource_name))
Пример #6
0
 def _validate_config(self, data):
     if settings.IS_TEMPLATE_VALIDATE:
         resource_name = data['resource_name']
         short_name = resource_name[3:]
         validate_res_config(data['config'], short_name,
                             get_config_schema(resource_name))
Пример #7
0
 def _validate_config(self, data):
     config = data['config']
     if settings.IS_TEMPLATE_VALIDATE:
         resource_name = data['resource_name']
         validate_res_config(config, resource_name.capitalize(),
                             get_config_schema(resource_name))