From c86828b74b39a4cd36d1cd70155a9991e8bcf55e Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Tue, 16 Apr 2019 11:50:42 +0530 Subject: [PATCH] Cleanup volume, ep/svc if endpoint update failed. Signed-off-by: Humble Chirammal --- pkg/volume/glusterfs/glusterfs.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index 7ca8d02a726..ff597b9d3c2 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -889,7 +889,20 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi } _, err = kubeClient.CoreV1().Endpoints(epNamespace).Update(endpoint) if err != nil { + deleteErr := cli.VolumeDelete(volume.Id) + if deleteErr != nil { + klog.Errorf("failed to delete volume: %v, manual deletion of the volume required", deleteErr) + } + + klog.V(3).Infof("failed to update endpoint, deleting %s", endpoint) + + err = kubeClient.CoreV1().Services(epNamespace).Delete(epServiceName, nil) + if err != nil { + klog.Errorf("failed to delete service %s/%s: %v", epNamespace, epServiceName, err) + } + klog.V(1).Infof("service/endpoint: %s/%s deleted successfully", epNamespace, epServiceName) return nil, 0, "", fmt.Errorf("failed to update endpoint %s: %v", endpoint, err) + } klog.V(3).Infof("endpoint %s updated successfully", endpoint)