From d49a316053ef59a8008f28178588b9a6a853c653 Mon Sep 17 00:00:00 2001 From: Ashvin Sharma Date: Mon, 22 May 2023 15:35:19 +0530 Subject: [PATCH] INFRA-1847 | Ashvin | Create migration script from sharedAlb --- scripts/migrate_from_shared_alb.py | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 scripts/migrate_from_shared_alb.py diff --git a/scripts/migrate_from_shared_alb.py b/scripts/migrate_from_shared_alb.py new file mode 100644 index 00000000..9c53a064 --- /dev/null +++ b/scripts/migrate_from_shared_alb.py @@ -0,0 +1,36 @@ +import time + +import requests + +url = "https://deployment-portal.cmd.navi-tech.in" +s = requests.Session() +cookie = "" # FILL ME +x_xsrf_token = "" # FILL ME +s.headers.update({'cookie': cookie, 'x-xsrf-token': x_xsrf_token}) +list_manifest_path = "/api/manifest/list" +env = "qa" +r = s.get(url + list_manifest_path) +manifest_list = r.json() +env_manifest_list = [manifest for manifest in manifest_list if + manifest['environment'] == env] +for i in env_manifest_list: + perform_post = False + r = s.get(url + "/api/manifest/" + str(i['id'])) + manifest = r.json() + if 'deployment' in manifest: + deployment = manifest['deployment'] + if 'loadBalancers' in deployment: + load_balancers = deployment['loadBalancers'] + for lb in load_balancers: + if lb['type'] == 'sharedAlb': + perform_post = True + print(f"{manifest['environment']}/{manifest['name']} has a " + f"sharedAlb: {lb['endpoint']}") + lb['type'] = 'sharedAlbAcrossNamespace' + lb['groupName'] = f"{manifest['namespace']}-internal" + if perform_post: + response = s.post(f"{url}/api/manifest", json=manifest) + print(f"{i['id']} response of post is {response.json()}") + time.sleep(2) + else: + print(f"{i['id']} is not updated.")