def delete_cluster(self, env_id, env_info, resource_obj):
fmlogger.debug("Deleting GKE cluster")
res_db.Resource().update(resource_obj.id, {'status': 'deleting'})
try:
filtered_description = ast.literal_eval(resource_obj.filtered_description)
cluster_name = filtered_description['cluster_name']
project = filtered_description['project']
zone = filtered_description['zone']
# Network delete is not working for some reason. So temporarily
# commenting it out.
#try:
# self._delete_network(project, cluster_name)
#except Exception as e:
# fmlogger.error("Exception deleting network %s " % str(e))
# env_update = {}
# env_update['output_config'] = str({'error': str(e)})
# env_db.Environment().update(env_id, env_update)
self._delete_firewall_rule(project, cluster_name)
try:
resp = self.gke_service.projects().zones().clusters().delete(
projectId=project,
zone=zone,
clusterId=cluster_name
).execute()
fmlogger.debug(resp)
except Exception as e:
fmlogger.error("Encountered exception when deleting cluster %s" % e)
available = True
while available:
try:
resp = self.gke_service.projects().zones().clusters().get(
projectId=project,
zone=zone,
clusterId=cluster_name).execute()
except Exception as e:
fmlogger.error("Exception encountered in retrieving cluster. Cluster does not exist. %s " % e)
available = False
break
time.sleep(3)
except Exception as e:
fmlogger.error(e)
res_db.Resource().delete(resource_obj.id)
fmlogger.debug("Done deleting GKE cluster.")
评论列表
文章目录