Exemple #1
0
def docker_client():
    urllib3_connectionpool_handler = logging.getLogger("urllib3.connectionpool")
    urllib3_connectionpool_handler_level = urllib3_connectionpool_handler.level
    urllib3_connectionpool_handler.setLevel(logging.INFO)
    try:
        client = docker.from_env()
        connectable = SaltVirtMinionContainerFactory.client_connectable(client)
        if connectable is not True:  # pragma: no cover
            pytest.skip(connectable)
        client.images.pull("quay.io/rst0git/virt-minion")
        yield client
    finally:
        urllib3_connectionpool_handler.setLevel(urllib3_connectionpool_handler_level)
Exemple #2
0
def virt_minion_0(
    salt_factories,
    salt_master,
    docker_client,
    salt_minion_script_path,
    virt_minion_0_id,
    virt_minion_1_id,
):
    root_dir = salt_factories.get_root_dir_for_daemon(virt_minion_0_id)
    config_defaults = {
        "root_dir": str(root_dir),
        "id": virt_minion_0_id,
        "open_mode": True,
        "transport": salt_master.config["transport"],
    }
    config_overrides = {"user": "******"}
    config = SaltVirtMinionContainerFactory.configure(
        factories_manager=salt_factories,
        daemon_id=virt_minion_0_id,
        root_dir=root_dir,
        defaults=config_defaults,
        overrides=config_overrides,
        master=salt_master,
    )
    salt_factories.final_minion_config_tweaks(config)
    loaded_config = SaltVirtMinionContainerFactory.write_config(config)
    factory = SaltVirtMinionContainerFactory(
        name=virt_minion_0_id,
        image="quay.io/rst0git/virt-minion",
        docker_client=docker_client,
        config=loaded_config,
        script_name=salt_minion_script_path,
        start_timeout=60,
        factories_manager=salt_factories,
        event_listener=salt_factories.event_listener,
        container_run_kwargs={
            "extra_hosts": {
                virt_minion_0_id: "127.0.0.1",
                virt_minion_1_id: "127.0.0.1",
            }
        },
    )
    factory.after_terminate(
        pytest.helpers.remove_stale_minion_key, salt_master, factory.id
    )
    with factory.started():
        yield factory