Esempio n. 1
0
 def get_init_container(self, init_command, init_args, env_vars,
                        context_mounts, persistence_outputs,
                        persistence_data):
     """Pod init container for setting outputs path."""
     env_vars = to_list(env_vars, check_none=True)
     outputs_path = stores.get_job_outputs_path(
         persistence=persistence_outputs, job_name=self.job_name)
     _, outputs_volume_mount = get_pod_outputs_volume(
         persistence_outputs=persistence_outputs)
     volume_mounts = outputs_volume_mount + to_list(context_mounts,
                                                    check_none=True)
     init_command = init_command or ["/bin/sh", "-c"]
     init_args = init_args or to_list(
         get_output_args(command=InitCommands.CREATE,
                         outputs_path=outputs_path))
     init_args += to_list(
         get_auth_context_args(entity='job', entity_name=self.job_name))
     return client.V1Container(
         name=self.init_container_name,
         image=self.init_docker_image,
         image_pull_policy=self.init_docker_image_pull_policy,
         command=init_command,
         args=[''.join(init_args)],
         env=env_vars,
         volume_mounts=volume_mounts)
Esempio n. 2
0
    def get_init_container(self):
        """Pod init container for setting outputs path."""
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.RESUME:
            return []
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.COPY:
            command = InitCommands.COPY
            original_outputs_path = get_experiment_outputs_path(experiment_name=self.original_name)
        else:
            command = InitCommands.CREATE
            original_outputs_path = None

        outputs_path = get_experiment_outputs_path(experiment_name=self.experiment_name)
        outputs_volume_mount = get_volume_mount(
            volume=constants.DATA_VOLUME,
            volume_mount=settings.DATA_ROOT)
        return [
            client.V1Container(
                name=self.init_container_name,
                image=self.init_docker_image,
                command=["/bin/sh", "-c"],
                args=to_list(get_output_args(command=command,
                                             outputs_path=outputs_path,
                                             original_outputs_path=original_outputs_path)),
                volume_mounts=[outputs_volume_mount])
        ]
Esempio n. 3
0
    def get_init_container(self):
        """Pod init container for setting outputs path."""
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.RESUME:
            return []
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.COPY:
            command = InitCommands.COPY
            original_outputs_path = get_experiment_outputs_path(
                experiment_name=self.original_name)
        else:
            command = InitCommands.CREATE
            original_outputs_path = None

        outputs_path = get_experiment_outputs_path(
            experiment_name=self.experiment_name)
        outputs_volume_mount = get_volume_mount(
            volume=constants.DATA_VOLUME, volume_mount=settings.DATA_ROOT)
        return [
            client.V1Container(
                name=self.init_container_name,
                image=self.init_docker_image,
                command=["/bin/sh", "-c"],
                args=to_list(
                    get_output_args(
                        command=command,
                        outputs_path=outputs_path,
                        original_outputs_path=original_outputs_path)),
                volume_mounts=[outputs_volume_mount])
        ]
Esempio n. 4
0
    def get_init_container(self, persistence_outputs):
        """Pod init container for setting outputs path."""
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.RESUME:
            return []
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.COPY:
            command = InitCommands.COPY
            original_outputs_path = get_experiment_outputs_path(
                persistence_outputs=persistence_outputs, experiment_name=self.original_name)
        else:
            command = InitCommands.CREATE
            original_outputs_path = None

        outputs_path = get_experiment_outputs_path(persistence_outputs=persistence_outputs,
                                                   experiment_name=self.experiment_name)
        _, outputs_volume_mount = get_pod_outputs_volume(persistence_outputs=persistence_outputs)
        return [
            client.V1Container(
                name=self.init_container_name,
                image=self.init_docker_image,
                command=["/bin/sh", "-c"],
                args=to_list(get_output_args(command=command,
                                             outputs_path=outputs_path,
                                             original_outputs_path=original_outputs_path)),
                volume_mounts=outputs_volume_mount)
        ]
