You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by lf...@apache.org on 2020/02/20 12:29:48 UTC

[incubator-dlab] branch DLAB-1531 updated: DLAB-1531 tag set is now passed to create_s3_bucket function

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

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


The following commit(s) were added to refs/heads/DLAB-1531 by this push:
     new ef58d74  DLAB-1531 tag set is now passed to create_s3_bucket function
ef58d74 is described below

commit ef58d74fdb412773fce887c8027d937ecafae1a8
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Thu Feb 20 14:29:35 2020 +0200

    DLAB-1531 tag set is now passed to create_s3_bucket function
---
 .../src/general/lib/aws/actions_lib.py             | 19 +++++++--------
 .../general/scripts/aws/common_create_bucket.py    | 10 ++++----
 .../src/general/scripts/aws/project_prepare.py     | 28 ++++++++++------------
 3 files changed, 25 insertions(+), 32 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/aws/actions_lib.py b/infrastructure-provisioning/src/general/lib/aws/actions_lib.py
index 02f2e78..af6412c 100644
--- a/infrastructure-provisioning/src/general/lib/aws/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/aws/actions_lib.py
@@ -66,7 +66,7 @@ def put_to_bucket(bucket_name, local_file, destination_file):
         return False
 
 
-def create_s3_bucket(bucket_name, tag, region, bucket_name_tag):
+def create_s3_bucket(bucket_name, bucket_tags, region, bucket_name_tag):
     try:
         s3 = boto3.resource('s3', config=Config(signature_version='s3v4'))
         if region == "us-east-1":
@@ -84,18 +84,15 @@ def create_s3_bucket(bucket_name, tag, region, bucket_name_tag):
                 ]
             })
         tags = list()
-        tags.append(tag)
         tags.append({'Key': os.environ['conf_tag_resource_id'],
                      'Value': os.environ['conf_service_base_name'] + ':' + bucket_name_tag})
-        tags.append({'Key': os.environ['conf_billing_tag_key'], 'Value': os.environ['conf_billing_tag_value']})
-        if 'conf_additional_tags' in os.environ:
-            for tag in os.environ['conf_additional_tags'].split(';'):
-                tags.append(
-                    {
-                        'Key': tag.split(':')[0],
-                        'Value': tag.split(':')[1]
-                    }
-                )
+        for tag in bucket_tags.split(';'):
+            tags.append(
+                {
+                    'Key': tag.split(':')[0],
+                    'Value': tag.split(':')[1]
+                }
+            )
         tagging = bucket.Tagging()
         tagging.put(Tagging={'TagSet': tags})
         tagging.reload()
diff --git a/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py b/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
index 9bce147..0abb64a 100644
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
@@ -30,21 +30,19 @@ import sys
 
 parser = argparse.ArgumentParser()
 parser.add_argument('--bucket_name', type=str, default='')
-parser.add_argument('--bucket_name_tag', type=str, default='')
-parser.add_argument('--infra_tag_name', type=str, default='')
-parser.add_argument('--infra_tag_value', type=str, default='')
+parser.add_argument('--bucket_tags', type=str, default='')
 parser.add_argument('--region', type=str, default='')
+parser.add_argument('--bucket_name_tag', type=str, default='')
 args = parser.parse_args()
 
 
 if __name__ == "__main__":
-    tag = {"Key": args.infra_tag_name, "Value": args.infra_tag_value}
     if args.bucket_name != '':
         try:
             bucket = get_bucket_by_name(args.bucket_name)
             if bucket == '':
-                print("Creating bucket {0} with tag {1}.".format(args.bucket_name, json.dumps(tag)))
-                bucket = create_s3_bucket(args.bucket_name, tag, args.region, args.bucket_name_tag)
+                print("Creating bucket {0} with tags {1}.".format(args.bucket_name, args.bucket_tags))
+                bucket = create_s3_bucket(args.bucket_name, args.bucket_tags, args.region, arg.bucket_name_tag)
             else:
                 print("REQUESTED BUCKET ALREADY EXISTS")
             print("BUCKET_NAME {}".format(bucket))
