Avoid orphaned objects on delete (#654)
* Make setSpec function work correctly when updating cluster status fails
This commit is contained in:
		
							parent
							
								
									fd6a2454e8
								
							
						
					
					
						commit
						4a863d2280
					
				|  | @ -164,11 +164,13 @@ func (c *Cluster) setStatus(status string) { | |||
| 	} | ||||
| 
 | ||||
| 	// we cannot do a full scale update here without fetching the previous manifest (as the resourceVersion may differ),
 | ||||
| 	// however, we could do patch without it. In the future, once /status subresource is there (starting Kubernets 1.11)
 | ||||
| 	// however, we could do patch without it. In the future, once /status subresource is there (starting Kubernetes 1.11)
 | ||||
| 	// we should take advantage of it.
 | ||||
| 	newspec, err := c.KubeClient.AcidV1ClientSet.AcidV1().Postgresqls(c.clusterNamespace()).Patch(c.Name, types.MergePatchType, patch, "status") | ||||
| 	if err != nil { | ||||
| 		c.logger.Errorf("could not update status: %v", err) | ||||
| 		// return as newspec is empty, see PR654
 | ||||
| 		return | ||||
| 	} | ||||
| 	// update the spec, maintaining the new resourceVersion.
 | ||||
| 	c.setSpec(newspec) | ||||
|  |  | |||
|  | @ -365,7 +365,7 @@ func (c *Cluster) waitStatefulsetPodsReady() error { | |||
| 	c.setProcessName("waiting for the pods of the statefulset") | ||||
| 	// TODO: wait for the first Pod only
 | ||||
| 	if err := c.waitStatefulsetReady(); err != nil { | ||||
| 		return fmt.Errorf("statuful set error: %v", err) | ||||
| 		return fmt.Errorf("stateful set error: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	// TODO: wait only for master
 | ||||
|  |  | |||
|  | @ -82,7 +82,7 @@ func ResourceNotFound(err error) bool { | |||
| 	return apierrors.IsNotFound(err) | ||||
| } | ||||
| 
 | ||||
| // NewFromConfig create Kubernets Interface using REST config
 | ||||
| // NewFromConfig create Kubernetes Interface using REST config
 | ||||
| func NewFromConfig(cfg *rest.Config) (KubernetesClient, error) { | ||||
| 	kubeClient := KubernetesClient{} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue