Skip to content

Commit 85ab375

Browse files
committed
hypershift: Add version annotation to controller Deployments
New annotation `release.openshift.io/version` signals that rollout of Deployment is complete (see https://issues.redhat.com/browse/STOR-2523 for details). This commit uses new controller (DeploymentVersionController) from library-go which reconciles version annotation if controller deplyment is done.
1 parent 307ef19 commit 85ab375

File tree

5 files changed

+197
-4
lines changed

5 files changed

+197
-4
lines changed

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,5 @@ require (
141141
sigs.k8s.io/randfill v1.0.0 // indirect
142142
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
143143
)
144+
145+
replace github.com/openshift/library-go => github.com/mpatlasov/library-go v0.0.0-20251116234048-d7281ecbda7d

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
192192
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
193193
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
194194
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
195+
github.com/mpatlasov/library-go v0.0.0-20251116234048-d7281ecbda7d h1:oJBKEJ6ANrD0Jaf8f+EsZ03Y9w4diquVFxGD1HALyFw=
196+
github.com/mpatlasov/library-go v0.0.0-20251116234048-d7281ecbda7d/go.mod h1:tptKNust9MdRI0p90DoBSPHIrBa9oh+Rok59tF0vT8c=
195197
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
196198
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
197199
github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
@@ -208,8 +210,6 @@ github.com/openshift/hypershift v0.1.65 h1:dS9xLPcmoOEAfUCOyYWI/knePnXrOltO+DjZC
208210
github.com/openshift/hypershift v0.1.65/go.mod h1:rlmJfhwZ0/oN7njKHXFGm0vvo9Z4YkscvR0a5rn0Jco=
209211
github.com/openshift/hypershift/api v0.0.0-20250807075541-3c03a646d838 h1:2qKQN5Kimf4nm/PpIEP0TVGPnIRmIeJACAUSHd4K/RI=
210212
github.com/openshift/hypershift/api v0.0.0-20250807075541-3c03a646d838/go.mod h1:oCHHubcVHaPsiV8jSafkG/zQiJ1bwnxQfOM7mPpu3uM=
211-
github.com/openshift/library-go v0.0.0-20250910143751-71c215a861c7 h1:iouQp/LSN59yn/uRafnHrbyuCEDz1ofRUeo7yOxTSLM=
212-
github.com/openshift/library-go v0.0.0-20250910143751-71c215a861c7/go.mod h1:tptKNust9MdRI0p90DoBSPHIrBa9oh+Rok59tF0vT8c=
213213
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
214214
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
215215
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=

pkg/driver/aws-ebs/aws_ebs.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/openshift/library-go/pkg/operator/csi/csidrivernodeservicecontroller"
2222
"github.com/openshift/library-go/pkg/operator/csi/csistorageclasscontroller"
2323
dc "github.com/openshift/library-go/pkg/operator/deploymentcontroller"
24+
"github.com/openshift/library-go/pkg/operator/hypershift/deploymentversion"
2425
"github.com/openshift/library-go/pkg/operator/resourcesynccontroller"
2526
appsv1 "k8s.io/api/apps/v1"
2627
corev1 "k8s.io/api/core/v1"
@@ -204,7 +205,15 @@ func GetAWSEBSOperatorControllerConfig(ctx context.Context, flavour generator.Cl
204205

205206
if flavour == generator.FlavourHyperShift {
206207
volumeTagController := NewEBSVolumeTagsController(cfg.GetControllerName("EBSVolumeTagsController"), c, c.EventRecorder)
207-
cfg.ExtraControlPlaneControllers = append(cfg.ExtraControlPlaneControllers, volumeTagController)
208+
versionController := deploymentversioncontroller.NewDeploymentVersionController(
209+
cfg.GetControllerName("EBSDeploymentVesrsionController"),
210+
c.ControlPlaneNamespace,
211+
"aws-ebs-csi-driver-controller",
212+
c.ControlPlaneKubeInformers.InformersFor(c.ControlPlaneNamespace).Apps().V1().Deployments(),
213+
c.OperatorClient,
214+
c.ControlPlaneKubeClient,
215+
c.EventRecorder)
216+
cfg.ExtraControlPlaneControllers = append(cfg.ExtraControlPlaneControllers, volumeTagController, versionController)
208217
cfg.DeploymentInformers = append(cfg.DeploymentInformers, c.KubeInformers.InformersFor("").Core().V1().PersistentVolumes().Informer())
209218
cfg.DeploymentInformers = append(cfg.DeploymentInformers, c.KubeInformers.InformersFor(awsEBSSecretNamespace).Core().V1().Secrets().Informer())
210219
}

vendor/github.com/openshift/library-go/pkg/operator/hypershift/deploymentversion/version_controller.go

Lines changed: 180 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ github.com/openshift/hypershift/api/karpenter/v1beta1
452452
github.com/openshift/hypershift/api/scheduling
453453
github.com/openshift/hypershift/api/scheduling/v1alpha1
454454
github.com/openshift/hypershift/api/util/ipnet
455-
# github.com/openshift/library-go v0.0.0-20250910143751-71c215a861c7
455+
# github.com/openshift/library-go v0.0.0-20250910143751-71c215a861c7 => github.com/mpatlasov/library-go v0.0.0-20251116234048-d7281ecbda7d
456456
## explicit; go 1.24.0
457457
github.com/openshift/library-go/pkg/apiserver/jsonpatch
458458
github.com/openshift/library-go/pkg/authorization/hardcodedauthorizer
@@ -483,6 +483,7 @@ github.com/openshift/library-go/pkg/operator/csi/csistorageclasscontroller
483483
github.com/openshift/library-go/pkg/operator/deploymentcontroller
484484
github.com/openshift/library-go/pkg/operator/events
485485
github.com/openshift/library-go/pkg/operator/genericoperatorclient
486+
github.com/openshift/library-go/pkg/operator/hypershift/deploymentversion
486487
github.com/openshift/library-go/pkg/operator/loglevel
487488
github.com/openshift/library-go/pkg/operator/management
488489
github.com/openshift/library-go/pkg/operator/managementstatecontroller
@@ -1741,3 +1742,4 @@ sigs.k8s.io/structured-merge-diff/v4/value
17411742
## explicit; go 1.22
17421743
sigs.k8s.io/yaml
17431744
sigs.k8s.io/yaml/goyaml.v2
1745+
# github.com/openshift/library-go => github.com/mpatlasov/library-go v0.0.0-20251116234048-d7281ecbda7d

0 commit comments

Comments
 (0)