You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by om...@apache.org on 2020/02/19 13:45:14 UTC
[incubator-dlab] branch DLAB-1546 created (now a72d83d)
This is an automated email from the ASF dual-hosted git repository.
omartushevskyi pushed a change to branch DLAB-1546
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.
at a72d83d [DLAB-1546]: added name convention changes
This branch includes the following new commits:
new a72d83d [DLAB-1546]: added name convention changes
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 01/01: [DLAB-1546]: added name convention changes
Posted by om...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
omartushevskyi pushed a commit to branch DLAB-1546
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit a72d83dbf4edc73b95548d726bd702e754a52ed4
Author: Oleh Martushevskyi <Ol...@epam.com>
AuthorDate: Wed Feb 19 15:44:58 2020 +0200
[DLAB-1546]: added name convention changes
---
.../src/general/scripts/aws/ssn_configure.py | 497 +++++++++++----------
.../src/general/scripts/aws/ssn_prepare.py | 480 +++++++++++---------
2 files changed, 527 insertions(+), 450 deletions(-)
diff --git a/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py b/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
index a4d6dbc..16187aa 100644
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
@@ -21,12 +21,23 @@
#
# ******************************************************************************
-from dlab.fab import *
-from dlab.actions_lib import *
-import sys, os, json
+# from dlab.fab import *
+# from dlab.actions_lib import *
+# import sys, os, json
+# from fabric.api import *
+# from dlab.ssn_lib import *
+# import traceback
+
+import logging
+import sys
+import os
from fabric.api import *
-from dlab.ssn_lib import *
+import dlab.ssn_lib
+import dlab.fab
+import dlab.actions_lib
+import dlab.meta_lib
import traceback
+import json
if __name__ == "__main__":
local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
@@ -34,84 +45,93 @@ if __name__ == "__main__":
logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s',
level=logging.DEBUG,
filename=local_log_filepath)
- instance = 'ssn'
+ ssn_conf = dict()
+ ssn_conf['instance'] = 'ssn'
try:
logging.info('[DERIVING NAMES]')
print('[DERIVING NAMES]')
- service_base_name = os.environ['conf_service_base_name'] = replace_multi_symbols(
- os.environ['conf_service_base_name'].lower()[:12], '-', True)
- role_name = service_base_name.lower().replace('-', '_') + '-ssn-Role'
- role_profile_name = service_base_name.lower().replace('-', '_') + '-ssn-Profile'
- policy_name = service_base_name.lower().replace('-', '_') + '-ssn-Policy'
- ssn_bucket_name_tag = service_base_name + '-ssn-bucket'
- default_endpoint_name = os.environ['default_endpoint_name']
- shared_bucket_name_tag = '{0}-{1}-shared-bucket'.format(service_base_name, default_endpoint_name)
- ssn_bucket_name = ssn_bucket_name_tag.lower().replace('_', '-')
- shared_bucket_name = shared_bucket_name_tag.lower().replace('_', '-')
- tag_name = service_base_name + '-Tag'
- tag2_name = service_base_name + '-secondary-Tag'
- instance_name = service_base_name + '-ssn'
- region = os.environ['aws_region']
- ssn_image_name = os.environ['aws_{}_image_name'.format(os.environ['conf_os_family'])]
- ssn_ami_id = get_ami_id(ssn_image_name)
- policy_path = '/root/files/ssn_policy.json'
- vpc_cidr = os.environ['conf_vpc_cidr']
- vpc2_cidr = os.environ['conf_vpc2_cidr']
- sg_name = instance_name + '-sg'
- pre_defined_vpc = False
- pre_defined_subnet = False
- pre_defined_sg = False
- billing_enabled = True
- dlab_ssh_user = os.environ['conf_os_user']
- network_type = os.environ['conf_network_type']
+ ssn_conf['service_base_name'] = os.environ['conf_service_base_name'] = dlab.fab.replace_multi_symbols(
+ os.environ['conf_service_base_name'].lower()[:20], '-', True)
+ ssn_conf['role_name'] = '{}-ssn-role'.format(ssn_conf['service_base_name'])
+ ssn_conf['role_profile_name'] = '{}-ssn-profile'.format(ssn_conf['service_base_name'])
+ ssn_conf['policy_name'] = '{}-ssn-policy'.format(ssn_conf['service_base_name'])
+ ssn_conf['default_endpoint_name'] = os.environ['default_endpoint_name']
+ ssn_conf['tag_name'] = '{}-tag'.format(ssn_conf['service_base_name'])
+ ssn_conf['tag2_name'] = '{}-secondary-tag'.format(ssn_conf['service_base_name'])
+ ssn_conf['user_tag'] = "{0}:{0}-ssn-role".format(ssn_conf['service_base_name'])
+ ssn_conf['instance_name'] = '{}-ssn'.format(ssn_conf['service_base_name'])
+ ssn_conf['region'] = os.environ['aws_region']
+ ssn_conf['zone_full'] = os.environ['aws_region'] + os.environ['aws_zone']
+ ssn_conf['ssn_image_name'] = os.environ['aws_{}_image_name'.format(os.environ['conf_os_family'])]
+ ssn_conf['ssn_ami_id'] = dlab.meta_lib.get_ami_id(ssn_conf['ssn_image_name'])
+ ssn_conf['policy_path'] = '/root/files/ssn_policy.json'
+ ssn_conf['vpc_cidr'] = os.environ['conf_vpc_cidr']
+ ssn_conf['vpc2_cidr'] = os.environ['conf_vpc2_cidr']
+ ssn_conf['vpc_name'] = '{}-vpc'.format(ssn_conf['service_base_name'])
+ ssn_conf['vpc2_name'] = '{}-vpc2'.format(ssn_conf['service_base_name'])
+ ssn_conf['subnet_name'] = '{}-ssn-subnet'.format(ssn_conf['service_base_name'])
+ ssn_conf['allowed_ip_cidr'] = list()
+ for cidr in os.environ['conf_allowed_ip_cidr'].split(','):
+ ssn_conf['allowed_ip_cidr'].append({"CidrIp": cidr.replace(' ', '')})
+ ssn_conf['sg_name'] = '{}-ssn-sg'.format(ssn_conf['service_base_name'])
+ ssn_conf['network_type'] = os.environ['conf_network_type']
+ ssn_conf['all_ip_cidr'] = '0.0.0.0/0'
+ ssn_conf['elastic_ip_name'] = '{0}-ssn-static-ip'.format(ssn_conf['service_base_name'])
+ ssn_conf['pre_defined_vpc'] = False
+ ssn_conf['pre_defined_subnet'] = False
+ ssn_conf['pre_defined_sg'] = False
+ ssn_conf['billing_enabled'] = True
+ ssn_conf['dlab_ssh_user'] = os.environ['conf_os_user']
if 'ssn_hosted_zone_id' in os.environ and 'ssn_hosted_zone_name' in os.environ and \
'ssn_subdomain' in os.environ:
- domain_created = True
+ ssn_conf['domain_created'] = True
else:
- domain_created = False
+ ssn_conf['domain_created'] = False
try:
if os.environ['aws_vpc_id'] == '':
raise KeyError
except KeyError:
- tag = {"Key": tag_name, "Value": "{}-subnet".format(service_base_name)}
- os.environ['aws_vpc_id'] = get_vpc_by_tag(tag_name, service_base_name)
- pre_defined_vpc = True
+ ssn_conf['tag'] = {"Key": ssn_conf['tag_name'], "Value": "{}-subnet".format(ssn_conf['service_base_name'])}
+ os.environ['aws_vpc_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'], ssn_conf['service_base_name'])
+ ssn_conf['pre_defined_vpc'] = True
try:
if os.environ['aws_subnet_id'] == '':
raise KeyError
except KeyError:
- tag = {"Key": tag_name, "Value": "{}-subnet".format(service_base_name)}
- os.environ['aws_subnet_id'] = get_subnet_by_tag(tag, True)
- pre_defined_subnet = True
+ ssn_conf['tag'] = {"Key": ssn_conf['tag_name'], "Value": "{}-subnet".format(ssn_conf['service_base_name'])}
+ os.environ['aws_subnet_id'] = dlab.meta_lib.get_subnet_by_tag(ssn_conf['tag'], True)
+ ssn_conf['pre_defined_subnet'] = True
try:
if os.environ['conf_duo_vpc_enable'] == 'true' and not os.environ['aws_vpc2_id']:
raise KeyError
except KeyError:
- tag = {"Key": tag2_name, "Value": "{}-subnet".format(service_base_name)}
- os.environ['aws_vpc2_id'] = get_vpc_by_tag(tag2_name, service_base_name)
- pre_defined_vpc2 = True
+ ssn_conf['tag'] = {"Key": ssn_conf['tag2_name'], "Value": "{}-subnet".format(ssn_conf['service_base_name'])}
+ os.environ['aws_vpc2_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
+ ssn_conf['service_base_name'])
+ ssn_conf['pre_defined_vpc2'] = True
try:
if os.environ['conf_duo_vpc_enable'] == 'true' and not os.environ['aws_peering_id']:
raise KeyError
except KeyError:
- os.environ['aws_peering_id'] = get_peering_by_tag(tag_name, service_base_name)
- pre_defined_peering = True
+ os.environ['aws_peering_id'] = dlab.meta_lib.get_peering_by_tag(ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ ssn_conf['pre_defined_peering'] = True
try:
if os.environ['aws_security_groups_ids'] == '':
raise KeyError
except KeyError:
- os.environ['aws_security_groups_ids'] = get_security_group_by_name(sg_name)
- pre_defined_sg = True
+ os.environ['aws_security_groups_ids'] = dlab.meta_lib.get_security_group_by_name(ssn_conf['sg_name'])
+ ssn_conf['pre_defined_sg'] = True
try:
if os.environ['aws_account_id'] == '':
raise KeyError
if os.environ['aws_billing_bucket'] == '':
raise KeyError
except KeyError:
- billing_enabled = False
- if not billing_enabled:
+ ssn_conf['billing_enabled'] = False
+ if not ssn_conf['billing_enabled']:
os.environ['aws_account_id'] = 'None'
os.environ['aws_billing_bucket'] = 'None'
try:
@@ -125,31 +145,35 @@ if __name__ == "__main__":
try:
if os.environ['conf_os_family'] == 'debian':
- initial_user = 'ubuntu'
- sudo_group = 'sudo'
+ ssn_conf['initial_user'] = 'ubuntu'
+ ssn_conf['sudo_group'] = 'sudo'
if os.environ['conf_os_family'] == 'redhat':
- initial_user = 'ec2-user'
- sudo_group = 'wheel'
+ ssn_conf['initial_user'] = 'ec2-user'
+ ssn_conf['sudo_group'] = 'wheel'
- if network_type == 'private':
- instance_hostname = get_instance_ip_address(tag_name, instance_name).get('Private')
+ if ssn_conf['network_type'] == 'private':
+ ssn_conf['instance_hostname'] = dlab.meta_lib.get_instance_ip_address(
+ ssn_conf['tag_name'], ssn_conf['instance_name']).get('Private')
else:
- instance_hostname = get_instance_hostname(tag_name, instance_name)
+ ssn_conf['instance_hostname'] = dlab.meta_lib.get_instance_hostname(
+ ssn_conf['tag_name'], ssn_conf['instance_name'])
if os.environ['conf_stepcerts_enabled'] == 'true':
- step_cert_sans = ' --san {0} '.format(get_instance_ip_address(tag_name, instance_name).get('Private'))
- if network_type == 'public':
- step_cert_sans += ' --san {0} --san {1}'.format(
- get_instance_hostname(tag_name, instance_name),
- get_instance_ip_address(tag_name, instance_name).get('Public'))
+ ssn_conf['step_cert_sans'] = ' --san {0} '.format(dlab.meta_lib.get_instance_ip_address(
+ ssn_conf['tag_name'], ssn_conf['instance_name']).get('Private'))
+ if ssn_conf['network_type'] == 'public':
+ ssn_conf['step_cert_sans'] += ' --san {0} --san {1}'.format(
+ dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'], ssn_conf['instance_name']),
+ dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
+ ssn_conf['instance_name']).get('Public'))
else:
- step_cert_sans = ''
+ ssn_conf['step_cert_sans'] = ''
logging.info('[CREATING DLAB SSH USER]')
print('[CREATING DLAB SSH USER]')
- params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
- (instance_hostname, os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem", initial_user,
- dlab_ssh_user, sudo_group)
+ params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format(
+ ssn_conf['instance_hostname'], os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem",
+ ssn_conf['initial_user'], ssn_conf['dlab_ssh_user'], ssn_conf['sudo_group'])
try:
local("~/scripts/{}.py {}".format('create_ssh_user', params))
@@ -157,30 +181,32 @@ if __name__ == "__main__":
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Failed creating ssh user 'dlab'.", str(err))
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Failed creating ssh user 'dlab'.", str(err))
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
@@ -188,8 +214,8 @@ if __name__ == "__main__":
print('[INSTALLING PREREQUISITES TO SSN INSTANCE]')
params = "--hostname {} --keyfile {} --pip_packages 'boto3 backoff argparse fabric==1.14.0 awscli pymongo " \
"pyyaml jinja2' --user {} --region {}". \
- format(instance_hostname, os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem", dlab_ssh_user,
- os.environ['aws_region'])
+ format(ssn_conf['instance_hostname'], os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem",
+ ssn_conf['dlab_ssh_user'], os.environ['aws_region'])
try:
local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@ -197,44 +223,48 @@ if __name__ == "__main__":
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Failed installing software: pip, packages.", str(err))
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Failed installing software: pip, packages.", str(err))
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
logging.info('[CONFIGURE SSN INSTANCE]')
print('[CONFIGURE SSN INSTANCE]')
- additional_config = {"nginx_template_dir": "/root/templates/", "service_base_name": service_base_name,
+ additional_config = {"nginx_template_dir": "/root/templates/", "service_base_name":
+ ssn_conf['service_base_name'],
"security_group_id": os.environ['aws_security_groups_ids'],
"vpc_id": os.environ['aws_vpc_id'], "subnet_id": os.environ['aws_subnet_id'],
"admin_key": os.environ['conf_key_name']}
params = "--hostname {} --keyfile {} --additional_config '{}' --os_user {} --dlab_path {} " \
"--tag_resource_id {} --step_cert_sans '{}' ".format(
- instance_hostname, "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
- json.dumps(additional_config), dlab_ssh_user, os.environ['ssn_dlab_path'],
- os.environ['conf_tag_resource_id'], step_cert_sans)
+ ssn_conf['instance_hostname'],
+ "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
+ json.dumps(additional_config), ssn_conf['dlab_ssh_user'], os.environ['ssn_dlab_path'],
+ os.environ['conf_tag_resource_id'], ssn_conf['step_cert_sans'])
try:
local("~/scripts/{}.py {}".format('configure_ssn_node', params))
@@ -242,30 +272,32 @@ if __name__ == "__main__":
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Failed configuring ssn.", str(err))
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Failed configuring ssn.", str(err))
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
@@ -284,11 +316,11 @@ if __name__ == "__main__":
{"name": "dataengine-service", "tag": "latest"},
{"name": "dataengine", "tag": "latest"}]
params = "--hostname {} --keyfile {} --additional_config '{}' --os_family {} --os_user {} --dlab_path {} " \
- "--cloud_provider {} --region {}".format(instance_hostname,
+ "--cloud_provider {} --region {}".format(ssn_conf['instance_hostname'],
"{}{}.pem".format(os.environ['conf_key_dir'],
os.environ['conf_key_name']),
json.dumps(additional_config), os.environ['conf_os_family'],
- dlab_ssh_user, os.environ['ssn_dlab_path'],
+ ssn_conf['dlab_ssh_user'], os.environ['ssn_dlab_path'],
os.environ['conf_cloud_provider'], os.environ['aws_region'])
try:
@@ -297,30 +329,32 @@ if __name__ == "__main__":
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Unable to configure docker.", str(err))
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Unable to configure docker.", str(err))
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
@@ -351,7 +385,8 @@ if __name__ == "__main__":
cloud_params = [
{
'key': 'KEYCLOAK_REDIRECT_URI',
- 'value': "https://{0}/".format(get_instance_hostname(tag_name, instance_name))
+ 'value': "https://{0}/".format(dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
+ ssn_conf['instance_name']))
},
{
'key': 'KEYCLOAK_REALM_NAME',
@@ -590,14 +625,14 @@ if __name__ == "__main__":
"--resource_id {} " \
"--default_endpoint_name {} " \
"--tags {}". \
- format(instance_hostname,
+ format(ssn_conf['instance_hostname'],
"{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
os.environ['ssn_dlab_path'],
- dlab_ssh_user,
+ ssn_conf['dlab_ssh_user'],
os.environ['conf_os_family'],
os.environ['request_id'],
os.environ['conf_resource'],
- service_base_name,
+ ssn_conf['service_base_name'],
os.environ['conf_tag_resource_id'],
os.environ['conf_billing_tag'],
os.environ['conf_cloud_provider'],
@@ -605,7 +640,7 @@ if __name__ == "__main__":
os.environ['aws_billing_bucket'],
os.environ['aws_job_enabled'],
os.environ['aws_report_path'],
- billing_enabled,
+ ssn_conf['billing_enabled'],
json.dumps(cloud_params),
os.environ['dlab_id'],
os.environ['usage_date'],
@@ -622,57 +657,61 @@ if __name__ == "__main__":
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Unable to configure UI.", str(err))
+ dlab.fab.append_result("Unable to configure UI.", str(err))
print(err)
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
logging.info('[SUMMARY]')
print('[SUMMARY]')
- print("Service base name: {}".format(service_base_name))
- print("SSN Name: {}".format(instance_name))
- print("SSN Hostname: {}".format(instance_hostname))
- print("Role name: {}".format(role_name))
- print("Role profile name: {}".format(role_profile_name))
- print("Policy name: {}".format(policy_name))
+ print("Service base name: {}".format(ssn_conf['service_base_name']))
+ print("SSN Name: {}".format(ssn_conf['instance_name']))
+ print("SSN Hostname: {}".format(ssn_conf['instance_hostname']))
+ print("Role name: {}".format(ssn_conf['role_name']))
+ print("Role profile name: {}".format(ssn_conf['role_profile_name']))
+ print("Policy name: {}".format(ssn_conf['policy_name']))
print("Key name: {}".format(os.environ['conf_key_name']))
print("VPC ID: {}".format(os.environ['aws_vpc_id']))
print("Subnet ID: {}".format(os.environ['aws_subnet_id']))
print("Security IDs: {}".format(os.environ['aws_security_groups_ids']))
print("SSN instance shape: {}".format(os.environ['aws_ssn_instance_size']))
- print("SSN AMI name: {}".format(ssn_image_name))
- print("SSN bucket name: {}".format(ssn_bucket_name))
- print("Shared bucket name: {}".format(shared_bucket_name))
- print("Region: {}".format(region))
- jenkins_url = "http://{}/jenkins".format(get_instance_hostname(tag_name, instance_name))
- jenkins_url_https = "https://{}/jenkins".format(get_instance_hostname(tag_name, instance_name))
- print("Jenkins URL: {}".format(jenkins_url))
- print("Jenkins URL HTTPS: {}".format(jenkins_url_https))
- print("DLab UI HTTP URL: http://{}".format(get_instance_hostname(tag_name, instance_name)))
- print("DLab UI HTTPS URL: https://{}".format(get_instance_hostname(tag_name, instance_name)))
+ print("SSN AMI name: {}".format(ssn_conf['ssn_image_name']))
+ print("Region: {}".format(ssn_conf['region']))
+ ssn_conf['jenkins_url'] = "http://{}/jenkins".format(dlab.meta_lib.get_instance_hostname(
+ ssn_conf['tag_name'], ssn_conf['instance_name']))
+ ssn_conf['jenkins_url_https'] = "https://{}/jenkins".format(dlab.meta_lib.get_instance_hostname(
+ ssn_conf['tag_name'], ssn_conf['instance_name']))
+ print("Jenkins URL: {}".format(ssn_conf['jenkins_url']))
+ print("Jenkins URL HTTPS: {}".format(ssn_conf['jenkins_url_https']))
+ print("DLab UI HTTP URL: http://{}".format(dlab.meta_lib.get_instance_hostname(
+ ssn_conf['tag_name'], ssn_conf['instance_name'])))
+ print("DLab UI HTTPS URL: https://{}".format(dlab.meta_lib.get_instance_hostname(
+ ssn_conf['tag_name'], ssn_conf['instance_name'])))
try:
with open('jenkins_creds.txt') as f:
print(f.read())
@@ -680,26 +719,26 @@ if __name__ == "__main__":
print("Jenkins is either configured already or have issues in configuration routine.")
with open("/root/result.json", 'w') as f:
- res = {"service_base_name": service_base_name,
- "instance_name": instance_name,
- "instance_hostname": get_instance_hostname(tag_name, instance_name),
- "role_name": role_name,
- "role_profile_name": role_profile_name,
- "policy_name": policy_name,
+ res = {"service_base_name": ssn_conf['service_base_name'],
+ "instance_name": ssn_conf['instance_name'],
+ "instance_hostname": dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
+ ssn_conf['instance_name']),
+ "role_name": ssn_conf['role_name'],
+ "role_profile_name": ssn_conf['role_profile_name'],
+ "policy_name": ssn_conf['policy_name'],
"master_keyname": os.environ['conf_key_name'],
"vpc_id": os.environ['aws_vpc_id'],
"subnet_id": os.environ['aws_subnet_id'],
"security_id": os.environ['aws_security_groups_ids'],
"instance_shape": os.environ['aws_ssn_instance_size'],
- "bucket_name": ssn_bucket_name,
- "shared_bucket_name": shared_bucket_name,
- "region": region,
+ "region": ssn_conf['region'],
"action": "Create SSN instance"}
f.write(json.dumps(res))
print('Upload response file')
params = "--instance_name {} --local_log_filepath {} --os_user {} --instance_hostname {}".\
- format(instance_name, local_log_filepath, dlab_ssh_user, instance_hostname)
+ format(ssn_conf['instance_name'], local_log_filepath, ssn_conf['dlab_ssh_user'],
+ ssn_conf['instance_hostname'])
local("~/scripts/{}.py {}".format('upload_response_file', params))
logging.info('[FINALIZE]')
@@ -709,27 +748,29 @@ if __name__ == "__main__":
params += "--key_id {}".format(os.environ['aws_access_key'])
local("~/scripts/{}.py {}".format('ssn_finalize', params))
except:
- if domain_created:
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ if ssn_conf['domain_created']:
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'])
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
diff --git a/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py b/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
index 8615a25..aa76b95 100644
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
@@ -21,11 +21,22 @@
#
# ******************************************************************************
-from dlab.fab import *
-from dlab.actions_lib import *
-import sys, os
+# from dlab.fab import *
+# from dlab.actions_lib import *
+# import sys, os
+# from fabric.api import *
+# from dlab.ssn_lib import *
+
+import logging
+import sys
+import os
from fabric.api import *
-from dlab.ssn_lib import *
+import dlab.ssn_lib
+import dlab.fab
+import dlab.actions_lib
+import dlab.meta_lib
+import traceback
+import json
if __name__ == "__main__":
@@ -34,57 +45,58 @@ if __name__ == "__main__":
logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s',
level=logging.DEBUG,
filename=local_log_filepath)
- instance = 'ssn'
- pre_defined_vpc = False
- pre_defined_subnet = False
- pre_defined_sg = False
- pre_defined_vpc2 = False
+ ssn_conf = dict()
+ ssn_conf['instance'] = 'ssn'
+ ssn_conf['pre_defined_vpc'] = False
+ ssn_conf['pre_defined_subnet'] = False
+ ssn_conf['pre_defined_sg'] = False
+ ssn_conf['pre_defined_vpc2'] = False
try:
logging.info('[CREATE AWS CONFIG FILE]')
print('[CREATE AWS CONFIG FILE]')
if 'aws_access_key' in os.environ and 'aws_secret_access_key' in os.environ:
- create_aws_config_files(generate_full_config=True)
+ dlab.actions_lib.create_aws_config_files(generate_full_config=True)
else:
- create_aws_config_files()
+ dlab.actions_lib.create_aws_config_files()
except Exception as err:
print('Error: {0}'.format(err))
logging.info('Unable to create configuration')
- append_result("Unable to create configuration")
+ dlab.fab.append_result("Unable to create configuration")
traceback.print_exc()
sys.exit(1)
try:
logging.info('[DERIVING NAMES]')
print('[DERIVING NAMES]')
- service_base_name = os.environ['conf_service_base_name'] = replace_multi_symbols(
- os.environ['conf_service_base_name'].lower()[:12], '-', True)
- role_name = service_base_name.lower().replace('-', '_') + '-ssn-Role'
- role_profile_name = service_base_name.lower().replace('-', '_') + '-ssn-Profile'
- policy_name = service_base_name.lower().replace('-', '_') + '-ssn-Policy'
- default_endpoint_name = os.environ['default_endpoint_name']
- tag_name = service_base_name + '-Tag'
- tag2_name = service_base_name + '-secondary-Tag'
- user_tag = "{0}:{0}-ssn-Role".format(service_base_name)
- instance_name = service_base_name + '-ssn'
- region = os.environ['aws_region']
- zone_full = os.environ['aws_region'] + os.environ['aws_zone']
- ssn_image_name = os.environ['aws_{}_image_name'.format(os.environ['conf_os_family'])]
- ssn_ami_id = get_ami_id(ssn_image_name)
- policy_path = '/root/files/ssn_policy.json'
- vpc_cidr = os.environ['conf_vpc_cidr']
- vpc2_cidr = os.environ['conf_vpc2_cidr']
- vpc_name = '{}-VPC'.format(service_base_name)
- vpc2_name = '{}-secondary-VPC'.format(service_base_name)
- subnet_name = '{}-subnet'.format(service_base_name)
- allowed_ip_cidr = list()
+ ssn_conf['service_base_name'] = os.environ['conf_service_base_name'] = dlab.fab.replace_multi_symbols(
+ os.environ['conf_service_base_name'].lower()[:20], '-', True)
+ ssn_conf['role_name'] = '{}-ssn-role'.format(ssn_conf['service_base_name'])
+ ssn_conf['role_profile_name'] = '{}-ssn-profile'.format(ssn_conf['service_base_name'])
+ ssn_conf['policy_name'] = '{}-ssn-policy'.format(ssn_conf['service_base_name'])
+ ssn_conf['default_endpoint_name'] = os.environ['default_endpoint_name']
+ ssn_conf['tag_name'] = '{}-tag'.format(ssn_conf['service_base_name'])
+ ssn_conf['tag2_name'] = '{}-secondary-tag'.format(ssn_conf['service_base_name'])
+ ssn_conf['user_tag'] = "{0}:{0}-ssn-role".format(ssn_conf['service_base_name'])
+ ssn_conf['instance_name'] = '{}-ssn'.format(ssn_conf['service_base_name'])
+ ssn_conf['region'] = os.environ['aws_region']
+ ssn_conf['zone_full'] = os.environ['aws_region'] + os.environ['aws_zone']
+ ssn_conf['ssn_image_name'] = os.environ['aws_{}_image_name'.format(os.environ['conf_os_family'])]
+ ssn_conf['ssn_ami_id'] = dlab.meta_lib.get_ami_id(ssn_conf['ssn_image_name'])
+ ssn_conf['policy_path'] = '/root/files/ssn_policy.json'
+ ssn_conf['vpc_cidr'] = os.environ['conf_vpc_cidr']
+ ssn_conf['vpc2_cidr'] = os.environ['conf_vpc2_cidr']
+ ssn_conf['vpc_name'] = '{}-vpc'.format(ssn_conf['service_base_name'])
+ ssn_conf['vpc2_name'] = '{}-vpc2'.format(ssn_conf['service_base_name'])
+ ssn_conf['subnet_name'] = '{}-ssn-subnet'.format(ssn_conf['service_base_name'])
+ ssn_conf['allowed_ip_cidr'] = list()
for cidr in os.environ['conf_allowed_ip_cidr'].split(','):
- allowed_ip_cidr.append({"CidrIp": cidr.replace(' ','')})
- sg_name = instance_name + '-sg'
- network_type = os.environ['conf_network_type']
- all_ip_cidr = '0.0.0.0/0'
- elastic_ip_name = '{0}-ssn-EIP'.format(service_base_name)
+ ssn_conf['allowed_ip_cidr'].append({"CidrIp": cidr.replace(' ','')})
+ ssn_conf['sg_name'] = '{}-ssn-sg'.format(ssn_conf['service_base_name'])
+ ssn_conf['network_type'] = os.environ['conf_network_type']
+ ssn_conf['all_ip_cidr'] = '0.0.0.0/0'
+ ssn_conf['elastic_ip_name'] = '{0}-ssn-static-ip'.format(ssn_conf['service_base_name'])
- if get_instance_by_name(tag_name, instance_name):
+ if dlab.meta_lib.get_instance_by_name(ssn_conf['tag_name'], ssn_conf['instance_name']):
print("Service base name should be unique and less or equal 12 symbols. Please try again.")
sys.exit(1)
@@ -93,49 +105,54 @@ if __name__ == "__main__":
raise KeyError
except KeyError:
try:
- pre_defined_vpc = True
+ ssn_conf['pre_defined_vpc'] = True
logging.info('[CREATE VPC AND ROUTE TABLE]')
print('[CREATE VPC AND ROUTE TABLE]')
params = "--vpc {} --region {} --infra_tag_name {} --infra_tag_value {} --vpc_name {}".format(
- vpc_cidr, region, tag_name, service_base_name, vpc_name)
+ ssn_conf['vpc_cidr'], ssn_conf['region'], ssn_conf['tag_name'], ssn_conf['service_base_name'],
+ ssn_conf['vpc_name'])
try:
local("~/scripts/{}.py {}".format('ssn_create_vpc', params))
except:
traceback.print_exc()
raise Exception
- os.environ['aws_vpc_id'] = get_vpc_by_tag(tag_name, service_base_name)
+ os.environ['aws_vpc_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed to create VPC. Exception:" + str(err))
+ dlab.fab.append_result("Failed to create VPC. Exception:" + str(err))
sys.exit(1)
- allowed_vpc_cidr_ip_ranges = list()
- for cidr in get_vpc_cidr_by_id(os.environ['aws_vpc_id']):
- allowed_vpc_cidr_ip_ranges.append({"CidrIp": cidr})
+ ssn_conf['allowed_vpc_cidr_ip_ranges'] = list()
+ for cidr in dlab.meta_lib.get_vpc_cidr_by_id(os.environ['aws_vpc_id']):
+ ssn_conf['allowed_vpc_cidr_ip_ranges'].append({"CidrIp": cidr})
try:
if os.environ['conf_duo_vpc_enable'] == 'true' and not os.environ['aws_vpc2_id']:
raise KeyError
except KeyError:
try:
- pre_defined_vpc2 = True
+ ssn_conf['pre_defined_vpc2'] = True
logging.info('[CREATE SECONDARY VPC AND ROUTE TABLE]')
print('[CREATE SECONDARY VPC AND ROUTE TABLE]')
params = "--vpc {} --region {} --infra_tag_name {} --infra_tag_value {} --secondary " \
- "--vpc_name {}".format(vpc2_cidr, region, tag2_name, service_base_name, vpc2_name)
+ "--vpc_name {}".format(ssn_conf['vpc2_cidr'], ssn_conf['region'], ssn_conf['tag2_name'],
+ ssn_conf['service_base_name'], ssn_conf['vpc2_name'])
try:
local("~/scripts/{}.py {}".format('ssn_create_vpc', params))
except:
traceback.print_exc()
raise Exception
- os.environ['aws_vpc2_id'] = get_vpc_by_tag(tag2_name, service_base_name)
+ os.environ['aws_vpc2_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
+ ssn_conf['service_base_name'])
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed to create secondary VPC. Exception:" + str(err))
- if pre_defined_vpc:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
+ dlab.fab.append_result("Failed to create secondary VPC. Exception:" + str(err))
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
sys.exit(1)
try:
@@ -143,12 +160,13 @@ if __name__ == "__main__":
raise KeyError
except KeyError:
try:
- pre_defined_subnet = True
+ ssn_conf['pre_defined_subnet'] = True
logging.info('[CREATE SUBNET]')
print('[CREATE SUBNET]')
params = "--vpc_id {0} --username {1} --infra_tag_name {2} --infra_tag_value {3} --prefix {4} " \
- "--ssn {5} --zone {6} --subnet_name {7}".format(os.environ['aws_vpc_id'], 'ssn', tag_name,
- service_base_name, '20', True, zone_full, subnet_name)
+ "--ssn {5} --zone {6} --subnet_name {7}".format(
+ os.environ['aws_vpc_id'], 'ssn', ssn_conf['tag_name'],ssn_conf['service_base_name'], '20',
+ True, ssn_conf['zone_full'], ssn_conf['subnet_name'])
try:
local("~/scripts/{}.py {}".format('common_create_subnet', params))
except:
@@ -156,25 +174,26 @@ if __name__ == "__main__":
raise Exception
with open('/tmp/ssn_subnet_id', 'r') as f:
os.environ['aws_subnet_id'] = f.read()
- enable_auto_assign_ip(os.environ['aws_subnet_id'])
+ dlab.actions_lib.enable_auto_assign_ip(os.environ['aws_subnet_id'])
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed to create Subnet.", str(err))
- if pre_defined_vpc:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_route_tables(tag_name, True)
+ dlab.fab.append_result("Failed to create Subnet.", str(err))
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
try:
- remove_subnets(service_base_name + "-subnet")
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
except:
print("Subnet hasn't been created.")
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
@@ -184,29 +203,30 @@ if __name__ == "__main__":
try:
logging.info('[CREATE PEERING CONNECTION]')
print('[CREATE PEERING CONNECTION]')
- os.environ['aws_peering_id'] = create_peering_connection(os.environ['aws_vpc_id'],
- os.environ['aws_vpc2_id'], service_base_name)
+ os.environ['aws_peering_id'] = dlab.actions_lib.create_peering_connection(
+ os.environ['aws_vpc_id'], os.environ['aws_vpc2_id'], ssn_conf['service_base_name'])
print('PEERING CONNECTION ID:' + os.environ['aws_peering_id'])
- create_route_by_id(os.environ['aws_subnet_id'], os.environ['aws_vpc_id'], os.environ['aws_peering_id'],
- get_cidr_by_vpc(os.environ['aws_vpc2_id']))
+ dlab.actions_lib.create_route_by_id(os.environ['aws_subnet_id'], os.environ['aws_vpc_id'],
+ os.environ['aws_peering_id'],
+ dlab.meta_lib.get_cidr_by_vpc(os.environ['aws_vpc2_id']))
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed to create peering connection.", str(err))
- if pre_defined_vpc:
- remove_route_tables(tag_name, True)
+ dlab.fab.append_result("Failed to create peering connection.", str(err))
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
try:
- remove_subnets(service_base_name + "-subnet")
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
except:
print("Subnet hasn't been created.")
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
@@ -214,54 +234,56 @@ if __name__ == "__main__":
raise KeyError
except KeyError:
try:
- pre_defined_sg = True
+ ssn_conf['pre_defined_sg'] = True
logging.info('[CREATE SG FOR SSN]')
print('[CREATE SG FOR SSN]')
- ingress_sg_rules_template = format_sg([
+ ssn_conf['ingress_sg_rules_template'] = dlab.meta_lib.format_sg([
{
"PrefixListIds": [],
"FromPort": 80,
- "IpRanges": allowed_ip_cidr,
+ "IpRanges": ssn_conf['allowed_ip_cidr'],
"ToPort": 80, "IpProtocol": "tcp", "UserIdGroupPairs": []
},
{
"PrefixListIds": [],
"FromPort": 22,
- "IpRanges": allowed_ip_cidr,
+ "IpRanges": ssn_conf['allowed_ip_cidr'],
"ToPort": 22, "IpProtocol": "tcp", "UserIdGroupPairs": []
},
{
"PrefixListIds": [],
"FromPort": 443,
- "IpRanges": allowed_ip_cidr,
+ "IpRanges": ssn_conf['allowed_ip_cidr'],
"ToPort": 443, "IpProtocol": "tcp", "UserIdGroupPairs": []
},
{
"PrefixListIds": [],
"FromPort": -1,
- "IpRanges": allowed_ip_cidr,
+ "IpRanges": ssn_conf['allowed_ip_cidr'],
"ToPort": -1, "IpProtocol": "icmp", "UserIdGroupPairs": []
},
{
"PrefixListIds": [],
"FromPort": 80,
- "IpRanges": allowed_vpc_cidr_ip_ranges,
+ "IpRanges": ssn_conf['allowed_vpc_cidr_ip_ranges'],
"ToPort": 80, "IpProtocol": "tcp", "UserIdGroupPairs": []
},
{
"PrefixListIds": [],
"FromPort": 443,
- "IpRanges": allowed_vpc_cidr_ip_ranges,
+ "IpRanges": ssn_conf['allowed_vpc_cidr_ip_ranges'],
"ToPort": 443, "IpProtocol": "tcp", "UserIdGroupPairs": []
}
])
- egress_sg_rules_template = format_sg([
- {"IpProtocol": "-1", "IpRanges": [{"CidrIp": all_ip_cidr}], "UserIdGroupPairs": [], "PrefixListIds": []}
+ egress_sg_rules_template = dlab.meta_lib.format_sg([
+ {"IpProtocol": "-1", "IpRanges": [{"CidrIp": ssn_conf['all_ip_cidr']}], "UserIdGroupPairs": [],
+ "PrefixListIds": []}
])
params = "--name {} --vpc_id {} --security_group_rules '{}' --egress '{}' --infra_tag_name {} " \
"--infra_tag_value {} --force {} --ssn {}". \
- format(sg_name, os.environ['aws_vpc_id'], json.dumps(ingress_sg_rules_template),
- json.dumps(egress_sg_rules_template), service_base_name, tag_name, False, True)
+ format(ssn_conf['sg_name'], os.environ['aws_vpc_id'],
+ json.dumps(ssn_conf['ingress_sg_rules_template']), json.dumps(egress_sg_rules_template),
+ ssn_conf['service_base_name'], ssn_conf['tag_name'], False, True)
try:
local("~/scripts/{}.py {}".format('common_create_security_group', params))
except:
@@ -271,27 +293,29 @@ if __name__ == "__main__":
os.environ['aws_security_groups_ids'] = f.read()
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed creating security group for SSN.", str(err))
- if pre_defined_vpc:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.gab_lib.append_result("Failed creating security group for SSN.", str(err))
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
logging.info('[CREATE ROLES]')
print('[CREATE ROLES]')
params = "--role_name {} --role_profile_name {} --policy_name {} --policy_file_name {} --region {} " \
"--infra_tag_name {} --infra_tag_value {} --user_tag_value {}".\
- format(role_name, role_profile_name, policy_name, policy_path, os.environ['aws_region'], tag_name,
- service_base_name, user_tag)
+ format(ssn_conf['role_name'], ssn_conf['role_profile_name'], ssn_conf['policy_name'],
+ ssn_conf['policy_path'], os.environ['aws_region'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'], ssn_conf['user_tag'])
try:
local("~/scripts/{}.py {}".format('common_create_role_policy', params))
except:
@@ -299,30 +323,31 @@ if __name__ == "__main__":
raise Exception
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Unable to create roles.", str(err))
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Unable to create roles.", str(err))
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
logging.info('[CREATE ENDPOINT AND ROUTE-TABLE]')
print('[CREATE ENDPOINT AND ROUTE-TABLE]')
params = "--vpc_id {} --region {} --infra_tag_name {} --infra_tag_value {}".format(
- os.environ['aws_vpc_id'], os.environ['aws_region'], tag_name, service_base_name)
+ os.environ['aws_vpc_id'], os.environ['aws_region'], ssn_conf['tag_name'], ssn_conf['service_base_name'])
try:
local("~/scripts/{}.py {}".format('ssn_create_endpoint', params))
except:
@@ -330,24 +355,25 @@ if __name__ == "__main__":
raise Exception
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Unable to create an endpoint.", str(err))
- remove_all_iam_resources(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Unable to create an endpoint.", str(err))
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
if os.environ['conf_duo_vpc_enable'] == 'true':
@@ -355,7 +381,8 @@ if __name__ == "__main__":
logging.info('[CREATE ENDPOINT AND ROUTE-TABLE FOR NOTEBOOK VPC]')
print('[CREATE ENDPOINT AND ROUTE-TABLE FOR NOTEBOOK VPC]')
params = "--vpc_id {} --region {} --infra_tag_name {} --infra_tag_value {}".format(
- os.environ['aws_vpc2_id'], os.environ['aws_region'], tag2_name, service_base_name)
+ os.environ['aws_vpc2_id'], os.environ['aws_region'], ssn_conf['tag2_name'],
+ ssn_conf['service_base_name'])
try:
local("~/scripts/{}.py {}".format('ssn_create_endpoint', params))
except:
@@ -363,34 +390,36 @@ if __name__ == "__main__":
raise Exception
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Unable to create secondary endpoint.", str(err))
- remove_all_iam_resources(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Unable to create secondary endpoint.", str(err))
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
try:
logging.info('[CREATE SSN INSTANCE]')
print('[CREATE SSN INSTANCE]')
- params = "--node_name {0} --ami_id {1} --instance_type {2} --key_name {3} --security_group_ids {4} --subnet_id {5} " \
- "--iam_profile {6} --infra_tag_name {7} --infra_tag_value {8} --instance_class {9} --primary_disk_size {10}".\
- format(instance_name, ssn_ami_id, os.environ['aws_ssn_instance_size'], os.environ['conf_key_name'],
- os.environ['aws_security_groups_ids'], os.environ['aws_subnet_id'],
- role_profile_name, tag_name, instance_name, 'ssn', '20')
+ params = "--node_name {0} --ami_id {1} --instance_type {2} --key_name {3} --security_group_ids {4} " \
+ "--subnet_id {5} --iam_profile {6} --infra_tag_name {7} --infra_tag_value {8} --instance_class {9} " \
+ "--primary_disk_size {10}".\
+ format(ssn_conf['instance_name'], ssn_conf['ssn_ami_id'], os.environ['aws_ssn_instance_size'],
+ os.environ['conf_key_name'], os.environ['aws_security_groups_ids'], os.environ['aws_subnet_id'],
+ ssn_conf['role_profile_name'], ssn_conf['tag_name'], ssn_conf['instance_name'], 'ssn', '20')
try:
local("~/scripts/{}.py {}".format('common_create_instance', params))
@@ -399,39 +428,40 @@ if __name__ == "__main__":
raise Exception
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Unable to create ssn instance.", str(err))
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Unable to create ssn instance.", str(err))
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
- if network_type == 'public':
+ if ssn_conf['network_type'] == 'public':
try:
logging.info('[ASSOCIATING ELASTIC IP]')
print('[ASSOCIATING ELASTIC IP]')
- ssn_id = get_instance_by_name(tag_name, instance_name)
+ ssn_conf['ssn_id'] = dlab.meta_lib.get_instance_by_name(ssn_conf['tag_name'], ssn_conf['instance_name'])
try:
- elastic_ip = os.environ['ssn_elastic_ip']
+ ssn_conf['elastic_ip'] = os.environ['ssn_elastic_ip']
except:
- elastic_ip = 'None'
+ ssn_conf['elastic_ip'] = 'None'
params = "--elastic_ip {} --ssn_id {} --infra_tag_name {} --infra_tag_value {}".format(
- elastic_ip, ssn_id, tag_name, elastic_ip_name)
+ ssn_conf['elastic_ip'], ssn_conf['ssn_id'], ssn_conf['tag_name'], ssn_conf['elastic_ip_name'])
try:
local("~/scripts/{}.py {}".format('ssn_associate_elastic_ip', params))
except:
@@ -439,66 +469,72 @@ if __name__ == "__main__":
raise Exception
except Exception as err:
print('Error: {0}'.format(err))
- append_result("Failed to associate elastic ip.", str(err))
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.fab.append_result("Failed to associate elastic ip.", str(err))
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
- if network_type == 'private':
- instance_ip = get_instance_ip_address(tag_name, instance_name).get('Private')
+ if ssn_conf['network_type'] == 'private':
+ ssn_conf['instance_ip'] = dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
+ ssn_conf['instance_name']).get('Private')
else:
- instance_ip = get_instance_ip_address(tag_name, instance_name).get('Public')
+ ssn_conf['instance_ip'] = dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
+ ssn_conf['instance_name']).get('Public')
if 'ssn_hosted_zone_id' in os.environ and 'ssn_hosted_zone_name' in os.environ and 'ssn_subdomain' in os.environ:
try:
logging.info('[CREATING ROUTE53 RECORD]')
print('[CREATING ROUTE53 RECORD]')
try:
- create_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
- os.environ['ssn_subdomain'], instance_ip)
+ dlab.actions_lib.create_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
+ os.environ['ssn_subdomain'], ssn_conf['instance_ip'])
except:
traceback.print_exc()
raise Exception
except Exception as err:
- append_result("Failed to create route53 record.", str(err))
- remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
+ dlab.fab.append_result("Failed to create route53 record.", str(err))
+ dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
+ os.environ['ssn_hosted_zone_name'],
os.environ['ssn_subdomain'])
- remove_ec2(tag_name, instance_name)
- remove_all_iam_resources(instance)
- remove_s3(instance)
- if pre_defined_sg:
- remove_sgroups(tag_name)
- if pre_defined_subnet:
- remove_internet_gateways(os.environ['aws_vpc_id'], tag_name, service_base_name)
- remove_subnets(service_base_name + "-subnet")
- if pre_defined_vpc:
- remove_vpc_endpoints(os.environ['aws_vpc_id'])
- remove_route_tables(tag_name, True)
- remove_vpc(os.environ['aws_vpc_id'])
- if pre_defined_vpc2:
- remove_peering('*')
+ dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+ dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+ dlab.actions_lib.remove_s3(ssn_conf['instance'])
+ if ssn_conf['pre_defined_sg']:
+ dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+ if ssn_conf['pre_defined_subnet']:
+ dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
+ ssn_conf['service_base_name'])
+ dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+ if ssn_conf['pre_defined_vpc']:
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+ if ssn_conf['pre_defined_vpc2']:
+ dlab.actions_lib.remove_peering('*')
try:
- remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
except:
print("There are no VPC Endpoints")
- remove_route_tables(tag2_name, True)
- remove_vpc(os.environ['aws_vpc2_id'])
+ dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+ dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
sys.exit(1)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org