in eksupdate/src/preflight_module.py [0:0]
def cluster_auto_scaler(log_details,errors,cluster_name,region,report,customer_report):
loading_config(cluster_name,region)
print('\n')
log_pusher(log_details,cluster_name,region,"Fetching Cluster Auto Scaler Details....")
print("Fetching Cluster Auto Scaler Details....")
try:
eks = boto3.client('eks',region_name = region)
cluster_details = eks.describe_cluster(name=cluster_name)
val= cluster_details['cluster']['version']
l=val.split('.')
v1=client.AppsV1Api()
res=v1.list_deployment_for_all_namespaces()
for i in res.items:
x=i.metadata.name
if(x=='cluster-autoscaler'):
log_pusher(log_details,cluster_name,region,"Cluster Autoscaler exists")
print("Cluster Autoscaler exists")
check_pods_running('cluster-autoscaler',log_details,cluster_name,region,report,errors)
version = i.spec.template.spec.containers[0].image.split('k8s.gcr.io/autoscaling/cluster-autoscaler:v')[1].split('-')[0]
l1=version.split('.')
if(l[0]==l1[0] and l[1]==l1[1]):
report['cluster_auto_scaler'] = {'image':i.spec.template.spec.containers[0].image}
customer_report['cluster autoscaler'] = "Auto scaler version is compatible with cluster version!"
log_pusher(log_details,cluster_name,region,"Auto scaler version is compatible with cluster version!")
print("Auto scaler version is compatible with cluster version!")
else :
print("Auto scaler version is not compatible with cluster version")
customer_report['cluster autoscaler'] = "Auto scaler version is not compatible with cluster version"
log_pusher(log_details,cluster_name,region,"Auto scaler version is not compatible with cluster version!")
return
else:
continue
customer_report['cluster autoscaler'] = "Cluster Autoscaler doesn't exists"
log_pusher(log_details,cluster_name,region,"Cluster Autoscaler doesn't exists")
print("Cluster Autoscaler doesn't exists")
except Exception as e :
errors.append('Error occured while checking for the cluster autoscaler {err}'.format(err=e))
customer_report['cluster autoscaler'] = 'Error occured while checking for the cluster autoscaler' + e
log_pusher(log_details,cluster_name,region,'Error occured while checking for the cluster autoscaler {err}'.format(err=e))
print('Error occured while checking for the cluster autoscaler {err}'.format(err=e))
report['preflight_status'] = False