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