def create_container_config(container): if container is Empty: return Container(MesosContainer(), None) elif container.docker() is not Empty: params = list() if container.docker().parameters() is not Empty: for p in fully_interpolated(container.docker().parameters()): params.append(DockerParameter(p['name'], p['value'])) return Container(None, DockerContainer(fully_interpolated(container.docker().image()), params)) else: raise InvalidConfig('If a container is specified it must set one type.')
def create_container_config(container): if container is Empty: return Container(MesosContainer(), None) def is_docker_container(c): return isinstance(c, PystachioContainer) and c.docker() is not None unwrapped = container.unwrap() if isinstance(unwrapped, Docker) or is_docker_container(unwrapped): return Container(None, (create_docker_container(unwrapped.docker( ) if is_docker_container(unwrapped) else unwrapped))) if isinstance(unwrapped, Mesos): image = image_to_thrift(unwrapped.image()) volumes = volumes_to_thrift(unwrapped.volumes()) return Container(MesosContainer(image, volumes), None) raise InvalidConfig('If a container is specified it must set one type.')
def test_sandbox_provider_docker_container(): sandbox = DefaultSandboxProvider().from_assigned_task( AssignedTask(task=TaskConfig(container=Container( docker=DockerContainer())))) assert sandbox._user is None