in eksupdate/src/preflight_module.py [0:0]
def get_cluster_version(preflight,log_details,errors,cluster_name,region,pass_vpc,update_version,report,customer_report,email,force_upgrade):
loading_config(cluster_name,region)
print('\n')
log_pusher(log_details,cluster_name,region,'Fetching cluster details .....')
print('Fetching cluster details .....')
eks = boto3.client('eks',region_name = region)
try :
cluster_details = eks.describe_cluster(
name=cluster_name
)
report['cluster'] = {'version':cluster_details['cluster']['version'],'region':cluster_details['cluster']['arn'].split(':')[3]}
log_pusher(log_details,cluster_name,region,'Cluster control plane version ' + report['cluster']['version'])
print('Cluster control plane version ' + report['cluster']['version'])
customer_report['cluster version'] = 'Cluster control plane version ' + report['cluster']['version']
if update_version :
if cluster_details['cluster']['version'] == update_version :
log_pusher(log_details,cluster_name,region,'Cluster already upgraded to version' + cluster_details['cluster']['version'])
print('Cluster already upgraded to version ' + cluster_details['cluster']['version'])
customer_report['cluster upgradation'] = 'Cluster already upgraded to version ' + cluster_details['cluster']['version']
elif (round(float(update_version) - float(cluster_details['cluster']['version']),2)) == 0.01 and float(update_version) < 1.22:
log_pusher(log_details,cluster_name,region,'Cluster with verison ' + cluster_details['cluster']['version'] + " can be updated to target version " + update_version)
print('Cluster with verison ' + cluster_details['cluster']['version'] + " can be updated to target version " + update_version)
customer_report['cluster upgradation'] = 'Cluster with verison ' + cluster_details['cluster']['version'] + " can be updated to target version " + update_version
else :
customer_report['cluster upgradation'] = 'Cluster with verison ' + cluster_details['cluster']['version'] + " cannot be updated to target version " + update_version
log_pusher(log_details,cluster_name,region,'Cluster with verison ' + cluster_details['cluster']['version'] + " cannot be updated to target version " + update_version)
print('Cluster with verison ' + cluster_details['cluster']['version'] + " cannot be updated to target version " + update_version)
report['preflight_status'] = False
errors.append('Cluster with verison ' + cluster_details['cluster']['version'] + " cannot be updated to target version " + update_version)
return
cmk_key_check(log_details,errors,cluster_name,region,cluster_details,report,customer_report)
security_group_check(log_details,errors,cluster_name,region,cluster_details,report,customer_report)
pod_security_policies(log_details,errors,cluster_name,region,report,customer_report)
node_group_details = nodegroup_customami(log_details,errors,cluster_name,region,report,customer_report,update_version)
report['nodegroup_details'] = node_group_details
customer_report['nodegroup_details'] = node_group_details
subnet_details(log_details,errors,cluster_name,region,report,customer_report)
cluster_roles(preflight,log_details,errors,cluster_name,region,report,customer_report)
addon_version(log_details,errors,cluster_name,region,cluster_details,report,customer_report,pass_vpc)
pod_disruption_budget(log_details,errors,cluster_name,region,report,customer_report,force_upgrade)
horizontal_auto_scaler(log_details,errors,cluster_name,region,report,customer_report)
cluster_auto_scaler(log_details,errors,cluster_name,region,report,customer_report)
if report['cluster']['version'] != "1.21" and update_version:
depricated_api_check(log_details,errors,cluster_name,region,report,customer_report,update_version)
if(email) :
print('\n')
log_pusher(log_details,cluster_name,region,'Delivering report via Email...')
print('Delivering report via Email...')
send_email(preflight,log_details,errors,cluster_name,region,report,customer_report,email)
except Exception as e :
errors.append('Some error occured during preflight check process {err}'.format(err = e))
customer_report['cluster version'] = 'Some error occured during preflight check process'
log_pusher(log_details,cluster_name,region,'Some error occured during preflight check process {err}'.format(err=e))
print('Some error occured during preflight check process {err}'.format(err=e))
report['preflight_status'] = False