diff --git a/pkg/cluster/resources.go b/pkg/cluster/resources.go index 256a7acb9..1a1f3c69a 100644 --- a/pkg/cluster/resources.go +++ b/pkg/cluster/resources.go @@ -18,7 +18,7 @@ import ( ) const ( - RollingUpdateStatefulsetAnnotationKey = "zalando-postgres-operator-rolling-update" + RollingUpdateStatefulsetAnnotationKey = "zalando-postgres-operator-rolling-update-required" ) func (c *Cluster) listResources() error { diff --git a/pkg/cluster/sync.go b/pkg/cluster/sync.go index d3bb567ff..48ceed992 100644 --- a/pkg/cluster/sync.go +++ b/pkg/cluster/sync.go @@ -247,6 +247,7 @@ func (c *Cluster) syncStatefulSet() error { podsRollingUpdateRequired = (len(pods) > 0) if podsRollingUpdateRequired { + c.logger.Warningf("found pods from the previous statefulset: trigger rolling update") c.applyRollingUpdateFlagforStatefulSet(podsRollingUpdateRequired) } c.logger.Infof("created missing statefulset %q", util.NameFromMeta(sset.ObjectMeta)) diff --git a/pkg/cluster/util.go b/pkg/cluster/util.go index 5a5447918..516a59b9e 100644 --- a/pkg/cluster/util.go +++ b/pkg/cluster/util.go @@ -21,6 +21,7 @@ import ( "github.com/zalando-incubator/postgres-operator/pkg/util/constants" "github.com/zalando-incubator/postgres-operator/pkg/util/k8sutil" "github.com/zalando-incubator/postgres-operator/pkg/util/retryutil" + "reflect" ) // OAuthTokenGetter provides the method for fetching OAuth tokens @@ -172,7 +173,10 @@ func (c *Cluster) logStatefulSetChanges(old, new *v1beta1.StatefulSet, isUpdate util.NameFromMeta(old.ObjectMeta), ) } - c.logger.Debugf("diff\n%s\n", util.PrettyDiff(old.Spec, new.Spec)) + if !reflect.DeepEqual(old.Annotations, new.Annotations) { + c.logger.Debugf("metadata.annotation diff\n%s\n", util.PrettyDiff(old.Annotations, new.Annotations)) + } + c.logger.Debugf("spec diff\n%s\n", util.PrettyDiff(old.Spec, new.Spec)) if len(reasons) > 0 { for _, reason := range reasons { diff --git a/pkg/util/k8sutil/k8sutil.go b/pkg/util/k8sutil/k8sutil.go index e9c899b82..142d4f822 100644 --- a/pkg/util/k8sutil/k8sutil.go +++ b/pkg/util/k8sutil/k8sutil.go @@ -131,8 +131,13 @@ func SameService(cur, new *v1.Service) (match bool, reason string) { oldELBAnnotation := cur.Annotations[constants.ElbTimeoutAnnotationName] newELBAnnotation := new.Annotations[constants.ElbTimeoutAnnotationName] - if oldDNSAnnotation != newDNSAnnotation || oldELBAnnotation != newELBAnnotation { - return false, fmt.Sprintf("new service's %q annotation doesn't match the current one", constants.ZalandoDNSNameAnnotation) + if oldDNSAnnotation != newDNSAnnotation { + return false, fmt.Sprintf("new service's %q annotation value %q doesn't match the current one %q", + constants.ZalandoDNSNameAnnotation, newDNSAnnotation, oldDNSAnnotation) + } + if oldELBAnnotation != newELBAnnotation { + return false, fmt.Sprintf("new service's %q annotation value %q doesn't match the current one %q", + constants.ElbTimeoutAnnotationName, oldELBAnnotation, newELBAnnotation) } return true, ""