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)
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