From 8f309d446d6f5dd3aff91bf81bd1b72cf7855ff5 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Mon, 8 Jun 2015 13:13:25 -0700 Subject: [PATCH] wip --- .../connect-services.py | 17 ++++++++++------- .../unlink-services.py | 0 2 files changed, 10 insertions(+), 7 deletions(-) rename connect-services.py => link-with-netns/connect-services.py (81%) rename unlink-services.py => link-with-netns/unlink-services.py (100%) diff --git a/connect-services.py b/link-with-netns/connect-services.py similarity index 81% rename from connect-services.py rename to link-with-netns/connect-services.py index c5ad20e5..277399e0 100755 --- a/connect-services.py +++ b/link-with-netns/connect-services.py @@ -11,7 +11,7 @@ ports = yaml.load(open("ports.yml")) project_name = os.path.basename(os.path.realpath(".")) -ambassadors = {} +ambassadors = [] service_instances = {} @@ -25,7 +25,7 @@ for service_name in stack: container_name = "{}_{}_{}".format(project_name, service_name, n) subprocess.check_call( [ "docker", "inspect", container_name ], - stderr=open("/dev/null","a") + stdout=-1, stderr=-1 ) service_instances[service_name].append(container_name) except subprocess.CalledProcessError: @@ -40,13 +40,13 @@ for service_name, service in stack.items(): "Your code will probably break." .format(link, service_name)) continue - port = ports[link_name] + port = str(ports[link_name]) endpoints = [] for container_name in service_instances[link_name]: endpoint = subprocess.check_output( ["docker", "port", container_name, port] ) - endpoints.append(port) + endpoints.append(endpoint.strip()) print("Endpoints found for {}->{}:".format(service_name, link_name)) print(endpoints) for container_name in service_instances[service_name]: @@ -55,9 +55,12 @@ for service_name, service in stack.items(): ambassador["net"] = "container:"+container_name command = "{}:{}".format(link_addr, port) for endpoint in endpoints: - command = command + " {} {}".format(endpoint.split(':')) + command = command + " {} {}".format(*endpoint.split(':')) ambassador["command"] = command n = len(ambassadors) - ambassadors["amba{}".format(n)] = ambassador + ambassador["name"] = "amba{}".format(n) + ambassadors.append(ambassador) + +for amba in ambassadors: + print("docker run -d --name {name} --net {net} {image} {command}".format(**amba)) -yaml.safe_dump(open("ambassadors.yml", "w")) diff --git a/unlink-services.py b/link-with-netns/unlink-services.py similarity index 100% rename from unlink-services.py rename to link-with-netns/unlink-services.py