Skip to content

Commit 7576afc

Browse files
Bumping prow (#729)
* Bumping prow rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * Linter fixes rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * Fixing verify-codegen-script error rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * Coderabbit updates rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED
1 parent a03a13a commit 7576afc

4,970 files changed

Lines changed: 364787 additions & 194921 deletions

File tree

Some content is hidden

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

.ci-operator.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ build_root_image:
22
use_build_cache: true
33
namespace: openshift
44
name: release
5-
tag: rhel-9-release-golang-1.24-openshift-4.21
5+
tag: rhel-9-release-golang-1.25-openshift-4.23

cmd/release-controller/audit.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ func ensureJobTerminationMessageRetrieved(podClient kv1core.PodsGetter, job *bat
258258
type AuditTracker struct {
259259
lock sync.Mutex
260260
records map[string]*AuditRecord
261-
queue workqueue.DelayingInterface
261+
queue workqueue.TypedDelayingInterface[string]
262262
}
263263

264264
type AuditRecord struct {
@@ -279,7 +279,7 @@ type AuditFailure struct {
279279
Message string
280280
}
281281

282-
func NewAuditTracker(queue workqueue.DelayingInterface) *AuditTracker {
282+
func NewAuditTracker(queue workqueue.TypedDelayingInterface[string]) *AuditTracker {
283283
return &AuditTracker{
284284
records: make(map[string]*AuditRecord),
285285
queue: queue,

cmd/release-controller/controller.go

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,15 @@ type Controller struct {
8686
syncFn func(queueKey) error
8787

8888
// queue is the list of namespace keys that must be synced.
89-
queue workqueue.RateLimitingInterface
89+
queue workqueue.TypedRateLimitingInterface[queueKey]
9090
// qcQueue is a trigger to performing cleanup for deleted resources.
91-
gcQueue workqueue.RateLimitingInterface
91+
gcQueue workqueue.TypedRateLimitingInterface[string]
9292
// auditQueue is inputs that must be audited
93-
auditQueue workqueue.RateLimitingInterface
93+
auditQueue workqueue.TypedRateLimitingInterface[string]
9494
// jiraQueue is the list of releases whose fixed issues must be synced to jira
95-
jiraQueue workqueue.RateLimitingInterface
95+
jiraQueue workqueue.TypedRateLimitingInterface[queueKey]
9696
// legacyResultsQueue is the list of previous releases that need to migrate to ReleasePayloads
97-
legacyResultsQueue workqueue.RateLimitingInterface
97+
legacyResultsQueue workqueue.TypedRateLimitingInterface[queueKey]
9898

9999
// auditTracker keeps track of when tags were audited
100100
auditTracker *AuditTracker
@@ -184,16 +184,16 @@ func NewController(
184184

185185
c := &Controller{
186186
eventRecorder: recorder,
187-
queue: workqueue.NewRateLimitingQueueWithConfig(workqueue.DefaultControllerRateLimiter(), workqueue.RateLimitingQueueConfig{Name: "releases"}),
188-
gcQueue: workqueue.NewRateLimitingQueueWithConfig(workqueue.DefaultControllerRateLimiter(), workqueue.RateLimitingQueueConfig{Name: "gc"}),
187+
queue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[queueKey](), workqueue.TypedRateLimitingQueueConfig[queueKey]{Name: "releases"}),
188+
gcQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{Name: "gc"}),
189189

190190
// rate limit the audit queue severely
191-
auditQueue: workqueue.NewRateLimitingQueueWithConfig(workqueue.NewMaxOfRateLimiter(
192-
workqueue.NewItemExponentialFailureRateLimiter(5*time.Second, 2*time.Hour),
193-
&workqueue.BucketRateLimiter{Limiter: rate.NewLimiter(rate.Every(5), 2)},
194-
), workqueue.RateLimitingQueueConfig{Name: "audit"}),
191+
auditQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.NewTypedMaxOfRateLimiter(
192+
workqueue.NewTypedItemExponentialFailureRateLimiter[string](5*time.Second, 2*time.Hour),
193+
&workqueue.TypedBucketRateLimiter[string]{Limiter: rate.NewLimiter(rate.Every(5), 2)},
194+
), workqueue.TypedRateLimitingQueueConfig[string]{Name: "audit"}),
195195

196-
jiraQueue: workqueue.NewRateLimitingQueueWithConfig(workqueue.DefaultControllerRateLimiter(), workqueue.RateLimitingQueueConfig{Name: "jira"}),
196+
jiraQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[queueKey](), workqueue.TypedRateLimitingQueueConfig[queueKey]{Name: "jira"}),
197197

198198
expectations: newExpectations(),
199199
expectationDelay: 2 * time.Second,
@@ -229,7 +229,7 @@ func NewController(
229229
releasePayloadClient: releasePayloadClient,
230230
releasePayloadLister: &releasecontroller.MultiReleasePayloadLister{Listers: make(map[string]v1alpha1.ReleasePayloadNamespaceLister)},
231231

232-
legacyResultsQueue: workqueue.NewRateLimitingQueueWithConfig(workqueue.DefaultControllerRateLimiter(), workqueue.RateLimitingQueueConfig{Name: "legacyResults"}),
232+
legacyResultsQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[queueKey](), workqueue.TypedRateLimitingQueueConfig[queueKey]{Name: "legacyResults"}),
233233

234234
manifestListMode: manifestListMode,
235235
}
@@ -464,16 +464,15 @@ func (c *Controller) worker() {
464464
}
465465

466466
func (c *Controller) processNext() bool {
467-
obj, quit := c.queue.Get()
467+
key, quit := c.queue.Get()
468468
if quit {
469469
return false
470470
}
471-
defer c.queue.Done(obj)
471+
defer c.queue.Done(key)
472472

473473
// queue all release inputs in the namespace on a namespace sync
474474
// this allows us to batch changes together when calculating which resource
475475
// would be affected is inefficient
476-
key := obj.(queueKey)
477476
if len(key.name) == 0 {
478477
err := c.processNextNamespace(key.namespace)
479478
c.handleNamespaceErr(c.queue, err, key)
@@ -541,7 +540,7 @@ func (c *Controller) processNextAudit() bool {
541540
defer c.auditQueue.Done(key)
542541

543542
klog.V(5).Infof("audit processing %v begin", key)
544-
err := c.syncAuditTag(key.(string))
543+
err := c.syncAuditTag(key)
545544
c.handleNamespaceErr(c.auditQueue, err, key)
546545
klog.V(5).Infof("audit processing %v end", key)
547546

@@ -555,17 +554,16 @@ func (c *Controller) jiraWorker() {
555554
}
556555

557556
func (c *Controller) processNextJira() bool {
558-
obj, quit := c.jiraQueue.Get()
557+
key, quit := c.jiraQueue.Get()
559558
if quit {
560559
return false
561560
}
562-
defer c.jiraQueue.Done(obj)
561+
defer c.jiraQueue.Done(key)
563562

564563
// don't run if we don't have a verifier
565564
if c.jiraVerifier == nil {
566565
return true
567566
}
568-
key := obj.(queueKey)
569567

570568
klog.V(5).Infof("jira worker processing %v begin", key)
571569
err := c.syncJira(key)
@@ -582,13 +580,11 @@ func (c *Controller) legacyResultsWorker() {
582580
}
583581

584582
func (c *Controller) processNextLegacyResult() bool {
585-
obj, quit := c.legacyResultsQueue.Get()
583+
key, quit := c.legacyResultsQueue.Get()
586584
if quit {
587585
return false
588586
}
589-
defer c.legacyResultsQueue.Done(obj)
590-
591-
key := obj.(queueKey)
587+
defer c.legacyResultsQueue.Done(key)
592588

593589
klog.V(5).Infof("legacy results worker processing %v begin", key)
594590
err := c.syncLegacyResults(key)
@@ -598,7 +594,7 @@ func (c *Controller) processNextLegacyResult() bool {
598594
return true
599595
}
600596

601-
func (c *Controller) handleNamespaceErr(queue workqueue.RateLimitingInterface, err error, key any) {
597+
func handleErr[T comparable](queue workqueue.TypedRateLimitingInterface[T], err error, key T) {
602598
if err == nil {
603599
queue.Forget(key)
604600
return
@@ -612,3 +608,12 @@ func (c *Controller) handleNamespaceErr(queue workqueue.RateLimitingInterface, e
612608
klog.V(2).Infof("Error syncing %v: %v", key, err)
613609
queue.AddRateLimited(key)
614610
}
611+
612+
func (c *Controller) handleNamespaceErr(queue any, err error, key any) {
613+
switch q := queue.(type) {
614+
case workqueue.TypedRateLimitingInterface[queueKey]:
615+
handleErr(q, err, key.(queueKey))
616+
case workqueue.TypedRateLimitingInterface[string]:
617+
handleErr(q, err, key.(string))
618+
}
619+
}

cmd/release-controller/sync_verify.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,10 @@ func (c *Controller) resolveUpgradeRelease(upgradeRelease *releasecontroller.Upg
241241
}
242242

243243
func TrimPrefixes(s string, prefixes ...string) string {
244-
for _, prefix := range prefixes {
245-
if after, found := strings.CutPrefix(s, prefix); found {
246-
return after
247-
}
248-
}
249-
return s
250-
}
244+
for _, prefix := range prefixes {
245+
if after, found := strings.CutPrefix(s, prefix); found {
246+
return after
247+
}
248+
}
249+
return s
250+
}

0 commit comments

Comments
 (0)