This commit is contained in:
Jerome Petazzoni
2015-06-08 13:13:25 -07:00
parent e2317e8db0
commit 8f309d446d
2 changed files with 10 additions and 7 deletions

View File

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