mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-01 01:53:18 +02:00
add unit test and documentation for finalizers (#2509)
* add unit test and documentation for finalizers * error msg with lower case and cover sync case * try to avoid adding json-patch dependency * use Update to remove finalizer * changing status and finalizer during create * do not call Delete() twice
This commit is contained in:
@@ -285,14 +285,17 @@ func (c *Controller) processEvent(event ClusterEvent) {
|
||||
lg.Errorf("unknown cluster: %q", clusterName)
|
||||
return
|
||||
}
|
||||
lg.Infoln("deletion of the cluster started")
|
||||
|
||||
teamName := strings.ToLower(cl.Spec.TeamID)
|
||||
|
||||
c.curWorkerCluster.Store(event.WorkerID, cl)
|
||||
if err := cl.Delete(); err != nil {
|
||||
cl.Error = fmt.Sprintf("Could not delete cluster: %v", err)
|
||||
c.eventRecorder.Eventf(cl.GetReference(), v1.EventTypeWarning, "Delete", "%v", cl.Error)
|
||||
|
||||
// when using finalizers the deletion already happened
|
||||
if c.opConfig.EnableFinalizers == nil || !*c.opConfig.EnableFinalizers {
|
||||
lg.Infoln("deletion of the cluster started")
|
||||
if err := cl.Delete(); err != nil {
|
||||
cl.Error = fmt.Sprintf("could not delete cluster: %v", err)
|
||||
c.eventRecorder.Eventf(cl.GetReference(), v1.EventTypeWarning, "Delete", "%v", cl.Error)
|
||||
}
|
||||
}
|
||||
|
||||
func() {
|
||||
@@ -329,9 +332,9 @@ func (c *Controller) processEvent(event ClusterEvent) {
|
||||
|
||||
// has this cluster been marked as deleted already, then we shall start cleaning up
|
||||
if !cl.ObjectMeta.DeletionTimestamp.IsZero() {
|
||||
lg.Infof("Cluster has a DeletionTimestamp of %s, starting deletion now.", cl.ObjectMeta.DeletionTimestamp.Format(time.RFC3339))
|
||||
lg.Infof("cluster has a DeletionTimestamp of %s, starting deletion now.", cl.ObjectMeta.DeletionTimestamp.Format(time.RFC3339))
|
||||
if err = cl.Delete(); err != nil {
|
||||
cl.Error = fmt.Sprintf("Error deleting cluster and its resources: %v", err)
|
||||
cl.Error = fmt.Sprintf("error deleting cluster and its resources: %v", err)
|
||||
c.eventRecorder.Eventf(cl.GetReference(), v1.EventTypeWarning, "Delete", "%v", cl.Error)
|
||||
lg.Error(cl.Error)
|
||||
return
|
||||
@@ -572,13 +575,13 @@ func (c *Controller) postgresqlCheck(obj interface{}) *acidv1.Postgresql {
|
||||
}
|
||||
|
||||
/*
|
||||
Ensures the pod service account and role bindings exists in a namespace
|
||||
before a PG cluster is created there so that a user does not have to deploy
|
||||
these credentials manually. StatefulSets require the service account to
|
||||
create pods; Patroni requires relevant RBAC bindings to access endpoints
|
||||
or config maps.
|
||||
Ensures the pod service account and role bindings exists in a namespace
|
||||
before a PG cluster is created there so that a user does not have to deploy
|
||||
these credentials manually. StatefulSets require the service account to
|
||||
create pods; Patroni requires relevant RBAC bindings to access endpoints
|
||||
or config maps.
|
||||
|
||||
The operator does not sync accounts/role bindings after creation.
|
||||
The operator does not sync accounts/role bindings after creation.
|
||||
*/
|
||||
func (c *Controller) submitRBACCredentials(event ClusterEvent) error {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user