From 29ae9a10f2456c3968a9affae511c5830113cc41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Mon, 29 Feb 2016 22:03:25 +0000 Subject: [PATCH] Remove extraneous ambassadors --- bin/create-ambassadors.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/bin/create-ambassadors.py b/bin/create-ambassadors.py index 92705f0a..a810c08b 100755 --- a/bin/create-ambassadors.py +++ b/bin/create-ambassadors.py @@ -32,8 +32,9 @@ for ambassador in ambassadors_data.split('\n'): ambassador_id, container_id, linked_service = ambassador.split() ambassadors[container_id, linked_service] = ambassador_id -# Start the missing ambassadors. operations = [] + +# Start the missing ambassadors. for container in containers_data.split('\n'): if not container: continue @@ -42,7 +43,7 @@ for container in containers_data.split('\n'): for linked_service, bind_address in extra_hosts.items(): description = "Ambassador {}/{}/{}".format( service_name, container_id, linked_service) - ambassador_id = ambassadors.get((container_id, linked_service)) + ambassador_id = ambassadors.pop((container_id, linked_service), None) if ambassador_id: print("{} already exists: {}".format(description, ambassador_id)) else: @@ -58,5 +59,13 @@ for container in containers_data.split('\n'): "jpetazzo/hamba", "run" ]) +# Destroy extraneous ambassadors. +for ambassador_id in ambassadors.values(): + print("{} is not useful anymore, destroying it.".format(ambassador_id)) + operations.append([ + "rm -f {}".format(ambassador_id), + "docker", "rm", "-f", ambassador_id, + ]) + # Execute all commands in parallel. parallel_run(operations, 10)