Commit ed402238 by Feanil Patel

Wait up to 2 minutes for instance tags.

parent 890dcdee
...@@ -7,6 +7,7 @@ import os ...@@ -7,6 +7,7 @@ import os
import subprocess import subprocess
import traceback import traceback
import socket import socket
import time
# Services that should be checked for migrations. # Services that should be checked for migrations.
MIGRATION_COMMANDS = { MIGRATION_COMMANDS = {
...@@ -16,6 +17,9 @@ MIGRATION_COMMANDS = { ...@@ -16,6 +17,9 @@ MIGRATION_COMMANDS = {
} }
HIPCHAT_USER = "PreSupervisor" HIPCHAT_USER = "PreSupervisor"
# Max amount of time to wait for tags to be applied.
MAX_BACKOFF = 120
def services_for_instance(instance_id): def services_for_instance(instance_id):
""" """
Get the list of all services named by the services tag in this Get the list of all services named by the services tag in this
...@@ -106,7 +110,13 @@ if __name__ == '__main__': ...@@ -106,7 +110,13 @@ if __name__ == '__main__':
# Needs to exit with 1 instead of 0 to prevent # Needs to exit with 1 instead of 0 to prevent
# services from starting. # services from starting.
exit(1) exit(1)
time_left = MAX_BACKOFF
backoff = INITIAL_BACKOFF
environment = None
deployment = None
play = None
while time_left > 0:
try: try:
environment, deployment, play = edp_for_instance(instance_id) environment, deployment, play = edp_for_instance(instance_id)
prefix = "{environment}-{deployment}-{play}-{instance_id}".format( prefix = "{environment}-{deployment}-{play}-{instance_id}".format(
...@@ -114,8 +124,17 @@ if __name__ == '__main__': ...@@ -114,8 +124,17 @@ if __name__ == '__main__':
deployment=deployment, deployment=deployment,
play=play, play=play,
instance_id=instance_id) instance_id=instance_id)
break
except: except:
print("Failed to get EDP for {}".format(instance_id)) print("Failed to get EDP for {}".format(instance_id))
time.sleep(backoff)
backoff = backoff * 2
if environment is None or deployment is None or play is None:
msg = "Unable to retrieve environment, deployment, or play tag."
print(msg)
notify("{} : {}".format(prefix, msg))
exit(0)
#get the hostname of the sandbox #get the hostname of the sandbox
hostname = socket.gethostname() hostname = socket.gethostname()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment