From 66c6f9292a1b56131118b6cda3e929306e641fe6 Mon Sep 17 00:00:00 2001 From: Srinivas Atmakuri Date: Mon, 18 Sep 2023 12:14:16 +0530 Subject: [PATCH] fix return and test cases --- ...n_openshiftcluster_etcdcertificaterenew.go | 21 ++++++++++++++----- ...nshiftcluster_etcdcertificaterenew_test.go | 20 +++++++++--------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew.go b/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew.go index d5afc1353f3..af0ecd95fbf 100644 --- a/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew.go +++ b/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew.go @@ -310,7 +310,7 @@ func (e *etcdrenew) fetchEtcdCurrentRevision(ctx context.Context) error { func (e *etcdrenew) backupEtcdSecrets(ctx context.Context) error { e.log.Infoln("backing up etcd secrets now") for _, secretname := range e.secretNames { - return retry.OnError(wait.Backoff{ + err := retry.OnError(wait.Backoff{ Steps: 10, Duration: 2 * time.Second, }, func(err error) bool { @@ -340,6 +340,9 @@ func (e *etcdrenew) backupEtcdSecrets(ctx context.Context) error { e.backupSecrets[secretname] = cert return nil }) + if err != nil { + return err + } } e.log.Infoln("backing up etcd secrets done") @@ -351,7 +354,7 @@ func (e *etcdrenew) backupEtcdSecrets(ctx context.Context) error { func (e *etcdrenew) deleteEtcdSecrets(ctx context.Context) error { e.log.Infoln("deleting etcd secrets now") for _, secretname := range e.secretNames { - return retry.OnError(wait.Backoff{ + err := retry.OnError(wait.Backoff{ Steps: 10, Duration: 2 * time.Second, }, func(err error) bool { @@ -365,6 +368,9 @@ func (e *etcdrenew) deleteEtcdSecrets(ctx context.Context) error { e.log.Infof("Secret deleted %s", secretname) return nil }) + if err != nil { + return err + } } return nil @@ -375,12 +381,14 @@ func (e *etcdrenew) isEtcdRevised(ctx context.Context) (bool, error) { isAtRevision := true rawEtcd, err := e.k.KubeGet(ctx, "etcd.operator.openshift.io", "", "cluster") if err != nil { - return false, api.NewCloudError(http.StatusInternalServerError, api.CloudErrorCodeInternalServerError, "", err.Error()) + e.log.Warnf(err.Error()) + return false, nil } etcd := &operatorv1.Etcd{} err = codec.NewDecoderBytes(rawEtcd, &codec.JsonHandle{}).Decode(etcd) if err != nil { - return false, api.NewCloudError(http.StatusInternalServerError, api.CloudErrorCodeInternalServerError, "", fmt.Sprintf("failed to decode etcd object, %s", err.Error())) + e.log.Warnf(err.Error()) + return false, nil } // no new revision is observed. @@ -403,7 +411,7 @@ func (e *etcdrenew) isEtcdRevised(ctx context.Context) (bool, error) { func (e *etcdrenew) recoverEtcdSecrets(ctx context.Context) error { e.log.Infoln("recovering etcd secrets now") for secretname, data := range e.backupSecrets { - return retry.OnError(wait.Backoff{ + err := retry.OnError(wait.Backoff{ Steps: 10, Duration: 2 * time.Second, }, func(err error) bool { @@ -422,6 +430,9 @@ func (e *etcdrenew) recoverEtcdSecrets(ctx context.Context) error { } return nil }) + if err != nil { + return err + } } e.log.Infoln("recovered etcd secrets") diff --git a/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew_test.go b/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew_test.go index 74df19e6ad1..e8488415509 100644 --- a/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew_test.go +++ b/pkg/frontend/admin_openshiftcluster_etcdcertificaterenew_test.go @@ -206,13 +206,13 @@ func TestAdminEtcdCertificateRenew(t *testing.T) { KubeGet(gomock.Any(), "ClusterVersion.config.openshift.io", "", "version").MaxTimes(1). Return(encodeClusterVersion(t, tt.version), nil) k.EXPECT(). - KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").AnyTimes(). + KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").MinTimes(1). Return(encodeEtcdOperatorController(t, tt.etcdoperator), nil) k.EXPECT(). - KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").AnyTimes(). + KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").MinTimes(1). Return(encodeEtcdOperator(t, tt.etcdCO), nil) k.EXPECT(). - KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).AnyTimes(). + KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).MinTimes(1). Return(CreateCertSecret(t, tt.notBefore, tt.notAfter), nil) }, wantStatusCode: http.StatusInternalServerError, @@ -262,13 +262,13 @@ func TestAdminEtcdCertificateRenew(t *testing.T) { KubeGet(gomock.Any(), "ClusterVersion.config.openshift.io", "", "version").MaxTimes(1). Return(encodeClusterVersion(t, tt.version), nil) k.EXPECT(). - KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").AnyTimes(). + KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").MinTimes(1). Return(encodeEtcdOperatorController(t, tt.etcdoperator), nil) k.EXPECT(). - KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").AnyTimes(). + KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").MinTimes(1). Return(encodeEtcdOperator(t, tt.etcdCO), nil) k.EXPECT(). - KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).AnyTimes(). + KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).MinTimes(1). Return(CreateCertSecret(t, tt.notBefore, tt.notAfter), nil) }, wantStatusCode: http.StatusInternalServerError, @@ -349,16 +349,16 @@ func TestAdminEtcdCertificateRenew(t *testing.T) { KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").MaxTimes(2). Return(encodeEtcdOperatorController(t, tt.etcdoperator), nil) k.EXPECT(). - KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").AnyTimes(). + KubeGet(gomock.Any(), "ClusterOperator.config.openshift.io", "", "etcd").MinTimes(1). Return(encodeEtcdOperator(t, tt.etcdCO), nil) k.EXPECT(). - KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).AnyTimes(). + KubeGet(gomock.Any(), "Secret", namespaceEtcds, gomock.Any()).MinTimes(9). Return(CreateCertSecret(t, tt.notBefore, tt.notAfter), nil) d := k.EXPECT(). - KubeDelete(gomock.Any(), "Secret", namespaceEtcds, gomock.Any(), false, nil).MaxTimes(9). + KubeDelete(gomock.Any(), "Secret", namespaceEtcds, gomock.Any(), false, nil).MinTimes(9). Return(nil) k.EXPECT(). - KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").AnyTimes().After(d). + KubeGet(gomock.Any(), "etcd.operator.openshift.io", "", "cluster").MinTimes(1).After(d). Return(encodeEtcdOperatorController(t, tt.etcdoperatorRevisied), nil) }, wantStatusCode: http.StatusOK,