Merge pull request #123 from ankeesler/kubernetes-deep-equal

internal/controller/issuerconfig: use Kubernetes DeepEqual
This commit is contained in:
Andrew Keesler 2020-09-18 07:48:57 -04:00 committed by GitHub
commit 5867f3699c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -6,8 +6,8 @@ package issuerconfig
import ( import (
"context" "context"
"fmt" "fmt"
"reflect"
"k8s.io/apimachinery/pkg/api/equality"
k8serrors "k8s.io/apimachinery/pkg/api/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/util/retry" "k8s.io/client-go/util/retry"
@ -73,7 +73,7 @@ func createOrUpdateCredentialIssuerConfig(
credentialIssuerConfig := existingCredentialIssuerConfig.DeepCopy() credentialIssuerConfig := existingCredentialIssuerConfig.DeepCopy()
applyUpdatesToCredentialIssuerConfigFunc(credentialIssuerConfig) applyUpdatesToCredentialIssuerConfigFunc(credentialIssuerConfig)
if reflect.DeepEqual(existingCredentialIssuerConfig.Status, credentialIssuerConfig.Status) { if equality.Semantic.DeepEqual(existingCredentialIssuerConfig, credentialIssuerConfig) {
// Nothing interesting would change as a result of this update, so skip it // Nothing interesting would change as a result of this update, so skip it
return nil return nil
} }

View File

@ -7,6 +7,7 @@ import (
"context" "context"
"fmt" "fmt"
"testing" "testing"
"time"
"github.com/sclevine/spec" "github.com/sclevine/spec"
"github.com/sclevine/spec/report" "github.com/sclevine/spec/report"
@ -145,6 +146,11 @@ func TestCreateOrUpdateCredentialIssuerConfig(t *testing.T) {
err := CreateOrUpdateCredentialIssuerConfig(ctx, installationNamespace, pinnipedAPIClient, err := CreateOrUpdateCredentialIssuerConfig(ctx, installationNamespace, pinnipedAPIClient,
func(configToUpdate *v1alpha1.CredentialIssuerConfig) { func(configToUpdate *v1alpha1.CredentialIssuerConfig) {
configToUpdate.Status.KubeConfigInfo.CertificateAuthorityData = "initial-ca-value" configToUpdate.Status.KubeConfigInfo.CertificateAuthorityData = "initial-ca-value"
t := configToUpdate.Status.Strategies[0].LastUpdateTime
loc, err := time.LoadLocation("Asia/Shanghai")
r.NoError(err)
configToUpdate.Status.Strategies[0].LastUpdateTime = metav1.NewTime(t.In(loc))
}, },
) )
r.NoError(err) r.NoError(err)