diff --git a/pkg/cluster/cluster.go b/pkg/cluster/cluster.go index 05df7ca67..80f706c1e 100644 --- a/pkg/cluster/cluster.go +++ b/pkg/cluster/cluster.go @@ -317,10 +317,6 @@ func (c *Cluster) Update(newSpec *spec.Postgresql) error { //TODO: rewrite pg version in tpr spec } - if !reflect.DeepEqual(c.Spec.Resources, newSpec.Spec.Resources) { // Kubernetes resources: cpu, mem - rollingUpdate = true - } - if rollingUpdate { c.logger.Infof("Rolling update is needed") // TODO: wait for actual streaming to the replica @@ -334,60 +330,24 @@ func (c *Cluster) Update(newSpec *spec.Postgresql) error { } func (c *Cluster) Delete() error { - if c.Endpoint != nil { - c.logger.Debugln("Deleting Endpoints") - epName := util.NameFromMeta(c.Endpoint.ObjectMeta) - if err := c.deleteEndpoint(); err != nil { - c.logger.Errorf("Can't delete Endpoint: %s", err) - } else { - c.logger.Infof("Endpoint '%s' has been deleted", epName) + if err := c.deleteEndpoint(); err != nil { + c.logger.Errorf("Can't delete Endpoint: %s", err) + } + + if err := c.deleteService(); err != nil { + c.logger.Errorf("Can't delete Service: %s", err) + } + + if err := c.deleteStatefulSet(); err != nil { + c.logger.Errorf("Can't delete StatefulSet: %s", err) + } + + for _, obj := range c.Secrets { + if err := c.deleteSecret(obj); err != nil { + c.logger.Errorf("Can't delete Secret: %s", err) } } - if c.Service != nil { - c.logger.Debugln("Deleting Service") - svcName := util.NameFromMeta(c.Service.ObjectMeta) - if err := c.deleteService(); err != nil { - c.logger.Errorf("Can't delete Service: %s", err) - } else { - c.logger.Infof("Service '%s' has been deleted", svcName) - } - } - - if c.Statefulset != nil { - c.logger.Debugln("Deleting StatefulSet") - ssName := util.NameFromMeta(c.Statefulset.ObjectMeta) - if err := c.deleteStatefulSet(); err != nil { - c.logger.Errorf("Can't delete StatefulSet: %s", err) - } else { - c.logger.Infof("StatefulSet '%s' has been deleted", ssName) - } - } - - if c.Secrets != nil { - c.logger.Debugln("Deleting Secrets") - for _, obj := range c.Secrets { - c.logger.Debugf("Deleting Secret '%s'", util.NameFromMeta(obj.ObjectMeta)) - if err := c.deleteSecret(obj); err != nil { - c.logger.Errorf("Can't delete Secret: %s", err) - } else { - c.logger.Infof("Secret '%s' has been deleted", util.NameFromMeta(obj.ObjectMeta)) - } - } - } - - c.logger.Debugln("Deleting Pods") - if err := c.deletePods(); err != nil { - c.logger.Errorf("Can't delete Pods: %s", err) - } else { - c.logger.Infof("Pods have been deleted") - } - - c.logger.Debugln("Deleting PVCs") - if err := c.deletePersistenVolumeClaims(); err != nil { - return fmt.Errorf("Can't delete PersistentVolumeClaims: %s", err) - } - return nil } diff --git a/pkg/cluster/pod.go b/pkg/cluster/pod.go index 09164f31f..2655a2ba1 100644 --- a/pkg/cluster/pod.go +++ b/pkg/cluster/pod.go @@ -38,6 +38,7 @@ func (c *Cluster) listPersistentVolumeClaims() ([]v1.PersistentVolumeClaim, erro } func (c *Cluster) deletePods() error { + c.logger.Debugln("Deleting Pods") pods, err := c.listPods() if err != nil { return err @@ -51,11 +52,17 @@ func (c *Cluster) deletePods() error { c.logger.Infof("Pod '%s' has been deleted", util.NameFromMeta(obj.ObjectMeta)) } } + if len(pods) > 0 { + c.logger.Debugln("Pods have been deleted") + } else { + c.logger.Debugln("No Pods to delete") + } return nil } func (c *Cluster) deletePersistenVolumeClaims() error { + c.logger.Debugln("Deleting PVCs") ns := c.Metadata.Namespace pvcs, err := c.listPersistentVolumeClaims() if err != nil { @@ -67,6 +74,12 @@ func (c *Cluster) deletePersistenVolumeClaims() error { c.logger.Warningf("Can't delete PersistentVolumeClaim: %s", err) } } + if len(pvcs) > 0 { + c.logger.Debugln("PVCs have been deleted") + } else { + c.logger.Debugln("No PVCs to delete") + } + return nil } diff --git a/pkg/cluster/resources.go b/pkg/cluster/resources.go index bc99a1d1b..43e2f6869 100644 --- a/pkg/cluster/resources.go +++ b/pkg/cluster/resources.go @@ -137,6 +137,7 @@ func (c *Cluster) updateStatefulSet(newStatefulSet *v1beta1.StatefulSet) error { } func (c *Cluster) deleteStatefulSet() error { + c.logger.Debugln("Deleting StatefulSet") if c.Statefulset == nil { return fmt.Errorf("There is no StatefulSet in the cluster") } @@ -145,8 +146,17 @@ func (c *Cluster) deleteStatefulSet() error { if err != nil { return err } + c.logger.Infof("StatefulSet '%s' has been deleted", util.NameFromMeta(c.Statefulset.ObjectMeta)) c.Statefulset = nil + if err := c.deletePods(); err != nil { + return fmt.Errorf("Can't delete Pods: %s", err) + } + + if err := c.deletePersistenVolumeClaims(); err != nil { + return fmt.Errorf("Can't delete PersistentVolumeClaims: %s", err) + } + return nil } @@ -185,6 +195,8 @@ func (c *Cluster) updateService(newService *v1.Service) error { } func (c *Cluster) deleteService() error { + c.logger.Debugln("Deleting Service") + if c.Service == nil { return fmt.Errorf("There is no Service in the cluster") } @@ -192,6 +204,7 @@ func (c *Cluster) deleteService() error { if err != nil { return err } + c.logger.Infof("Service '%s' has been deleted", util.NameFromMeta(c.Service.ObjectMeta)) c.Service = nil return nil @@ -222,6 +235,7 @@ func (c *Cluster) updateEndpoint(newEndpoint *v1.Endpoints) error { } func (c *Cluster) deleteEndpoint() error { + c.logger.Debugln("Deleting Endpoint") if c.Endpoint == nil { return fmt.Errorf("There is no Endpoint in the cluster") } @@ -229,6 +243,7 @@ func (c *Cluster) deleteEndpoint() error { if err != nil { return err } + c.logger.Infof("Endpoint '%s' has been deleted", util.NameFromMeta(c.Endpoint.ObjectMeta)) c.Endpoint = nil return nil @@ -267,10 +282,12 @@ func (c *Cluster) applySecrets() error { } func (c *Cluster) deleteSecret(secret *v1.Secret) error { + c.logger.Debugf("Deleting Secret '%s'", util.NameFromMeta(secret.ObjectMeta)) err := c.KubeClient.Secrets(secret.Namespace).Delete(secret.Name, deleteOptions) if err != nil { return err } + c.logger.Infof("Secret '%s' has been deleted", util.NameFromMeta(secret.ObjectMeta)) delete(c.Secrets, secret.UID) return err