def __init__(self, entry_point, base_docker_image=None, docker_registry=None, input_files=None, backend=None, pod_spec_mutators=None): self._backend = backend or KubernetesBackend() self._pod_spec_mutators = pod_spec_mutators or [] input_files = input_files or [] output_map = {} preprocessor = guess_preprocessor(entry_point, input_files=input_files, output_map=output_map) logger.debug("Using preprocessor: {}".format(type(preprocessor))) self.docker_registry = docker_registry or backend.get_docker_registry() if not self.docker_registry: raise RuntimeError("Not able find a default docker registry." " Please provide 'docker_registry' argument explicitly." " Docker registry is used to store the output docker images that are executed in the" " remote cluster.") if not docker_registry: logger.warn("Using default docker registry: {}".format(self.docker_registry)) self.base_docker_image = base_docker_image or backend.get_base_contanier() if not self.base_docker_image: raise RuntimeError("Not able find a default base docker image." " Please provide 'base_docker_image' argument explicitly." " Base docker image is used to build the output docker images that are executed in the" " remote cluster.") if not base_docker_image: logger.warn("Using default base docker image: {}".format(self.base_docker_image)) needs_deps_installation = "requirements.txt" in input_files self.builder = self._backend.get_builder(preprocessor=preprocessor, base_image=self.base_docker_image, registry=self.docker_registry, needs_deps_installation=needs_deps_installation) logger.warn("Using builder: {}".format(type(self.builder)))
def __init__(self, entry_point, base_docker_image, docker_registry, input_files=None, backend=None): self._backend = backend or KubernetesBackend() input_files = input_files or [] preprocessor = guess_preprocessor(entry_point, input_files=input_files) logger.warn("Using preprocessor: {}".format(type(preprocessor))) self.docker_registry = docker_registry logger.warn("Using docker registry: {}".format(self.docker_registry)) self.builder = backend.get_builder(preprocessor=preprocessor, base_image=base_docker_image, registry=self.docker_registry) logger.warn("Using builder: {}".format(type(self.builder)))
def test_job_submission_kubernetesbackend(capsys): run_submission_with_high_level_api(KubernetesBackend(), capsys)