services/migration_service/get_virtual_env.py (38 lines of code) (raw):
import os
import sys
import requests
import socket
import time
from services.data.service_configs import max_startup_retries, \
startup_retry_wait_time_seconds
port = int(os.environ.get("MF_MIGRATION_PORT", 8082))
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
retry_count = max_startup_retries
while retry_count > 0:
print(retry_count)
try:
print("connecting")
s.connect(('localhost', port))
print("Port reachable", port)
break
except socket.error as e:
print("booting...")
print(e)
time.sleep(startup_retry_wait_time_seconds)
except Exception:
print("something broke")
finally:
retry_count = retry_count - 1
# continue
s.close()
if retry_count == 0:
print("ran out of retries to get migration version, exiting")
sys.exit(1)
except Exception as e:
print(e)
sys.exit(1)
r = requests.get('http://localhost:{0}/version'.format(port))
r.raise_for_status()
conf_file = open('/root/services/migration_service/config', 'w')
print(r.text, file=conf_file)
conf_file.close()