diff --git a/pkg/cluster/sync.go b/pkg/cluster/sync.go index d60ae4595..56794cf73 100644 --- a/pkg/cluster/sync.go +++ b/pkg/cluster/sync.go @@ -11,10 +11,12 @@ import ( // Sync syncs the cluster, making sure the actual Kubernetes objects correspond to what is defined in the manifest. // Unlike the update, sync does not error out if some objects do not exist and takes care of creating them. -func (c *Cluster) Sync() (err error) { +func (c *Cluster) Sync(newSpec *spec.Postgresql) (err error) { c.mu.Lock() defer c.mu.Unlock() + c.Postgresql = *newSpec + err = c.loadResources() if err != nil { c.logger.Errorf("could not load resources: %v", err) diff --git a/pkg/controller/postgresql.go b/pkg/controller/postgresql.go index fcce69b18..539b50e20 100644 --- a/pkg/controller/postgresql.go +++ b/pkg/controller/postgresql.go @@ -57,7 +57,6 @@ func (c *Controller) clusterListFunc(options metav1.ListOptions) (runtime.Object err = json.Unmarshal(b, &list) if time.Now().Unix()-atomic.LoadInt64(&c.lastClusterSyncTime) <= int64(c.opConfig.ResyncPeriod.Seconds()) { - c.logger.Debugln("skipping resync of clusters") return &list, err } @@ -249,7 +248,7 @@ func (c *Controller) processEvent(event spec.ClusterEvent) { } c.curWorkerCluster.Store(event.WorkerID, cl) - if err := cl.Sync(); err != nil { + if err := cl.Sync(event.NewSpec); err != nil { cl.Error = fmt.Errorf("could not sync cluster: %v", err) lg.Error(cl.Error) return