def cluster_auto_scaler()

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