do not error out on deleting Patroni cluster objects
This commit is contained in:
		
							parent
							
								
									2c4e5db334
								
							
						
					
					
						commit
						aa8b4bf365
					
				|  | @ -1564,7 +1564,7 @@ func (c *Cluster) Unlock() { | ||||||
| 	c.mu.Unlock() | 	c.mu.Unlock() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type simpleActionWithResult func() error | type simpleActionWithResult func() | ||||||
| 
 | 
 | ||||||
| type clusterObjectGet func(name string) (spec.NamespacedName, error) | type clusterObjectGet func(name string) (spec.NamespacedName, error) | ||||||
| 
 | 
 | ||||||
|  | @ -1586,38 +1586,38 @@ func (c *Cluster) deletePatroniClusterObjects() error { | ||||||
| 
 | 
 | ||||||
| 	c.logger.Debugf("removing leftover Patroni objects (endpoints / services and configmaps)") | 	c.logger.Debugf("removing leftover Patroni objects (endpoints / services and configmaps)") | ||||||
| 	for _, deleter := range actionsList { | 	for _, deleter := range actionsList { | ||||||
| 		if err := deleter(); err != nil { | 		deleter() | ||||||
| 			return err |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) deleteClusterObject( | func deleteClusterObject( | ||||||
| 	get clusterObjectGet, | 	get clusterObjectGet, | ||||||
| 	del clusterObjectDelete, | 	del clusterObjectDelete, | ||||||
| 	objType string) error { | 	objType string, | ||||||
|  | 	clusterName string, | ||||||
|  | 	logger *logrus.Entry) { | ||||||
| 	for _, suffix := range patroniObjectSuffixes { | 	for _, suffix := range patroniObjectSuffixes { | ||||||
| 		name := fmt.Sprintf("%s-%s", c.Name, suffix) | 		name := fmt.Sprintf("%s-%s", clusterName, suffix) | ||||||
| 
 | 
 | ||||||
| 		if namespacedName, err := get(name); err == nil { | 		namespacedName, err := get(name) | ||||||
| 			c.logger.Debugf("deleting Patroni cluster object %q with name %q", | 		if err == nil { | ||||||
|  | 			logger.Debugf("deleting %s %q", | ||||||
| 				objType, namespacedName) | 				objType, namespacedName) | ||||||
| 
 | 
 | ||||||
| 			if err = del(name); err != nil { | 			if err = del(name); err != nil { | ||||||
| 				return fmt.Errorf("could not delete Patroni cluster object %q with name %q: %v", | 				logger.Warningf("could not delete %s %q: %v", | ||||||
| 					objType, namespacedName, err) | 					objType, namespacedName, err) | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 		} else if !k8sutil.ResourceNotFound(err) { | 		} else if !k8sutil.ResourceNotFound(err) { | ||||||
| 			return fmt.Errorf("could not fetch Patroni Endpoint %q: %v", | 			logger.Warningf("could not fetch %s %q: %v", | ||||||
| 				namespacedName, err) | 				objType, namespacedName, err) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	return nil |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) deletePatroniClusterServices() error { | func (c *Cluster) deletePatroniClusterServices() { | ||||||
| 	get := func(name string) (spec.NamespacedName, error) { | 	get := func(name string) (spec.NamespacedName, error) { | ||||||
| 		svc, err := c.KubeClient.Services(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | 		svc, err := c.KubeClient.Services(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | ||||||
| 		return util.NameFromMeta(svc.ObjectMeta), err | 		return util.NameFromMeta(svc.ObjectMeta), err | ||||||
|  | @ -1627,10 +1627,10 @@ func (c *Cluster) deletePatroniClusterServices() error { | ||||||
| 		return c.KubeClient.Services(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | 		return c.KubeClient.Services(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return c.deleteClusterObject(get, deleteServiceFn, "service") | 	deleteClusterObject(get, deleteServiceFn, "service", c.Name, c.logger) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) deletePatroniClusterEndpoints() error { | func (c *Cluster) deletePatroniClusterEndpoints() { | ||||||
| 	get := func(name string) (spec.NamespacedName, error) { | 	get := func(name string) (spec.NamespacedName, error) { | ||||||
| 		ep, err := c.KubeClient.Endpoints(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | 		ep, err := c.KubeClient.Endpoints(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | ||||||
| 		return util.NameFromMeta(ep.ObjectMeta), err | 		return util.NameFromMeta(ep.ObjectMeta), err | ||||||
|  | @ -1640,10 +1640,10 @@ func (c *Cluster) deletePatroniClusterEndpoints() error { | ||||||
| 		return c.KubeClient.Endpoints(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | 		return c.KubeClient.Endpoints(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return c.deleteClusterObject(get, deleteEndpointFn, "endpoint") | 	deleteClusterObject(get, deleteEndpointFn, "endpoint", c.Name, c.logger) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) deletePatroniClusterConfigMaps() error { | func (c *Cluster) deletePatroniClusterConfigMaps() { | ||||||
| 	get := func(name string) (spec.NamespacedName, error) { | 	get := func(name string) (spec.NamespacedName, error) { | ||||||
| 		cm, err := c.KubeClient.ConfigMaps(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | 		cm, err := c.KubeClient.ConfigMaps(c.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) | ||||||
| 		return util.NameFromMeta(cm.ObjectMeta), err | 		return util.NameFromMeta(cm.ObjectMeta), err | ||||||
|  | @ -1653,5 +1653,5 @@ func (c *Cluster) deletePatroniClusterConfigMaps() error { | ||||||
| 		return c.KubeClient.ConfigMaps(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | 		return c.KubeClient.ConfigMaps(c.Namespace).Delete(context.TODO(), name, c.deleteOptions) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return c.deleteClusterObject(get, deleteConfigMapFn, "configmap") | 	deleteClusterObject(get, deleteConfigMapFn, "configmap", c.Name, c.logger) | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue