def pre_flight_checks()

in eksupdate/src/preflight_module.py [0:0]


def pre_flight_checks(preflight,cluster_name,region,pass_vpc,update_version = False,email = False,force_upgrade=False):
    loading_config(cluster_name,region)
    report = {'preflight_status' : True}
    customer_report = {}
    log_details = create_log_group_stream(cluster_name,region)

    errors = []
    try :
        if email :
            ses_client = boto3.client("ses", region_name="ap-south-1")
            identities  = ses_client.list_identities()
            if email not in identities['Identities']:
                response = ses_client.verify_email_identity(
                    EmailAddress=email
                )
                print('Please check your inbox to verify your email')
        v1 = client.CoreV1Api()
        ret = v1.list_namespaced_service('default')
        print('\n')
        log_pusher(log_details,cluster_name,region,'Verifying User IAM Role....')
        print('Verifying User IAM Role....')
        log_pusher(log_details,cluster_name,region,'IAM role for user verified')
        print('IAM role for user verified')
        customer_report['IAM role'] = 'IAM role for user verified'
        get_cluster_version(preflight,log_details,errors,cluster_name,region,pass_vpc,update_version,report,customer_report,email,force_upgrade)
        print('\n')
        log_pusher(log_details,cluster_name,region,'Customer report.....')
        log_pusher(log_details,cluster_name,region,str(report))
        if (len(errors)) > 0 :
            if preflight :
                print('Preflight unsuccessful because of following errors')
            else:
                print('Postflight unsuccessful because of following errors')
            for e in errors :
                print(e)
            print('\n')
        # print('Customer report.....')
        # pprint(customer_report)
        return report['preflight_status']
    except Exception as e :
        log_pusher(log_details,cluster_name,region,'IAM role verification failed {err}'.format(err=e))
        print('IAM role verification failed {err}'.format(err=e))
        report['preflight_status'] = False
        customer_report['IAM role'] = 'IAM role verification failed'