From 754432cd241932b75cd515310d03bcb53eeae461 Mon Sep 17 00:00:00 2001 From: Iakov GAN <82834333+iakov-aws@users.noreply.github.com> Date: Wed, 13 Nov 2024 09:49:09 +0100 Subject: [PATCH] Release/4.0.4 (#1024) * fix crawler wait * release 4.0.4 --- cfn-templates/cid-cfn.yml | 30 +++++++++++++++++------------- cid/_version.py | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/cfn-templates/cid-cfn.yml b/cfn-templates/cid-cfn.yml index 504e0b54..c1ee2220 100644 --- a/cfn-templates/cid-cfn.yml +++ b/cfn-templates/cid-cfn.yml @@ -1,5 +1,5 @@ AWSTemplateFormatVersion: '2010-09-09' -Description: Deployment of Cloud Intelligence Dashboards v4.0.3 +Description: Deployment of Cloud Intelligence Dashboards v4.0.4 Metadata: AWS::CloudFormation::Interface: ParameterGroups: @@ -655,17 +655,21 @@ Resources: else: return (True, f'ERROR: error invoking crawler {CRAWLER} {exc}') print('started crawler started. waiting for crawler to finish') - start_time = time.time() - while time.time() - start_time < timeout_seconds: - time.sleep(10) - crawler_status = glue.get_crawler(Name=CRAWLER)['Crawler']['State'] - print('status=', crawler_status) - if crawler_status in ('READY', 'STOPPING'): - print("Stop waiting") - break - else: - return (True, f"Timeout exceeded. Crawler '{CRAWLER}' did not complete. This is not a fatal error and the rest of the deployment will continue.") + try: + start_time = time.time() + while time.time() - start_time < timeout_seconds: + time.sleep(1) + crawler_status = glue.get_crawler(Name=CRAWLER)['Crawler']['State'] + print(f'status = {crawler_status}') + if crawler_status in ('READY', 'STOPPING'): + print("Stop waiting") + break + else: + return (True, f"Timeout exceeded. Crawler '{CRAWLER}' did not complete. This is not a fatal error and the rest of the deployment will continue.") + except Exception as exc: + return (True, f'ERROR: error waiting for crawler {CRAWLER} {exc}') return (True, 'Crawler run completed.') + return (True, 'Ended create.') def on_delete(): # Delete bucket (CF cannot delete if they are non-empty) @@ -869,7 +873,7 @@ Resources: Path: !Ref RolePath PermissionsBoundary: !If [NeedPermissionsBoundary, !Ref PermissionsBoundary, !Ref 'AWS::NoValue'] Policies: - - PolicyName: AWSCURCrawlerComponentFunction + - PolicyName: CloudWatch PolicyDocument: Version: 2012-10-17 Statement: @@ -1777,7 +1781,7 @@ Resources: - LambdaLayerBucketPrefixIsManaged - !FindInMap [RegionMap, !Ref 'AWS::Region', BucketName] - !Sub '${LambdaLayerBucketPrefix}-${AWS::Region}' # Region added for backward compatibility - S3Key: 'cid-resource-lambda-layer/cid-4.0.3.zip' #replace version here if needed + S3Key: 'cid-resource-lambda-layer/cid-4.0.4.zip' #replace version here if needed CompatibleRuntimes: - python3.10 - python3.11 diff --git a/cid/_version.py b/cid/_version.py index 76c6b7b8..680617c7 100644 --- a/cid/_version.py +++ b/cid/_version.py @@ -1,2 +1,2 @@ -__version__ = '4.0.3' +__version__ = '4.0.4'