Beispiel #1
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self._client = docker_client_config().get_client()
        self._low_level_client = docker_client_config().get_low_level_client()

        self._prepare_outputs()
Beispiel #2
0
 def build(self, image_info: ImageInfo):
     image_info_json = image_info.to_json()
     if image_info.image_state == ImageState.NEEDS_TO_BE_BUILD.name:
         yield DockerBuildImageTask(image_name=self.image_name,
                                    image_info_json=image_info_json)
         image_info.image_state = ImageState.WAS_BUILD.name
     elif image_info.image_state == ImageState.CAN_BE_LOADED.name:
         yield DockerLoadImageTask(image_name=self.image_name,
                                   image_info_json=image_info_json)
         image_info.image_state = ImageState.WAS_LOADED.name
     elif image_info.image_state == ImageState.REMOTE_AVAILABLE.name:
         yield DockerPullImageTask(image_name=self.image_name,
                                   image_info_json=image_info_json)
         image_info.image_state = ImageState.WAS_PULLED.name
     elif image_info.image_state == ImageState.TARGET_LOCALLY_AVAILABLE.name:
         image_info.image_state = ImageState.USED_LOCAL.name
     elif image_info.image_state == ImageState.SOURCE_LOCALLY_AVAILABLE.name:
         image_info.image_state = ImageState.WAS_TAGED.name
         docker_client_config().get_client().images.get(
             image_info.get_source_complete_name()).tag(
                 repository=image_info.target_repository_name,
                 tag=image_info.get_target_complete_tag())
     else:
         raise Exception(
             "Task %s: Image state %s not supported for image %s",
             self.task_id, image_info.image_state,
             image_info.get_target_complete_name())
Beispiel #3
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self._client = docker_client_config().get_client()
     self._low_level_client = docker_client_config().get_low_level_client()
     self._test_container_info = ContainerInfo.from_dict(
         self.test_container_info_dict)
     self._database_info = DatabaseInfo.from_dict(self.database_info_dict)
     self._prepare_outputs()
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self._client = docker_client_config().get_client()
        self._low_level_client = docker_client_config().get_low_level_client()
        if self.ip_address_index_in_subnet < 0:
            raise Exception(
                "ip_address_index_in_subnet needs to be greater than 0 got %s"
                % self.ip_address_index_in_subnet)
        self._prepare_outputs()
 def stop(cls, test_environment_info: EnvironmentInfo):
     cls.logger.info("Stopping environment %s", test_environment_info.name)
     _docker_config = docker_client_config()
     _client = docker_client_config().get_client()
     db_container = _client.containers.get(
         test_environment_info.database_info.container_info.container_name)
     db_container.remove(force=True, v=True)
     test_container = _client.containers.get(
         test_environment_info.test_container_info.container_name)
     test_container.remove(force=True, v=True)
     network = _client.networks.get(
         test_environment_info.test_container_info.network_info.network_name
     )
     network.remove()
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self._source_repository_name = self.get_source_repository_name()
     self._target_repository_name = self.get_target_repository_name()
     self._source_image_tag = self.get_source_image_tag()
     self._target_image_tag = self.get_target_image_tag()
     merged_transparent_build_arguments = {
         **self.get_transparent_build_arguments(),
         **docker_build_arguments().transparent
     }
     merged_image_changing_build_arguments = {
         **self.get_image_changing_build_arguments(),
         **docker_build_arguments().image_changing
     }
     self.image_description = ImageDescription(
         dockerfile=self.get_dockerfile(),
         mapping_of_build_files_and_directories=self.
         get_mapping_of_build_files_and_directories(),
         image_changing_build_arguments=
         merged_image_changing_build_arguments,
         transparent_build_arguments=merged_transparent_build_arguments)
     self._dockerfile = self.get_dockerfile()
     self._prepare_outputs()
     self._build_context_hasher = \
         BuildContextHasher(self.__repr__(),
                            self.image_description)
     self._client = docker_client_config().get_client()
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self._client = docker_client_config().get_client()
        self._log_config = log_config()
        self.docker_image_task = self.get_docker_image_task()
        self._prepare_outputs()
Beispiel #8
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.client = docker_client_config().get_client()
     self.image_info = ImageInfo.from_json(self.image_info_json)
     self.image_target = DockerImageTarget(
         self.image_info.target_repository_name,
         self.image_info.get_target_complete_tag())
     self.remove_image()
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)


        test_evironment_info = EnvironmentInfo.from_dict(self.test_environment_info_dict)
        self._test_container_info = test_evironment_info.test_container_info
        self._database_info = test_evironment_info.database_info
        self._client = docker_client_config().get_client()
        self._prepare_outputs()
 def create_and_export_container(self, release_image_name: str, temp_directory: str):
     self.logger.info("Task %s: Export container %s", self.__repr__(), release_image_name)
     client = docker_client_config().get_client()
     try:
         container = client.containers.create(image=release_image_name)
         try:
             return self.export_container(container, release_image_name, temp_directory)
         finally:
             container.remove(force=True)
     finally:
         client.close()
Beispiel #11
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        test_evironment_info = EnvironmentInfo.from_dict(
            self.test_environment_info_dict)
        self._test_container_info = test_evironment_info.test_container_info
        self._client = docker_client_config().get_client()
        self._prepare_outputs()
        self.test_container = self._client.containers.get(
            self._test_container_info.container_name)
        self.tasks = self.generate_test_task_configs_from_directory(
            self.test_container, self.directory)
    def __init__(self, task_id: str):


        self._log_config = log_config()
        self._low_level_client = docker_client_config().get_low_level_client()
        self._task_id = task_id