Esempio n. 5
0
 def get_init_container(self, persistence_outputs):
     """Pod init container for setting outputs path."""
     outputs_path = get_job_outputs_path(persistence_outputs=persistence_outputs,
                                         job_name=self.job_name)
     _, outputs_volume_mount = get_pod_outputs_volume(persistence_outputs=persistence_outputs)
     return client.V1Container(
         name=self.init_container_name,
         image=self.init_docker_image,
         command=["/bin/sh", "-c"],
         args=to_list(get_output_args(command=InitCommands.CREATE,
                                      outputs_path=outputs_path)),
         volume_mounts=outputs_volume_mount)
Esempio n. 6
0
 def get_init_container(self):
     """Pod init container for setting outputs path."""
     outputs_path = get_job_outputs_path(job_name=self.job_name)
     outputs_volume_mount = get_volume_mount(
         volume=constants.DATA_VOLUME,
         volume_mount=settings.DATA_ROOT)
     return client.V1Container(
         name=self.init_container_name,
         image=self.init_docker_image,
         command=["/bin/sh", "-c"],
         args=to_list(get_output_args(command=InitCommands.CREATE,
                                      outputs_path=outputs_path)),
         volume_mounts=[outputs_volume_mount])
Esempio n. 7
0
 def get_init_container(self):
     """Pod init container for setting outputs path."""
     outputs_path = get_job_outputs_path(job_name=self.job_name)
     outputs_volume_mount = get_volume_mount(
         volume=constants.DATA_VOLUME, volume_mount=settings.DATA_ROOT)
     return client.V1Container(name=self.init_container_name,
                               image=self.init_docker_image,
                               command=["/bin/sh", "-c"],
                               args=to_list(
                                   get_output_args(
                                       command=InitCommands.CREATE,
                                       outputs_path=outputs_path)),
                               volume_mounts=[outputs_volume_mount])
Esempio n. 8
0
 def get_init_container(self, init_command, init_args, env_vars,
                        context_mounts, persistence_outputs,
                        persistence_data):
     """Pod init container for setting outputs path."""
     outputs_path = stores.get_job_outputs_path(
         persistence=persistence_outputs, job_name=self.job_name)
     _, outputs_volume_mount = get_pod_outputs_volume(
         persistence_outputs=persistence_outputs)
     init_command = init_command or ["/bin/sh", "-c"]
     init_args = init_args or to_list(
         get_output_args(command=InitCommands.CREATE,
                         outputs_path=outputs_path))
     return client.V1Container(
         name=self.init_container_name,
         image=self.init_docker_image,
         image_pull_policy=self.init_docker_image_pull_policy,
         command=init_command,
         args=init_args,
         volume_mounts=outputs_volume_mount)
Esempio n. 9
0
    def get_init_container(self,
                           init_command,
                           init_args,
                           env_vars,
                           context_mounts,
                           persistence_outputs,
                           persistence_data):
        """Pod init container for setting outputs path."""
        env_vars = to_list(env_vars, check_none=True)
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.RESUME:
            return []
        if self.original_name is not None and self.cloning_strategy == CloningStrategy.COPY:
            command = InitCommands.COPY
            original_outputs_path = stores.get_experiment_outputs_path(
                persistence=persistence_outputs,
                experiment_name=self.original_name)
        else:
            command = InitCommands.CREATE
            original_outputs_path = None

        outputs_path = stores.get_experiment_outputs_path(
            persistence=persistence_outputs,
            experiment_name=self.experiment_name)
        _, outputs_volume_mount = get_pod_outputs_volume(persistence_outputs=persistence_outputs)
        volume_mounts = outputs_volume_mount + to_list(context_mounts, check_none=True)
        init_command = init_command or ["/bin/sh", "-c"]
        init_args = init_args or to_list(
            get_output_args(command=command,
                            outputs_path=outputs_path,
                            original_outputs_path=original_outputs_path))
        init_args += to_list(get_auth_context_args(entity='experiment',
                                                   entity_name=self.experiment_name))
        return [
            client.V1Container(
                name=self.init_container_name,
                image=self.init_docker_image,
                image_pull_policy=self.init_docker_image_pull_policy,
                command=init_command,
                args=[''.join(init_args)],
                env=env_vars,
                resources=get_init_resources(),
                volume_mounts=volume_mounts)
        ]