Skip to content

Commit e6d12b3

Browse files
authored
Merge pull request zalando#295 from zalando-incubator/continue_on_delete_errors
Avoid terminating delete on errors.
2 parents f5d61a5 + 27c7245 commit e6d12b3

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

pkg/cluster/cluster.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -628,44 +628,42 @@ func (c *Cluster) Update(oldSpec, newSpec *spec.Postgresql) error {
628628
// DCS, reuses the master's endpoint to store the leader related metadata. If we remove the endpoint
629629
// before the pods, it will be re-created by the current master pod and will remain, obstructing the
630630
// creation of the new cluster with the same name. Therefore, the endpoints should be deleted last.
631-
func (c *Cluster) Delete() error {
631+
func (c *Cluster) Delete() {
632632
c.mu.Lock()
633633
defer c.mu.Unlock()
634634

635635
if err := c.deleteStatefulSet(); err != nil {
636-
return fmt.Errorf("could not delete statefulset: %v", err)
636+
c.logger.Warningf("could not delete statefulset: %v", err)
637637
}
638638

639639
for _, obj := range c.Secrets {
640640
if delete, user := c.shouldDeleteSecret(obj); !delete {
641-
c.logger.Infof("not removing secret %q for the system user %q", obj.GetName(), user)
641+
c.logger.Warningf("not removing secret %q for the system user %q", obj.GetName(), user)
642642
continue
643643
}
644644
if err := c.deleteSecret(obj); err != nil {
645-
return fmt.Errorf("could not delete secret: %v", err)
645+
c.logger.Warningf("could not delete secret: %v", err)
646646
}
647647
}
648648

649649
if err := c.deletePodDisruptionBudget(); err != nil {
650-
return fmt.Errorf("could not delete pod disruption budget: %v", err)
650+
c.logger.Warningf("could not delete pod disruption budget: %v", err)
651651
}
652652

653653
for _, role := range []PostgresRole{Master, Replica} {
654654

655655
if err := c.deleteEndpoint(role); err != nil {
656-
return fmt.Errorf("could not delete %s endpoint: %v", role, err)
656+
c.logger.Warningf("could not delete %s endpoint: %v", role, err)
657657
}
658658

659659
if err := c.deleteService(role); err != nil {
660-
return fmt.Errorf("could not delete %s service: %v", role, err)
660+
c.logger.Warningf("could not delete %s service: %v", role, err)
661661
}
662662
}
663663

664664
if err := c.deletePatroniClusterObjects(); err != nil {
665-
return fmt.Errorf("could not remove leftover patroni objects; %v", err)
665+
c.logger.Warningf("could not remove leftover patroni objects; %v", err)
666666
}
667-
668-
return nil
669667
}
670668

671669
// ReceivePodEvent is called back by the controller in order to add the cluster's pod event to the queue.

pkg/controller/postgresql.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,7 @@ func (c *Controller) processEvent(event spec.ClusterEvent) {
230230
teamName := strings.ToLower(cl.Spec.TeamID)
231231

232232
c.curWorkerCluster.Store(event.WorkerID, cl)
233-
if err := cl.Delete(); err != nil {
234-
lg.Errorf("could not delete cluster: %v", err)
235-
}
233+
cl.Delete()
236234

237235
func() {
238236
defer c.clustersMu.Unlock()

0 commit comments

Comments
 (0)