Skip to content

Commit 75c7842

Browse files
Merge pull request #739 from atiratree/workload-conditions-bump
OCPBUGS-23435: bump library-go to bring in workload-conditions fix
2 parents deb922d + 32069a6 commit 75c7842

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+747
-223
lines changed

go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ require (
99
github.com/openshift/api v0.0.0-20241001152557-e415140e5d5f
1010
github.com/openshift/build-machinery-go v0.0.0-20241031155326-6ae126a9cb72
1111
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f
12-
github.com/openshift/library-go v0.0.0-20241106000323-9fcf3125a28e
13-
github.com/openshift/multi-operator-manager v0.0.0-20241101153049-fcf403de1051
12+
github.com/openshift/library-go v0.0.0-20241120135057-fc703a7407c9
13+
github.com/openshift/multi-operator-manager v0.0.0-20241119235446-3c965870ef94
1414
github.com/spf13/cobra v1.8.1
1515
github.com/stretchr/testify v1.9.0
1616
go.etcd.io/etcd/client/v3 v3.5.14

go.sum

+4-4
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ github.com/openshift/build-machinery-go v0.0.0-20241031155326-6ae126a9cb72 h1:kM
154154
github.com/openshift/build-machinery-go v0.0.0-20241031155326-6ae126a9cb72/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE=
155155
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f h1:FRc0bVNWprihWS0GqQWzb3dY4dkCwpOP3mDw5NwSoR4=
156156
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f/go.mod h1:KiZi2mJRH1TOJ3FtBDYS6YvUL30s/iIXaGSUrSa36mo=
157-
github.com/openshift/library-go v0.0.0-20241106000323-9fcf3125a28e h1:ZPAUe9p5nfbzJzb23s+rdFqDrl3U58hC4Y0merEkoSE=
158-
github.com/openshift/library-go v0.0.0-20241106000323-9fcf3125a28e/go.mod h1:9B1MYPoLtP9tqjWxcbUNVpwxy68zOH/3EIP6c31dAM0=
159-
github.com/openshift/multi-operator-manager v0.0.0-20241101153049-fcf403de1051 h1:2Rsvg5O5xvQfLAxsiOwlAEJepNtLPTLXIFHB46RS3Mo=
160-
github.com/openshift/multi-operator-manager v0.0.0-20241101153049-fcf403de1051/go.mod h1:UBAANHcEhysEeyhtIoLZS5dFYOjjZrv9lUgtHt3cFLk=
157+
github.com/openshift/library-go v0.0.0-20241120135057-fc703a7407c9 h1:bwIqO3LDkumwfDKTMRzixNHKUqU7yaKTTAKwENi6JOY=
158+
github.com/openshift/library-go v0.0.0-20241120135057-fc703a7407c9/go.mod h1:9B1MYPoLtP9tqjWxcbUNVpwxy68zOH/3EIP6c31dAM0=
159+
github.com/openshift/multi-operator-manager v0.0.0-20241119235446-3c965870ef94 h1:9Z5HQo1KSQogIpQ2tDzrCk4+sDjL/xF+YXBrDP4R36k=
160+
github.com/openshift/multi-operator-manager v0.0.0-20241119235446-3c965870ef94/go.mod h1:Fn/rmcwj4bCuS11UT5TZvzONt7qTjzcd9BCSQkIwQOI=
161161
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
162162
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
163163
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=

pkg/cmd/operator/cmd.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package operator
33
import (
44
"github.com/spf13/cobra"
55

6+
"k8s.io/utils/clock"
7+
68
"github.com/openshift/cluster-authentication-operator/pkg/operator"
79
"github.com/openshift/cluster-authentication-operator/pkg/version"
810
"github.com/openshift/library-go/pkg/controller/controllercmd"
@@ -11,7 +13,7 @@ import (
1113
const componentName = "cluster-authentication-operator"
1214

1315
func NewOperator() *cobra.Command {
14-
cmd := controllercmd.NewControllerCommandConfig(componentName, version.Get(), operator.RunOperator).NewCommand()
16+
cmd := controllercmd.NewControllerCommandConfig(componentName, version.Get(), operator.RunOperator, clock.RealClock{}).NewCommand()
1517
cmd.Use = "operator"
1618
cmd.Short = "Start the Authentication Operator"
1719
return cmd

pkg/controllers/configobservation/console/observe_consoleurl_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import (
44
"reflect"
55
"strings"
66
"testing"
7+
"time"
78

89
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
910
"k8s.io/client-go/tools/cache"
11+
clocktesting "k8s.io/utils/clock/testing"
1012

1113
configv1 "github.com/openshift/api/config/v1"
1214
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -111,7 +113,7 @@ func TestObserveConsoleURL(t *testing.T) {
111113
ClusterVersionLister: configlistersv1.NewClusterVersionLister(clusterVersionIndexer),
112114
}
113115

114-
eventRecorder := events.NewInMemoryRecorder(tt.name)
116+
eventRecorder := events.NewInMemoryRecorder(tt.name, clocktesting.NewFakePassiveClock(time.Now()))
115117
gotConfig, errs := ObserveConsoleURL(listers, eventRecorder, tt.existingConfig)
116118
if !reflect.DeepEqual(gotConfig, tt.expectedConfig) {
117119
t.Errorf("ObserveConsoleURL() gotConfig = %v, want %v", gotConfig, tt.expectedConfig)

pkg/controllers/configobservation/infrastructure/observe_apiserverurl_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import (
44
"reflect"
55
"strings"
66
"testing"
7+
"time"
78

89
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
910
"k8s.io/client-go/tools/cache"
11+
clocktesting "k8s.io/utils/clock/testing"
1012

1113
configv1 "github.com/openshift/api/config/v1"
1214
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -73,7 +75,7 @@ func TestObserveAPIServerURL(t *testing.T) {
7375
InfrastructureLister: configlistersv1.NewInfrastructureLister(indexer),
7476
}
7577

76-
eventRecorder := events.NewInMemoryRecorder(tt.name)
78+
eventRecorder := events.NewInMemoryRecorder(tt.name, clocktesting.NewFakePassiveClock(time.Now()))
7779
gotConfig, errs := ObserveAPIServerURL(listers, eventRecorder, tt.existingConfig)
7880
if !reflect.DeepEqual(gotConfig, tt.expectedConfig) {
7981
t.Errorf("ObserveAPIServerURL() gotConfig = %v, want %v", gotConfig, tt.expectedConfig)

pkg/controllers/configobservation/oauth/observe_audit_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ package oauth_test
22

33
import (
44
"testing"
5+
"time"
56

67
"github.com/google/go-cmp/cmp"
78

89
"k8s.io/apimachinery/pkg/api/equality"
910
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1011
"k8s.io/client-go/tools/cache"
12+
clocktesting "k8s.io/utils/clock/testing"
1113

1214
configv1 "github.com/openshift/api/config/v1"
1315
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -120,7 +122,7 @@ func TestAuditProfile(t *testing.T) {
120122
APIServerLister_: configlistersv1.NewAPIServerLister(indexer),
121123
}
122124

123-
have, errs := oauth.ObserveAudit(listers, events.NewInMemoryRecorder(t.Name()), tt.previouslyObservedConfig)
125+
have, errs := oauth.ObserveAudit(listers, events.NewInMemoryRecorder(t.Name(), clocktesting.NewFakePassiveClock(time.Now())), tt.previouslyObservedConfig)
124126
if len(errs) > 0 {
125127
t.Errorf("Expected 0 errors, have %v.", len(errs))
126128
}

pkg/controllers/configobservation/oauth/observe_idps_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package oauth
33
import (
44
"fmt"
55
"testing"
6+
"time"
67

78
"github.com/google/go-cmp/cmp"
89

@@ -11,6 +12,7 @@ import (
1112
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1213
corelistersv1 "k8s.io/client-go/listers/core/v1"
1314
"k8s.io/client-go/tools/cache"
15+
clocktesting "k8s.io/utils/clock/testing"
1416

1517
configv1 "github.com/openshift/api/config/v1"
1618
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -199,7 +201,7 @@ func TestObserveIdentityProviders(t *testing.T) {
199201
OAuthLister_: configlistersv1.NewOAuthLister(indexer),
200202
ResourceSync: &mockResourceSyncer{t: t, synced: syncerData},
201203
}
202-
eventsRecorder := events.NewInMemoryRecorder(t.Name())
204+
eventsRecorder := events.NewInMemoryRecorder(t.Name(), clocktesting.NewFakePassiveClock(time.Now()))
203205

204206
got, errs := ObserveIdentityProviders(listers, eventsRecorder, tt.previouslyObservedConfig)
205207

pkg/controllers/configobservation/oauth/observe_templates_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ package oauth
22

33
import (
44
"testing"
5+
"time"
56

67
"github.com/google/go-cmp/cmp"
78

89
"k8s.io/apimachinery/pkg/api/equality"
910
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1011
corelistersv1 "k8s.io/client-go/listers/core/v1"
1112
"k8s.io/client-go/tools/cache"
13+
clocktesting "k8s.io/utils/clock/testing"
1214

1315
configv1 "github.com/openshift/api/config/v1"
1416
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -88,7 +90,7 @@ func TestObserveTemplates(t *testing.T) {
8890
ConfigMapLister: corelistersv1.NewConfigMapLister(indexer),
8991
ResourceSync: &mockResourceSyncer{t: t, synced: syncerData},
9092
}
91-
got, errs := ObserveTemplates(listers, events.NewInMemoryRecorder(t.Name()), tt.previouslyObservedConfig)
93+
got, errs := ObserveTemplates(listers, events.NewInMemoryRecorder(t.Name(), clocktesting.NewFakePassiveClock(time.Now())), tt.previouslyObservedConfig)
9294
if len(errs) > 0 {
9395
t.Errorf("Expected 0 errors, got %v.", len(errs))
9496
}

pkg/controllers/configobservation/oauth/observe_tokenconfig_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ package oauth
22

33
import (
44
"testing"
5+
"time"
56

67
"github.com/google/go-cmp/cmp"
78

89
"k8s.io/apimachinery/pkg/api/equality"
910
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1011
"k8s.io/client-go/tools/cache"
12+
clocktesting "k8s.io/utils/clock/testing"
1113

1214
configv1 "github.com/openshift/api/config/v1"
1315
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -119,7 +121,7 @@ func TestObserveTokenConfig(t *testing.T) {
119121
listers := configobservation.Listers{
120122
OAuthLister_: configlistersv1.NewOAuthLister(indexer),
121123
}
122-
got, errs := ObserveTokenConfig(listers, events.NewInMemoryRecorder(t.Name()), tt.previouslyObservedConfig)
124+
got, errs := ObserveTokenConfig(listers, events.NewInMemoryRecorder(t.Name(), clocktesting.NewFakePassiveClock(time.Now())), tt.previouslyObservedConfig)
123125
if len(errs) > 0 {
124126
t.Errorf("Expected 0 errors, got %v.", len(errs))
125127
}

pkg/controllers/configobservation/routersecret/observe_router_secret_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ package routersecret
33
import (
44
"reflect"
55
"testing"
6+
"time"
67

78
corev1 "k8s.io/api/core/v1"
89
"k8s.io/apimachinery/pkg/api/errors"
910
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1011
"k8s.io/apimachinery/pkg/runtime/schema"
1112
corev1listers "k8s.io/client-go/listers/core/v1"
1213
"k8s.io/client-go/tools/cache"
14+
clocktesting "k8s.io/utils/clock/testing"
1315

1416
configv1 "github.com/openshift/api/config/v1"
1517
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -180,7 +182,7 @@ func TestObserveRouterSecret(t *testing.T) {
180182
IngressLister: configlistersv1.NewIngressLister(indexer),
181183
}
182184

183-
eventRecorder := events.NewInMemoryRecorder(tt.name)
185+
eventRecorder := events.NewInMemoryRecorder(tt.name, clocktesting.NewFakePassiveClock(time.Now()))
184186
gotConfig, errs := ObserveRouterSecret(listers, eventRecorder, tt.existingConfig)
185187
if !reflect.DeepEqual(gotConfig, tt.expectedConfig) {
186188
t.Errorf("ObserveRouterSecret() gotConfig = %v, want %v", gotConfig, tt.expectedConfig)

pkg/controllers/routercerts/controller_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"k8s.io/client-go/kubernetes/fake"
2323
corev1listers "k8s.io/client-go/listers/core/v1"
2424
"k8s.io/client-go/tools/cache"
25+
clocktesting "k8s.io/utils/clock/testing"
2526

2627
configv1 "github.com/openshift/api/config/v1"
2728
operatorv1 "github.com/openshift/api/operator/v1"
@@ -249,7 +250,7 @@ func TestValidateRouterCertificates(t *testing.T) {
249250
systemCertPool: tc.systemCertPool,
250251
secretsClient: secretsClient.CoreV1(),
251252
}
252-
err = controller.sync(context.TODO(), factory.NewSyncContext("testctx", events.NewInMemoryRecorder("test-recorder")))
253+
err = controller.sync(context.TODO(), factory.NewSyncContext("testctx", events.NewInMemoryRecorder("test-recorder", clocktesting.NewFakePassiveClock(time.Now()))))
253254
require.NoError(t, err)
254255
_, s, _, _ := operatorClient.GetOperatorState()
255256
require.Len(t, s.Conditions, 1)

pkg/libs/endpointaccessible/endpoint_accessible_controller_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import (
44
"context"
55
"fmt"
66
"testing"
7+
"time"
8+
9+
clocktesting "k8s.io/utils/clock/testing"
710

811
operatorv1 "github.com/openshift/api/operator/v1"
912
"github.com/openshift/library-go/pkg/operator/v1helpers"
@@ -52,7 +55,7 @@ func Test_endpointAccessibleController_sync(t *testing.T) {
5255
operatorClient: v1helpers.NewFakeOperatorClient(&operatorv1.OperatorSpec{}, &operatorv1.OperatorStatus{}, nil),
5356
endpointListFn: tt.endpointListFn,
5457
}
55-
if err := c.sync(context.Background(), factory.NewSyncContext(tt.name, events.NewInMemoryRecorder(tt.name))); (err != nil) != tt.wantErr {
58+
if err := c.sync(context.Background(), factory.NewSyncContext(tt.name, events.NewInMemoryRecorder(tt.name, clocktesting.NewFakePassiveClock(time.Now())))); (err != nil) != tt.wantErr {
5659
t.Errorf("sync() error = %v, wantErr %v", err, tt.wantErr)
5760
}
5861
})

pkg/operator/configobservation/authentication/apiaudiences_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ package auth
22

33
import (
44
"testing"
5+
"time"
56

67
"github.com/stretchr/testify/require"
78

89
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
910
"k8s.io/client-go/tools/cache"
11+
clocktesting "k8s.io/utils/clock/testing"
1012

1113
configv1 "github.com/openshift/api/config/v1"
1214
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -82,7 +84,7 @@ func TestObservedConfig(t *testing.T) {
8284
require.NoError(t, err)
8385
}
8486

85-
testRecorder := events.NewInMemoryRecorder("APIAudiencesTest")
87+
testRecorder := events.NewInMemoryRecorder("APIAudiencesTest", clocktesting.NewFakePassiveClock(time.Now()))
8688
listers := configobservation.Listers{
8789
AuthConfigLister_: configlistersv1.NewAuthenticationLister(indexer),
8890
}

pkg/operator/configobservation/oauth/inactivity_timeout_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"k8s.io/apimachinery/pkg/api/equality"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212
"k8s.io/client-go/tools/cache"
13+
clocktesting "k8s.io/utils/clock/testing"
1314

1415
configv1 "github.com/openshift/api/config/v1"
1516
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
@@ -181,7 +182,7 @@ func TestObserveAccessTokenInactivityTimeout(t *testing.T) {
181182

182183
lister := testLister{lister: configlistersv1.NewOAuthLister(indexer)}
183184

184-
got, errs := ObserveAccessTokenInactivityTimeout(lister, events.NewInMemoryRecorder(t.Name()), tt.previouslyObservedConfig)
185+
got, errs := ObserveAccessTokenInactivityTimeout(lister, events.NewInMemoryRecorder(t.Name(), clocktesting.NewFakePassiveClock(time.Now())), tt.previouslyObservedConfig)
185186
if len(errs) != len(tt.errors) {
186187
t.Errorf("Expected %d errors, got %d.", len(tt.errors), errs)
187188
}
@@ -197,7 +198,7 @@ func TestObserveAccessTokenInactivityTimeout(t *testing.T) {
197198
},
198199
}
199200

200-
got, errs := ObserveAccessTokenInactivityTimeout(invalidLister{}, events.NewInMemoryRecorder("fakeRecorder"), existingConfig)
201+
got, errs := ObserveAccessTokenInactivityTimeout(invalidLister{}, events.NewInMemoryRecorder("fakeRecorder", clocktesting.NewFakePassiveClock(time.Now())), existingConfig)
201202

202203
// There must be only one kind of error asserting the lister type.
203204
if len(errs) != 1 {

pkg/operator/replacement_starter.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import (
3939
apierrors "k8s.io/apimachinery/pkg/api/errors"
4040
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
4141
"k8s.io/client-go/kubernetes"
42-
"k8s.io/utils/clock"
4342
)
4443

4544
type authenticationOperatorInput struct {
@@ -118,7 +117,7 @@ func CreateOperatorInputFromMOM(ctx context.Context, momInput libraryapplyconfig
118117
Kind: "Deployment",
119118
Namespace: "openshift-authentication-operator",
120119
Name: "authentication-operator",
121-
})
120+
}, momInput.Clock)
122121

123122
return &authenticationOperatorInput{
124123
kubeClient: kubeClient,
@@ -167,7 +166,7 @@ func CreateControllerInputFromControllerContext(ctx context.Context, controllerC
167166
}
168167

169168
authenticationOperatorClient, dynamicInformers, err := genericoperatorclient.NewClusterScopedOperatorClient(
170-
clock.RealClock{},
169+
controllerContext.Clock,
171170
controllerContext.KubeConfig,
172171
operatorv1.GroupVersion.WithResource("authentications"),
173172
operatorv1.GroupVersion.WithKind("Authentication"),
@@ -187,6 +186,7 @@ func CreateControllerInputFromControllerContext(ctx context.Context, controllerC
187186
Namespace: "openshift-authentication-operator",
188187
Name: "authentication-operator",
189188
},
189+
controllerContext.Clock,
190190
)
191191

192192
return &authenticationOperatorInput{

pkg/operator/workload/sync_openshift_oauth_apiserver_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"io/ioutil"
77
"os"
88
"testing"
9+
"time"
910

1011
"github.com/google/go-cmp/cmp"
1112

@@ -19,6 +20,7 @@ import (
1920
"k8s.io/client-go/kubernetes/fake"
2021
"k8s.io/client-go/kubernetes/scheme"
2122
clientgotesting "k8s.io/client-go/testing"
23+
clocktesting "k8s.io/utils/clock/testing"
2224
)
2325

2426
var codec = scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
@@ -136,7 +138,7 @@ func TestSyncOAuthAPIServerDeployment(t *testing.T) {
136138

137139
for _, scenario := range scenarios {
138140
t.Run(scenario.name, func(t *testing.T) {
139-
eventRecorder := events.NewInMemoryRecorder("")
141+
eventRecorder := events.NewInMemoryRecorder("", clocktesting.NewFakePassiveClock(time.Now()))
140142
fakeKubeClient := fake.NewSimpleClientset()
141143

142144
target := &OAuthAPIServerWorkload{

0 commit comments

Comments
 (0)