Skip to content

Commit c37bde8

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 0cd6528 commit c37bde8

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
@@ -135,3 +135,5 @@ require (
135135
sigs.k8s.io/randfill v1.0.0 // indirect
136136
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
137137
)
138+
139+
replace github.com/openshift/library-go => github.com/mpatlasov/library-go v0.0.0-20251117002715-3476408ec87c

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFd
170170
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
171171
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
172172
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
173+
github.com/mpatlasov/library-go v0.0.0-20251117002715-3476408ec87c h1:M2Ek8+bCbP2EBkC82+gHsYypAzPE2Qb6+tDpqQ/eHLE=
174+
github.com/mpatlasov/library-go v0.0.0-20251117002715-3476408ec87c/go.mod h1:ErDfiIrPHH+menTP/B4LKd0nxFDdvCbTamAc6SWMIh8=
173175
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
174176
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
175177
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
@@ -184,8 +186,6 @@ github.com/openshift/client-go v0.0.0-20251015124057-db0dee36e235 h1:9JBeIXmnHlp
184186
github.com/openshift/client-go v0.0.0-20251015124057-db0dee36e235/go.mod h1:L49W6pfrZkfOE5iC1PqEkuLkXG4W0BX4w8b+L2Bv7fM=
185187
github.com/openshift/hypershift/api v0.0.0-20251112122022-66a7017f8635 h1:7ZzaDMMgHMBo9qmsU7I5ySwDr7gQLBR/k5wluCxz8/4=
186188
github.com/openshift/hypershift/api v0.0.0-20251112122022-66a7017f8635/go.mod h1:JiaoBwTsYtBVKKPgHcajChZCu20KdM97W2xc0MeBCBA=
187-
github.com/openshift/library-go v0.0.0-20251112091634-ab97ebb73f0f h1:r1pLosA7z3+t+lzW29FU54sg4/pAWu+lsKD0L5Gx3wg=
188-
github.com/openshift/library-go v0.0.0-20251112091634-ab97ebb73f0f/go.mod h1:ErDfiIrPHH+menTP/B4LKd0nxFDdvCbTamAc6SWMIh8=
189189
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
190190
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
191191
github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo=

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
@@ -417,7 +417,7 @@ github.com/openshift/client-go/operator/listers/operator/v1alpha1
417417
github.com/openshift/hypershift/api/hypershift/v1beta1
418418
github.com/openshift/hypershift/api/ibmcapi
419419
github.com/openshift/hypershift/api/util/ipnet
420-
# github.com/openshift/library-go v0.0.0-20251112091634-ab97ebb73f0f
420+
# github.com/openshift/library-go v0.0.0-20251112091634-ab97ebb73f0f => github.com/mpatlasov/library-go v0.0.0-20251117002715-3476408ec87c
421421
## explicit; go 1.24.0
422422
github.com/openshift/library-go/pkg/apiserver/jsonpatch
423423
github.com/openshift/library-go/pkg/authorization/hardcodedauthorizer
@@ -448,6 +448,7 @@ github.com/openshift/library-go/pkg/operator/csi/csistorageclasscontroller
448448
github.com/openshift/library-go/pkg/operator/deploymentcontroller
449449
github.com/openshift/library-go/pkg/operator/events
450450
github.com/openshift/library-go/pkg/operator/genericoperatorclient
451+
github.com/openshift/library-go/pkg/operator/hypershift/deploymentversion
451452
github.com/openshift/library-go/pkg/operator/loglevel
452453
github.com/openshift/library-go/pkg/operator/management
453454
github.com/openshift/library-go/pkg/operator/managementstatecontroller
@@ -1631,3 +1632,4 @@ sigs.k8s.io/structured-merge-diff/v6/value
16311632
# sigs.k8s.io/yaml v1.6.0
16321633
## explicit; go 1.22
16331634
sigs.k8s.io/yaml
1635+
# github.com/openshift/library-go => github.com/mpatlasov/library-go v0.0.0-20251117002715-3476408ec87c

0 commit comments

Comments
 (0)