diff --git a/pkg/cluster/cluster.go b/pkg/cluster/cluster.go index ef902fdbb..bd1b66fc8 100644 --- a/pkg/cluster/cluster.go +++ b/pkg/cluster/cluster.go @@ -783,7 +783,7 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { } if err := c.majorVersionUpgrade(); err != nil { - + c.logger.Errorf("major version upgrade failed: %v", err) } return nil diff --git a/pkg/cluster/majorversionupgrade.go b/pkg/cluster/majorversionupgrade.go index c1c49678e..3f6f37159 100644 --- a/pkg/cluster/majorversionupgrade.go +++ b/pkg/cluster/majorversionupgrade.go @@ -73,7 +73,10 @@ func (c *Cluster) majorVersionUpgrade() error { if c.currentMajorVersion < desiredVersion { podName := &spec.NamespacedName{Namespace: masterPod.Namespace, Name: masterPod.Name} c.logger.Infof("triggering major version upgrade on pod %s", masterPod.Name) - c.ExecCommand(podName, fmt.Sprintf("python3 /scripts/inplace_upgrade.py %d", numberOfPods)) + _, err := c.ExecCommand(podName, fmt.Sprintf("python3 /scripts/inplace_upgrade.py %d | tee last_upgrade.log", numberOfPods)) + if err != nil { + return err + } } } diff --git a/pkg/cluster/sync.go b/pkg/cluster/sync.go index 0144857b9..0d1ba6f62 100644 --- a/pkg/cluster/sync.go +++ b/pkg/cluster/sync.go @@ -118,6 +118,10 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error { return fmt.Errorf("could not sync connection pooler: %v", err) } + if err := c.majorVersionUpgrade(); err != nil { + c.logger.Errorf("major version upgrade failed: %v", err) + } + return err }