You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dm...@apache.org on 2019/11/11 15:44:30 UTC

[incubator-dlab] 01/01: [DLAB-1242] Fixed predefined VPC and Subnet issue[GCP]

This is an automated email from the ASF dual-hosted git repository.

dmysakovets pushed a commit to branch DLAB-1242rc
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit 5156cdf636ada6acef6764bf37d0d729823dc0ed
Author: Demyan Mysakovets <de...@gmail.com>
AuthorDate: Mon Nov 11 17:44:10 2019 +0200

    [DLAB-1242] Fixed predefined VPC and Subnet issue[GCP]
---
 .../src/general/scripts/gcp/ssn_configure.py        | 21 +++++++++++++--------
 .../src/general/scripts/gcp/ssn_terminate.py        | 12 ++++++++++--
 .../scripts/gcp/ssn_terminate_gcp_resources.py      | 20 ++++++++++++--------
 3 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
index 084b8f7..5ce4f63 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
@@ -57,8 +57,6 @@ if __name__ == "__main__":
                                                                         ssn_conf['default_endpoint_name'])
         ssn_conf['instance_name'] = '{}-ssn'.format(ssn_conf['service_base_name'])
         ssn_conf['instance_size'] = os.environ['gcp_ssn_instance_size']
-        ssn_conf['vpc_name'] = '{}-ssn-vpc'.format(ssn_conf['service_base_name'])
-        ssn_conf['subnet_name'] = '{}-ssn-subnet'.format(ssn_conf['service_base_name'])
         ssn_conf['subnet_cidr'] = '10.10.1.0/24'
         ssn_conf['firewall_name'] = '{}-ssn-firewall'.format(ssn_conf['service_base_name'])
         ssn_conf['ssh_key_path'] = '{0}{1}.pem'.format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
@@ -70,21 +68,28 @@ if __name__ == "__main__":
         try:
             if os.environ['gcp_vpc_name'] == '':
                 raise KeyError
+            else:
+                pre_defined_vpc = True
+                ssn_conf['vpc_name'] = os.environ['gcp_vpc_name']
         except KeyError:
-            pre_defined_vpc = True
-            os.environ['gcp_vpc_name'] = ssn_conf['vpc_name']
+            ssn_conf['vpc_name'] = '{}-ssn-vpc'.format(ssn_conf['service_base_name'])
+
         try:
             if os.environ['gcp_subnet_name'] == '':
                 raise KeyError
+            else:
+                pre_defined_subnet = True
+                ssn_conf['subnet_name'] = os.environ['gcp_subnet_name']
         except KeyError:
-            pre_defined_subnet = True
-            os.environ['gcp_subnet_name'] = ssn_conf['subnet_name']
+            ssn_conf['subnet_name'] = '{}-ssn-subnet'.format(ssn_conf['service_base_name'])
         try:
             if os.environ['gcp_firewall_name'] == '':
                 raise KeyError
+            else:
+                pre_defined_firewall = True
+                ssn_conf['firewall_name'] = os.environ['gcp_firewall_name']
         except KeyError:
-            pre_defined_firewall = True
-            os.environ['gcp_firewall_name'] = ssn_conf['firewall_name']
+            ssn_conf['firewall_name'] = '{}-ssn-subnet'.format(ssn_conf['service_base_name'])
 
         try:
             if os.environ['aws_account_id'] == '':
diff --git a/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate.py b/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate.py
index 7f349c2..0d9c4d4 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate.py
@@ -40,12 +40,20 @@ if __name__ == "__main__":
         os.environ['conf_service_base_name'].replace('_', '-')[:12], '-', True)
     ssn_conf['region'] = os.environ['gcp_region']
     ssn_conf['zone'] = os.environ['gcp_zone']
+    try:
+        if os.environ['gcp_vpc_name'] == '':
+            raise KeyError
+        else:
+            pre_defined_vpc = True
+            ssn_conf['vpc_name'] = os.environ['gcp_vpc_name']
+    except KeyError:
+        ssn_conf['vpc_name'] = '{}-ssn-vpc'.format(ssn_conf['service_base_name'])
 
     try:
         logging.info('[TERMINATE SSN]')
         print('[TERMINATE SSN]')
-        params = "--service_base_name {} --region {} --zone {}".format(ssn_conf['service_base_name'],
-                                                                       ssn_conf['region'], ssn_conf['zone'])
+        params = "--service_base_name {} --region {} --zone {} --pre_defined_vpc {} --vpc_name {}".format(ssn_conf['service_base_name'],
+                                                                       ssn_conf['region'], ssn_conf['zone'], pre_defined_vpc, ssn_conf['vpc_name'])
         try:
             local("~/scripts/{}.py {}".format('ssn_terminate_gcp_resources', params))
         except:
diff --git a/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate_gcp_resources.py b/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate_gcp_resources.py
index 63fd9b3..194049b 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate_gcp_resources.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/ssn_terminate_gcp_resources.py
@@ -32,6 +32,8 @@ parser = argparse.ArgumentParser()
 parser.add_argument('--zone', type=str)
 parser.add_argument('--service_base_name', type=str)
 parser.add_argument('--region', type=str)
+parser.add_argument('--pre_defined_vpc', type=str)
+parser.add_argument('--vpc_name', type=str)
 args = parser.parse_args()
 
 
@@ -115,8 +117,7 @@ if __name__ == "__main__":
         list_subnets = GCPMeta().get_list_subnetworks(args.region, '', args.service_base_name)
         if 'items' in list_subnets:
             vpc_selflink = list_subnets['items'][0]['network']
-            vpc_name = vpc_selflink.split('/')[-1]
-            subnets = GCPMeta().get_list_subnetworks(args.region, vpc_name, args.service_base_name)
+            subnets = GCPMeta().get_list_subnetworks(args.region, args.vpc_name, args.service_base_name)
             for i in subnets['items']:
                 GCPActions().remove_subnet(i['name'], args.region)
     except Exception as err:
@@ -134,9 +135,12 @@ if __name__ == "__main__":
         sys.exit(1)
 
     print("Removing SSN VPC")
-    try:
-        GCPActions().remove_vpc(args.service_base_name + '-ssn-vpc')
-    except Exception as err:
-        print('Error: {0}'.format(err))
-        print("No such VPC")
-        sys.exit(1)
+    if args.pre_defined_vpc != 'true':
+        try:
+            GCPActions().remove_vpc(args.vpc_name)
+        except Exception as err:
+            print('Error: {0}'.format(err))
+            print("No such VPC")
+            sys.exit(1)
+    else:
+        print('VPC is predefined, VPC will not be deleted')
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org