diff --git a/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py b/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
index f1faa34..b8fb85d 100644
--- a/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
@@ -134,18 +134,12 @@ if __name__ == "__main__":
     logging.info(json.dumps(project_conf))
 
     if 'conf_additional_tags' in os.environ:
-        project_conf['shared_bucket_additional_tags'] = os.environ['conf_additional_tags'] + \
-                                             ';endpoint_tag:{};'.format(project_conf['endpoint_tag'])
-        project_conf['conf_additional_tags'] = os.environ['conf_additional_tags'] + \
-                                             ';project_tag:{0};endpoint_tag:{1};'.format(
-                                                 project_conf['project_tag'], project_conf['endpoint_tag'])
+        project_conf['bucket_additional_tags'] = os.environ['conf_additional_tags'] + ';'
         os.environ['conf_additional_tags'] = os.environ['conf_additional_tags'] + \
                                              ';project_tag:{0};endpoint_tag:{1};'.format(
                                                  project_conf['project_tag'], project_conf['endpoint_tag'])
     else:
-        project_conf['shared_bucket_additional_tags'] = 'endpoint_tag:{};'.format(project_conf['endpoint_tag'])
-        project_conf['conf_additional_tags'] = 'project_tag:{0};endpoint_tag:{1}'.format(project_conf['project_tag'],
-                                                                                       project_conf['endpoint_tag'])
+        project_conf['bucket_additional_tags'] = ''
         os.environ['conf_additional_tags'] = 'project_tag:{0};endpoint_tag:{1}'.format(project_conf['project_tag'],
                                                                                        project_conf['endpoint_tag'])
     print('Additional tags will be added: {}'.format(os.environ['conf_additional_tags']))
@@ -539,18 +533,22 @@ if __name__ == "__main__":
     try:
         logging.info('[CREATE BUCKETS]')
         print('[CREATE BUCKETS]')
-        os.environ['conf_additional_tags'] = project_conf['shared_bucket_additional_tags']
-        params = "--bucket_name {} --infra_tag_name {} --infra_tag_value {} --region {} --bucket_name_tag {}". \
-            format(project_conf['shared_bucket_name'], project_conf['tag_name'], project_conf['shared_bucket_name'], project_conf['region'], project_conf['shared_bucket_name_tag'])
+        project_conf['shared_bucket_tags'] = 'endpoint_tag:{};{}:{};{}:{};{}'.format(project_conf['endpoint_tag'],
+                                                                                  os.environ['conf_billing_tag_key'], os.environ['conf_billing_tag_value'],
+                                                                                  project_conf['tag_name'], project_conf['shared_bucket_name'], project_conf['bucket_additional_tags'])
+        params = "--bucket_name {} --bucket_tags {} --region {} --bucket_name_tag {}". \
+            format(project_conf['shared_bucket_name'], project_conf['shared_bucket_tags'], project_conf['region'], project_conf['shared_bucket_name_tag'])
         try:
             local("~/scripts/{}.py {}".format('common_create_bucket', params))
         except:
             traceback.print_exc()
             raise Exception
-        os.environ['conf_additional_tags'] = project_conf['conf_additional_tags']
-        params = "--bucket_name {} --infra_tag_name {} --infra_tag_value {} --region {} --bucket_name_tag {}" \
-                 .format(project_conf['bucket_name'], project_conf['tag_name'], project_conf['bucket_name'],
-                         project_conf['region'], project_conf['bucket_name_tag'])
+        project_conf['bucket_tags'] = 'endpoint_tag:{};{}:{};project_tag:{};{}:{};{}'.format(project_conf['endpoint_tag'],
+                                                                                  os.environ['conf_billing_tag_key'], os.environ['conf_billing_tag_value'],
+                                                                                  project_conf['project_tag'],
+                                                                                  project_conf['tag_name'], project_conf['bucket_name'], project_conf['bucket_additional_tags'])
+        params = "--bucket_name {} --bucket_tags {} --region {} --bucket_name_tag {}" \
+                 .format(project_conf['bucket_name'], project_conf['tag_name'], project_conf['region'], project_conf['bucket_name_tag'])
         try:
             local("~/scripts/{}.py {}".format('common_create_bucket', params))
         except:


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