in eksupdate/src/eksctlfinal.py [0:0]
def add_on_upgrade(region,clust_name,d,v1):
print('addon upgrade started')
start_time=time.ctime()
start=time.time()
logs_pusher(regionName=region,cluster_name=clust_name,msg="The Addons Upgrade Started At "+str(start_time))
loading_config(clust_name,region)
v1 = client.CoreV1Api()
rep = v1.list_namespaced_pod("kube-system")
d['addonsbeforeupdate']={}
for pod in rep.items:
print(pod.metadata.name ,"Current Version = ", pod.spec.containers[0].image.split(":")[-1])
d['addonsbeforeupdate'][pod.metadata.name]=pod.spec.containers[0].image.split(":")[-1]
args='~/eksctl utils update-kube-proxy --cluster='+clust_name+' --approve'#to update kube-proxy
output=subprocess.call(args,shell=True)
args='~/eksctl utils update-coredns --cluster='+clust_name+' --approve' #to update coredns
output=subprocess.call(args,shell=True)
output=botoclient('us-west-2').list_addons( clusterName=clust_name)
if 'vpc-cni' in output['addons']:
try:
response = botoclient('us-west-2').describe_cluster(
name=clust_name
)
if response['ResponseMetadata']['HTTPStatusCode'] == 200:
print("Success response recieved for describing cluster "+ clust_name)
oidc = (response['cluster']['identity']['oidc']['issuer'])
print('OIDC output recieved '+ oidc + ' for Cluster Name ' + clust_name)
response = botoclient('us-west-2').describe_addon(clusterName=clust_name,addonName='vpc-cni')
# print(response['addon']['addonVersion'])
if(response['addon']['addonVersion']!=vpc_version):
args='~/eksctl update addon --name vpc-cni --version '+vpc_version+' --cluster '+clust_name #to update aws-node
output=subprocess.call(args,shell=True)
except Exception as e:
print('Failed to fetch Cluster OIDC value for cluster name ' + clust_name, e)
else:
args='~/eksctl utils update-aws-node --cluster='+clust_name+' --approve'
output=subprocess.call(args,shell=True)
print('addons update completed')
end=time.time()
hours, rem = divmod(end-start, 3600)
minutes, seconds = divmod(rem, 60)
print("The time Taken For the Addons Upgrade ","{:0>2}:{:0>2}:{:05.2f}".format(int(hours),int(minutes),seconds))
logs_pusher(regionName=region,cluster_name=clust_name,msg="The time Taken For the addons Upgrade "+"{:0>2}:{:0>2}:{:05.2f}".format(int(hours),int(minutes),seconds))
return d