def update_cluster()

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


def update_cluster(Clustname, Version,regionName):
    eks_client = boto3.client('eks',region_name=regionName)
    ''' checking for cluster update '''
    logs_pusher(regionName=regionName,cluster_name=Clustname,msg="The Cluster status = {Status} and version = {Version}".format(Status=status_of_cluster(Clustname,regionName)[0],Version=status_of_cluster(Clustname,regionName)[1]))
    try:
        if status_of_cluster(Clustname,regionName)[1]==Version:
            print("The {clustname} cluster is already Updated to {version}".format(clustname=Clustname,version=Version))
            logs_pusher(regionName=regionName,cluster_name=Clustname,msg="The {clustname} cluster is already Updated to {version}".format(clustname=Clustname,version=Version))
            return True
        start=time.time()
        while True:
            if is_cluster_exists(Clustname,regionName) == "ACTIVE" and status_of_cluster(Clustname,regionName)[1] != Version:
                resp=eks_client.update_cluster_version(
                name=Clustname,
                version=Version)
                print("The {clustname} Cluster upgrade is initiated and getting updated to  {version} ".format(clustname=Clustname,version=Version))
                time.sleep(40)
                print("The {clustname} is still in the upgrade process this usually takes longer time..... ".format(clustname=Clustname))
                time.sleep(20)
                
            
            if is_cluster_exists(Clustname,regionName) == "UPDATING":
                # logs_pusher("Still Updating","info")
                end = time.time()
                hours, rem = divmod(end-start, 3600)
                minutes, seconds = divmod(rem, 60)
                print("The Cluster {Clustname} is Still Updating to {version} .....".format(Clustname=Clustname,version=Version),"{:0>2}:{:0>2}:{:05.2f}".format(int(hours),int(minutes),seconds))
                time.sleep(20)
                
            if is_cluster_exists(Clustname,regionName) == "ACTIVE" and status_of_cluster(Clustname,regionName)[1] == Version:
                print("The {clustname} Updated to {version}".format(clustname=Clustname,version=Version))
                logs_pusher(regionName=regionName,cluster_name=Clustname,msg="The {clustname} cluster is already Updated to {version}".format(clustname=Clustname,version=Version))


                
                break

        
        return True
    except Exception as e:
        # logs_pusher(e,"error")
        raise Exception(e)