sync streams only when they are defined in manifest

This commit is contained in:
Felix Kunde 2021-12-06 16:35:11 +01:00
parent 417308595a
commit 90d6016dc8
2 changed files with 15 additions and 9 deletions

View File

@ -361,9 +361,11 @@ func (c *Cluster) Create() error {
// something fails, report warning // something fails, report warning
c.createConnectionPooler(c.installLookupFunction) c.createConnectionPooler(c.installLookupFunction)
if len(c.Spec.Streams) > 0 {
if err = c.syncStreams(); err != nil { if err = c.syncStreams(); err != nil {
c.logger.Errorf("could not create streams: %v", err) c.logger.Errorf("could not create streams: %v", err)
} }
}
return nil return nil
} }
@ -859,10 +861,12 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error {
updateFailed = true updateFailed = true
} }
if len(c.Spec.Streams) > 0 {
if err := c.syncStreams(); err != nil { if err := c.syncStreams(); err != nil {
c.logger.Errorf("could not sync streams: %v", err) c.logger.Errorf("could not sync streams: %v", err)
updateFailed = true updateFailed = true
} }
}
if !updateFailed { if !updateFailed {
// Major version upgrade must only fire after success of earlier operations and should stay last // Major version upgrade must only fire after success of earlier operations and should stay last

View File

@ -129,11 +129,13 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error {
return fmt.Errorf("could not sync connection pooler: %v", err) return fmt.Errorf("could not sync connection pooler: %v", err)
} }
if len(c.Spec.Streams) > 0 {
c.logger.Debug("syncing streams") c.logger.Debug("syncing streams")
if err = c.syncStreams(); err != nil { if err = c.syncStreams(); err != nil {
err = fmt.Errorf("could not sync streams: %v", err) err = fmt.Errorf("could not sync streams: %v", err)
return err return err
} }
}
// Major version upgrade must only run after success of all earlier operations, must remain last item in sync // Major version upgrade must only run after success of all earlier operations, must remain last item in sync
if err := c.majorVersionUpgrade(); err != nil { if err := c.majorVersionUpgrade(); err != nil {