Пример #1
0
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.')
Пример #2
0
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.')
Пример #3
0
def test_sandbox_provider_docker_container():
    sandbox = DefaultSandboxProvider().from_assigned_task(
        AssignedTask(task=TaskConfig(container=Container(
            docker=DockerContainer()))))

    assert sandbox._user is None