3e3ae58ed538813d433d3ed7c7d83c689aefaa8c
[integration/csit.git] / tests / dcaegen2-pmmapper / files-processing-config-pmmapper / libraries / DockerContainerManager.py
1 import docker
2 from EnvsReader import EnvsReader
3 from docker.types import Mount
4
5 class DockerContainerManager:
6
7     def run_pmmapper_container(self, client_image, container_name, path_to_env, dr_node_ip, mr_ip):
8         client = docker.from_env()
9         environment = EnvsReader().read_env_list_from_file(path_to_env)
10         environment.append("CONFIG_BINDING_SERVICE_SERVICE_HOST=172.18.0.5")
11         environment.append("CONFIG_BINDING_SERVICE_SERVICE_PORT=10000")
12         environment.append("HOSTNAME=pmmapper")
13         client.containers.run(
14             image=client_image,
15             name=container_name,
16             environment=environment,
17             ports={'8081': 8081},
18             network='filesprocessingconfigpmmapper_pmmapper-network',
19             extra_hosts={'dmaap-dr-node': dr_node_ip, 'message-router': mr_ip},
20             user='root',
21             mounts=[Mount(target='/opt/app/pm-mapper/etc/certs/', source='/var/tmp/', type='bind')],
22             detach=True
23         )
24
25     def remove_container(self, container_name):
26         client = docker.from_env()
27         container = client.containers.get(container_name)
28         container.stop()
29         container.remove()