diff --git a/pkg/autoupdate/autoupdate.go b/pkg/autoupdate/autoupdate.go index 3a07b95b6..22fdaa3ce 100644 --- a/pkg/autoupdate/autoupdate.go +++ b/pkg/autoupdate/autoupdate.go @@ -14,7 +14,6 @@ import ( "github.com/openshift/client-go/config/clientset/versioned/scheme" configinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1" configlistersv1 "github.com/openshift/client-go/config/listers/config/v1" - "github.com/openshift/cluster-version-operator/lib/resourceapply" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -25,6 +24,8 @@ import ( "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" "k8s.io/klog/v2" + + "github.com/openshift/cluster-version-operator/lib/resourceapply" ) const ( @@ -114,9 +115,9 @@ func (ctrl *Controller) Run(ctx context.Context, workers int) error { func (ctrl *Controller) eventHandler() cache.ResourceEventHandler { key := fmt.Sprintf("%s/%s", ctrl.namespace, ctrl.name) return cache.ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { ctrl.queue.Add(key) }, - UpdateFunc: func(old, new interface{}) { ctrl.queue.Add(key) }, - DeleteFunc: func(obj interface{}) { ctrl.queue.Add(key) }, + AddFunc: func(_ interface{}) { ctrl.queue.Add(key) }, + UpdateFunc: func(_, _ interface{}) { ctrl.queue.Add(key) }, + DeleteFunc: func(_ interface{}) { ctrl.queue.Add(key) }, } } diff --git a/pkg/cvo/cvo.go b/pkg/cvo/cvo.go index 411a6ea74..ed56669f8 100644 --- a/pkg/cvo/cvo.go +++ b/pkg/cvo/cvo.go @@ -31,6 +31,11 @@ import ( clientset "github.com/openshift/client-go/config/clientset/versioned" configinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1" configlistersv1 "github.com/openshift/client-go/config/listers/config/v1" + "github.com/openshift/library-go/pkg/manifest" + "github.com/openshift/library-go/pkg/verify" + "github.com/openshift/library-go/pkg/verify/store/configmap" + "github.com/openshift/library-go/pkg/verify/store/sigstore" + "github.com/openshift/cluster-version-operator/lib/capability" "github.com/openshift/cluster-version-operator/lib/resourcebuilder" "github.com/openshift/cluster-version-operator/lib/validation" @@ -42,10 +47,6 @@ import ( "github.com/openshift/cluster-version-operator/pkg/payload" "github.com/openshift/cluster-version-operator/pkg/payload/precondition" preconditioncv "github.com/openshift/cluster-version-operator/pkg/payload/precondition/clusterversion" - "github.com/openshift/library-go/pkg/manifest" - "github.com/openshift/library-go/pkg/verify" - "github.com/openshift/library-go/pkg/verify/store/configmap" - "github.com/openshift/library-go/pkg/verify/store/sigstore" ) const ( @@ -491,17 +492,17 @@ func (optr *Operator) queueKey() string { func (optr *Operator) clusterVersionEventHandler() cache.ResourceEventHandler { workQueueKey := optr.queueKey() return cache.ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { + AddFunc: func(_ interface{}) { optr.queue.Add(workQueueKey) optr.availableUpdatesQueue.Add(workQueueKey) optr.upgradeableQueue.Add(workQueueKey) }, - UpdateFunc: func(old, new interface{}) { + UpdateFunc: func(_, _ interface{}) { optr.queue.Add(workQueueKey) optr.availableUpdatesQueue.Add(workQueueKey) optr.upgradeableQueue.Add(workQueueKey) }, - DeleteFunc: func(obj interface{}) { + DeleteFunc: func(_ interface{}) { optr.queue.Add(workQueueKey) }, } diff --git a/pkg/cvo/upgradeable.go b/pkg/cvo/upgradeable.go index 261b7436a..f21318252 100644 --- a/pkg/cvo/upgradeable.go +++ b/pkg/cvo/upgradeable.go @@ -460,7 +460,14 @@ func (optr *Operator) updateFunc(oldObj, newObj interface{}) { } func (optr *Operator) deleteFunc(obj interface{}) { - cm := obj.(*corev1.ConfigMap) + if tombstone, ok := obj.(cache.DeletedFinalStateUnknown); ok { + obj = tombstone + } + cm, ok := obj.(*corev1.ConfigMap) + if !ok { + klog.Errorf("Unexpected type %T", obj) + return + } if cm.Name == internal.AdminGatesConfigMap || cm.Name == internal.AdminAcksConfigMap { klog.V(2).Infof("ConfigMap %s/%s deleted.", cm.Namespace, cm.Name) optr.setUpgradableConditionsIfSynced() diff --git a/pkg/featurechangestopper/featurechangestopper.go b/pkg/featurechangestopper/featurechangestopper.go index bec0576a2..93e0afed9 100644 --- a/pkg/featurechangestopper/featurechangestopper.go +++ b/pkg/featurechangestopper/featurechangestopper.go @@ -42,13 +42,13 @@ func New( c.queue.Add("cluster") // seed an initial sync, in case startingRequiredFeatureSet is wrong if _, err := featureGateInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ - AddFunc: func(obj interface{}) { + AddFunc: func(_ interface{}) { c.queue.Add("cluster") }, - UpdateFunc: func(old interface{}, new interface{}) { + UpdateFunc: func(_ interface{}, _ interface{}) { c.queue.Add("cluster") }, - DeleteFunc: func(obj interface{}) { + DeleteFunc: func(_ interface{}) { c.queue.Add("cluster") }, }); err != nil {