示例#1
0
    def pre_add(self, item):

        item.name = item.name.replace('_', '-')[0:54].lower()
        if item.job_template is None:
            raise MyappException("Job Template 为必选")

        item.volume_mount = item.pipeline.project.volume_mount  # 默认使用项目的配置

        if item.job_template.volume_mount and item.job_template.volume_mount not in item.volume_mount:
            if item.volume_mount:
                item.volume_mount += "," + item.job_template.volume_mount
            else:
                item.volume_mount = item.job_template.volume_mount
        item.resource_memory = core.check_resource_memory(item.resource_memory)
        item.resource_cpu = core.check_resource_cpu(item.resource_cpu)
        self.merge_args(item, 'add')
        self.task_args_check(item)
        item.create_datetime = datetime.datetime.now()
        item.change_datetime = datetime.datetime.now()

        if core.get_gpu(item.resource_gpu)[0]:
            item.node_selector = item.node_selector.replace(
                'cpu=true', 'gpu=true')
        else:
            item.node_selector = item.node_selector.replace(
                'gpu=true', 'cpu=true')
示例#2
0
    def pre_add(self, item):
        if item.job_type is None:
            raise MyappException("Job type is mandatory")

        core.validate_json(item.parameters)
        item.parameters = self.validate_parameters(item.parameters,item.algorithm_name)

        item.resource_memory=core.check_resource_memory(item.resource_memory,self.src_item_json.get('resource_memory',None) if self.src_item_json else None)
        item.resource_cpu = core.check_resource_cpu(item.resource_cpu,self.src_item_json.get('resource_cpu',None) if self.src_item_json else None)
        self.merge_trial_spec(item)
        self.make_experiment(item)
示例#3
0
    def pre_add(self, item):
        item.name = item.name.replace("_", "-")[0:54].lower()

        # 不需要用户自己填写node selector
        # if core.get_gpu(item.resource_gpu)[0]:
        #     item.node_selector = item.node_selector.replace('cpu=true','gpu=true')
        # else:
        #     item.node_selector = item.node_selector.replace('gpu=true', 'cpu=true')

        item.resource_memory = core.check_resource_memory(
            item.resource_memory,
            self.src_item_json.get('resource_memory', None))
        item.resource_cpu = core.check_resource_cpu(
            item.resource_cpu, self.src_item_json.get('resource_cpu', None))

        if 'theia' in item.images or 'vscode' in item.images:
            item.ide_type = 'theia'
        else:
            item.ide_type = 'jupyter'

        if not item.id:
            item.volume_mount = item.project.volume_mount
示例#4
0
    def pre_update(self, item):
        item.name = item.name.replace('_', '-')[0:54].lower()
        if item.job_template is None:
            raise MyappException("Job Template 为必选")
        # if item.job_template.volume_mount and item.job_template.volume_mount not in item.volume_mount:
        #     if item.volume_mount:
        #         item.volume_mount += ","+item.job_template.volume_mount
        #     else:
        #         item.volume_mount = item.job_template.volume_mount
        if item.outputs:
            core.validate_json(item.outputs)
            item.outputs = json.dumps(json.loads(item.outputs),
                                      indent=4,
                                      ensure_ascii=False)
        if item.expand:
            core.validate_json(item.expand)
            item.expand = json.dumps(json.loads(item.expand),
                                     indent=4,
                                     ensure_ascii=False)

        item.resource_memory = core.check_resource_memory(
            item.resource_memory,
            self.src_item_json.get('resource_memory', None))
        item.resource_cpu = core.check_resource_cpu(
            item.resource_cpu, self.src_item_json.get('resource_cpu', None))
        # item.resource_memory=core.check_resource_memory(item.resource_memory,self.src_resource_memory)
        # item.resource_cpu = core.check_resource_cpu(item.resource_cpu,self.src_resource_cpu)

        self.merge_args(item, 'update')
        self.task_args_check(item)
        item.change_datetime = datetime.datetime.now()

        if core.get_gpu(item.resource_gpu)[0]:
            item.node_selector = item.node_selector.replace(
                'cpu=true', 'gpu=true')
        else:
            item.node_selector = item.node_selector.replace(
                'gpu=true', 'cpu=true')