示例#1
0
def start_docker_instance(proxy_bind_addr, bundle_http_port, proxy_ports,
                          all_feature_ports):
    log = logging.getLogger(__name__)
    log.info(h1('Starting HAProxy'))

    docker_image = terminal.docker_images(HAPROXY_DOCKER_IMAGE)
    if not docker_image:
        log.info('Pulling docker image {}'.format(HAPROXY_DOCKER_IMAGE))
        terminal.docker_pull(HAPROXY_DOCKER_IMAGE)

    all_proxy_ports = [bundle_http_port]
    all_proxy_ports.extend(DEFAULT_PROXY_PORTS)
    all_proxy_ports.extend(all_feature_ports)
    all_proxy_ports.extend(proxy_ports)
    all_proxy_ports = sorted(set(all_proxy_ports))

    port_args = []
    for port in all_proxy_ports:
        port_args.append('-p')
        port_args.append('{}:{}:{}'.format(proxy_bind_addr.exploded, port,
                                           port))

    docker_args = ['-d', '--name', DEFAULT_SANDBOX_PROXY_CONTAINER_NAME] + port_args + \
                  ['-v', '{}:/usr/local/etc/haproxy:ro'.format(HAPROXY_CFG_DIR)]

    log.info('Exposing the following ports {}'.format(all_proxy_ports))
    terminal.docker_run(docker_args, HAPROXY_DOCKER_IMAGE, positional_args=[])
示例#2
0
def run_conductr_cmd(instance, container_name, cond0_ip, envs, image, log_level, ports, feature_names, conductr_roles):
    general_args = ['-d', '--name', container_name]
    env_args = resolve_docker_run_envs(envs, log_level, cond0_ip, feature_names, conductr_roles)
    port_args = resolve_docker_run_port_args(ports | CONDUCTR_PORTS, instance)
    optional_args = general_args + env_args + port_args
    positional_args = resolve_docker_run_positional_args(cond0_ip)
    terminal.docker_run(optional_args, image, positional_args)
示例#3
0
def run_conductr_cmd(instance, nr_of_instances, container_name, cond0_ip, envs, image, log_level, ports,
                     bundle_http_port, conductr_features, conductr_roles, conductr_args):
    general_args = ['-d', '--name', container_name]
    env_args = resolve_docker_run_envs(instance, nr_of_instances, envs, log_level, cond0_ip,
                                       conductr_features, conductr_roles, conductr_args)
    all_conductr_ports = CONDUCTR_PORTS | {bundle_http_port}
    port_args = resolve_docker_run_port_args(ports | all_conductr_ports, instance)
    optional_args = general_args + env_args + port_args
    additional_optional_args = resolve_conductr_docker_run_opts()
    positional_args = resolve_docker_run_positional_args(cond0_ip)
    terminal.docker_run(optional_args + additional_optional_args, image, positional_args)
示例#4
0
def run_conductr_cmd(instance, container_name, cond0_ip, envs, image,
                     log_level, ports, bundle_http_port, feature_names,
                     conductr_roles):
    general_args = ['-d', '--name', container_name]
    env_args = resolve_docker_run_envs(envs, log_level, cond0_ip,
                                       feature_names, conductr_roles)
    all_conductr_ports = CONDUCTR_PORTS | {bundle_http_port}
    port_args = resolve_docker_run_port_args(ports | all_conductr_ports,
                                             instance)
    optional_args = general_args + env_args + port_args
    positional_args = resolve_docker_run_positional_args(cond0_ip)
    terminal.docker_run(optional_args, image, positional_args)
示例#5
0
    def test_docker_run(self):
        optional_args = ['-p', '9001:9001', '-e', 'AKKA_LOGLEVEL=info']
        image = 'image:version'
        positional_args = ['--discover-host-ip']
        stdout = MagicMock()
        subprocess_call_mock = MagicMock()

        with patch('subprocess.call', subprocess_call_mock), \
                patch('sys.stdout', stdout):
            terminal.docker_run(optional_args, image, positional_args)

        self.assertEqual('', self.output(stdout))
        subprocess_call_mock.assert_called_with(['docker', 'run'] + optional_args + [image] + positional_args)
示例#6
0
    def test_docker_run(self):
        optional_args = ['-p', '9001:9001', '-e', 'AKKA_LOGLEVEL=info']
        image = 'image:version'
        positional_args = ['--discover-host-ip']
        stdout = MagicMock()
        subprocess_call_mock = MagicMock()

        with patch('subprocess.call', subprocess_call_mock), \
                patch('sys.stdout', stdout):
            terminal.docker_run(optional_args, image, positional_args)

        self.assertEqual('', self.output(stdout))
        subprocess_call_mock.assert_called_with(['docker', 'run'] +
                                                optional_args + [image] +
                                                positional_args)