Skip to content

Commit f09e55c

Browse files
committed
controller-runtime v0.19.0 fixups (and de-linting)
- Changes to reconciler-related types pursuant to kubernetes-sigs/controller-runtime#2799 - Removal of yellow squiggles HIVE-2616
1 parent 5665088 commit f09e55c

40 files changed

Lines changed: 141 additions & 151 deletions

pkg/controller/argocdregister/argocdregister_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func NewReconciler(mgr manager.Manager, logger log.FieldLogger, rateLimiter flow
8989
}
9090

9191
// AddToManager adds a new Controller to mgr with r as the reconcile.Reconciler
92-
func AddToManager(mgr manager.Manager, r reconcile.Reconciler, concurrentReconciles int, rateLimiter workqueue.RateLimiter) error {
92+
func AddToManager(mgr manager.Manager, r reconcile.Reconciler, concurrentReconciles int, rateLimiter workqueue.TypedRateLimiter[reconcile.Request]) error {
9393
// Create a new controller
9494
c, err := controller.New("argocdregister-controller", mgr, controller.Options{
9595
Reconciler: controllerutils.NewDelayingReconciler(r, log.WithField("controller", ControllerName)),

pkg/controller/argocdregister/argocdregister_controller_test.go

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,7 @@ func TestArgoCDRegisterReconcile(t *testing.T) {
9494
testSecret(corev1.SecretTypeDockerConfigJson, constants.GetMergedPullSecretName(testClusterDeployment()), corev1.DockerConfigJsonKey, "{}"),
9595
testSecret(corev1.SecretTypeDockerConfigJson, credsSecret, corev1.DockerConfigJsonKey, "{}"),
9696
testSecret(corev1.SecretTypeDockerConfigJson, "foo-lqmsh-admin-kubeconfig", "kubeconfig", "{}"),
97-
testServiceAccount("argocd-server", argoCDDefaultNamespace,
98-
corev1.ObjectReference{Kind: "Secret",
99-
Name: "argocd-token",
100-
Namespace: argoCDDefaultNamespace}),
97+
testServiceAccount("argocd-server", []corev1.ObjectReference{{Kind: "Secret", Name: "argocd-token", Namespace: argoCDDefaultNamespace}}...),
10198
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "argocd-token", argoCDDefaultNamespace, "token", "{}"),
10299
},
103100
argoCDEnabled: true,
@@ -117,10 +114,7 @@ func TestArgoCDRegisterReconcile(t *testing.T) {
117114
testSecret(corev1.SecretTypeDockerConfigJson, constants.GetMergedPullSecretName(testClusterDeployment()), corev1.DockerConfigJsonKey, "{}"),
118115
testSecret(corev1.SecretTypeDockerConfigJson, credsSecret, corev1.DockerConfigJsonKey, "{}"),
119116
testSecret(corev1.SecretTypeDockerConfigJson, "foo-lqmsh-admin-kubeconfig", "kubeconfig", "{}"),
120-
testServiceAccount("argocd-server", argoCDDefaultNamespace,
121-
corev1.ObjectReference{Kind: "Secret",
122-
Name: "argocd-token",
123-
Namespace: argoCDDefaultNamespace}),
117+
testServiceAccount("argocd-server", []corev1.ObjectReference{{Kind: "Secret", Name: "argocd-token", Namespace: argoCDDefaultNamespace}}...),
124118
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "argocd-token", argoCDDefaultNamespace, "token", "{}"),
125119
// Existing ArgoCD cluster secret
126120
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "cluster-test-api.test.com-2774145043", argoCDDefaultNamespace, "test", "{}"),
@@ -148,10 +142,7 @@ func TestArgoCDRegisterReconcile(t *testing.T) {
148142
testSecret(corev1.SecretTypeDockerConfigJson, constants.GetMergedPullSecretName(testClusterDeployment()), corev1.DockerConfigJsonKey, "{}"),
149143
testSecret(corev1.SecretTypeDockerConfigJson, credsSecret, corev1.DockerConfigJsonKey, "{}"),
150144
testSecret(corev1.SecretTypeDockerConfigJson, "foo-lqmsh-admin-kubeconfig", "kubeconfig", "{}"),
151-
testServiceAccount("argocd-server", argoCDDefaultNamespace,
152-
corev1.ObjectReference{Kind: "Secret",
153-
Name: "argocd-token",
154-
Namespace: argoCDDefaultNamespace}),
145+
testServiceAccount("argocd-server", []corev1.ObjectReference{{Kind: "Secret", Name: "argocd-token", Namespace: argoCDDefaultNamespace}}...),
155146
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "argocd-token", argoCDDefaultNamespace, "token", "{}"),
156147
// Existing ArgoCD cluster secret
157148
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "cluster-test-api.test.com-2774145043", argoCDDefaultNamespace, corev1.DockerConfigJsonKey, "{}"),
@@ -173,10 +164,7 @@ func TestArgoCDRegisterReconcile(t *testing.T) {
173164
testSecret(corev1.SecretTypeDockerConfigJson, constants.GetMergedPullSecretName(testClusterDeployment()), corev1.DockerConfigJsonKey, "{}"),
174165
testSecret(corev1.SecretTypeDockerConfigJson, credsSecret, corev1.DockerConfigJsonKey, "{}"),
175166
testSecret(corev1.SecretTypeDockerConfigJson, "foo-lqmsh-admin-kubeconfig", "kubeconfig", "{}"),
176-
testServiceAccount("argocd-server", argoCDDefaultNamespace,
177-
corev1.ObjectReference{Kind: "Secret",
178-
Name: "argocd-token",
179-
Namespace: argoCDDefaultNamespace}),
167+
testServiceAccount("argocd-server", []corev1.ObjectReference{{Kind: "Secret", Name: "argocd-token", Namespace: argoCDDefaultNamespace}}...),
180168
testSecretWithNamespace(corev1.SecretTypeDockerConfigJson, "argocd-token", argoCDDefaultNamespace, "token", "{}"),
181169
},
182170
argoCDEnabled: false,
@@ -329,7 +317,7 @@ func testSecretWithNamespace(secretType corev1.SecretType, name, namespace, key,
329317
return s
330318
}
331319

332-
func testServiceAccount(name, namespace string, secrets ...corev1.ObjectReference) *corev1.ServiceAccount {
320+
func testServiceAccount(name string, secrets ...corev1.ObjectReference) *corev1.ServiceAccount {
333321
return &corev1.ServiceAccount{
334322
ObjectMeta: metav1.ObjectMeta{
335323
Name: name,

pkg/controller/awsprivatelink/awsprivatelink_controller.go

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func NewReconciler(mgr manager.Manager, rateLimiter flowcontrol.RateLimiter) (*R
9494
}
9595

9696
// AddToManager adds a new Controller to mgr with r as the reconcile.Reconciler
97-
func AddToManager(mgr manager.Manager, r *ReconcileAWSPrivateLink, concurrentReconciles int, rateLimiter workqueue.RateLimiter) error {
97+
func AddToManager(mgr manager.Manager, r *ReconcileAWSPrivateLink, concurrentReconciles int, rateLimiter workqueue.TypedRateLimiter[reconcile.Request]) error {
9898
// Create a new controller
9999
c, err := controller.New("awsprivatelink-controller", mgr, controller.Options{
100100
Reconciler: controllerutils.NewDelayingReconciler(r, log.WithField("controller", ControllerName)),
@@ -546,7 +546,7 @@ func (r *ReconcileAWSPrivateLink) reconcilePrivateLink(cd *hivev1.ClusterDeploym
546546
}
547547

548548
// Create the Private Hosted Zone for the VPC Endpoint.
549-
hzModified, hostedZoneID, err := r.reconcileHostedZone(awsClient, cd, clusterMetadata, vpcEndpoint, apiDomain, logger)
549+
hzModified, hostedZoneID, err := r.reconcileHostedZone(awsClient, cd, vpcEndpoint, apiDomain, logger)
550550
if err != nil {
551551
logger.WithError(err).Error("could not reconcile the Hosted Zone")
552552

@@ -568,7 +568,7 @@ func (r *ReconcileAWSPrivateLink) reconcilePrivateLink(cd *hivev1.ClusterDeploym
568568
}
569569

570570
// Associate the VPCs to the hosted zone.
571-
associationsModified, err := r.reconcileHostedZoneAssociations(awsClient, cd, hostedZoneID, vpcEndpoint, logger)
571+
associationsModified, err := r.reconcileHostedZoneAssociations(awsClient, hostedZoneID, vpcEndpoint, logger)
572572
if err != nil {
573573
logger.WithError(err).Error("could not reconcile the associations of the Hosted Zone")
574574

@@ -763,7 +763,7 @@ func (r *ReconcileAWSPrivateLink) reconcileVPCEndpointService(awsClient *awsClie
763763
cd.Status.Platform.AWS.PrivateLink.VPCEndpointService.AdditionalAllowedPrincipals = &desiredPermsSlice
764764
}
765765
cd.Status.Platform.AWS.PrivateLink.VPCEndpointService.DefaultAllowedPrincipal = &defaultARN
766-
if err := r.updatePrivateLinkStatus(cd, logger); err != nil {
766+
if err := r.updatePrivateLinkStatus(cd); err != nil {
767767
logger.WithError(err).Error("error updating clusterdeployment status with vpcEndpointService additionalAllowedPrincipals")
768768
return modified, nil, err
769769
}
@@ -787,7 +787,7 @@ func (r *ReconcileAWSPrivateLink) ensureVPCEndpointService(awsClient awsclient.C
787787
}
788788
if len(resp.ServiceConfigurations) == 0 {
789789
modified = true
790-
serviceConfig, err = createVPCEndpointService(awsClient, cd, metadata, clusterNLB, logger)
790+
serviceConfig, err = createVPCEndpointService(awsClient, metadata, clusterNLB, logger)
791791
if err != nil {
792792
logger.WithError(err).Error("failed to create VPC Endpoint Service for cluster")
793793
return modified, nil, errors.Wrap(err, "failed to create VPC Endpoint Service for cluster")
@@ -801,15 +801,15 @@ func (r *ReconcileAWSPrivateLink) ensureVPCEndpointService(awsClient awsclient.C
801801
ID: *serviceConfig.ServiceId,
802802
Name: *serviceConfig.ServiceName,
803803
}
804-
if err := r.updatePrivateLinkStatus(cd, logger); err != nil {
804+
if err := r.updatePrivateLinkStatus(cd); err != nil {
805805
logger.WithError(err).Error("error updating clusterdeployment status with vpcEndpointService")
806806
return modified, nil, err
807807
}
808808

809809
return modified, serviceConfig, nil
810810
}
811811

812-
func createVPCEndpointService(awsClient awsclient.Client, cd *hivev1.ClusterDeployment, metadata *hivev1.ClusterMetadata, clusterNLB string, logger log.FieldLogger) (*ec2.ServiceConfiguration, error) {
812+
func createVPCEndpointService(awsClient awsclient.Client, metadata *hivev1.ClusterMetadata, clusterNLB string, logger log.FieldLogger) (*ec2.ServiceConfiguration, error) {
813813
resp, err := awsClient.CreateVpcEndpointServiceConfiguration(&ec2.CreateVpcEndpointServiceConfigurationInput{
814814
AcceptanceRequired: aws.Bool(false),
815815
NetworkLoadBalancerArns: aws.StringSlice([]string{clusterNLB}),
@@ -875,7 +875,7 @@ func (r *ReconcileAWSPrivateLink) reconcileVPCEndpoint(awsClient *awsClient,
875875

876876
initPrivateLinkStatus(cd)
877877
cd.Status.Platform.AWS.PrivateLink.VPCEndpointID = *vpcEndpoint.VpcEndpointId
878-
if err := r.updatePrivateLinkStatus(cd, logger); err != nil {
878+
if err := r.updatePrivateLinkStatus(cd); err != nil {
879879
logger.WithError(err).Error("error updating clusterdeployment status with vpcEndpointID")
880880
return modified, nil, err
881881
}
@@ -931,7 +931,7 @@ func (r *ReconcileAWSPrivateLink) createVPCEndpoint(awsClient awsclient.Client,
931931
// where VPC endpoint was created. It also make sure the DNS zone has an ALIAS record pointing
932932
// to the regional DNS name of the VPC endpoint.
933933
func (r *ReconcileAWSPrivateLink) reconcileHostedZone(awsClient *awsClient,
934-
cd *hivev1.ClusterDeployment, metadata *hivev1.ClusterMetadata,
934+
cd *hivev1.ClusterDeployment,
935935
vpcEndpoint *ec2.VpcEndpoint, apiDomain string,
936936
logger log.FieldLogger) (bool, string, error) {
937937
modified, hostedZoneID, err := r.ensureHostedZone(awsClient.hub, cd, vpcEndpoint, apiDomain, logger)
@@ -1015,7 +1015,11 @@ func (r *ReconcileAWSPrivateLink) ensureHostedZone(awsClient awsclient.Client,
10151015
endpoint *ec2.VpcEndpoint, apiDomain string,
10161016
logger log.FieldLogger) (bool, string, error) {
10171017
modified := false
1018-
hzID, err := findHostedZone(awsClient, *endpoint.VpcId, cd.Spec.Platform.AWS.Region, apiDomain, logger)
1018+
var (
1019+
hzID string
1020+
err error
1021+
)
1022+
hzID, err = findHostedZone(awsClient, *endpoint.VpcId, cd.Spec.Platform.AWS.Region, apiDomain)
10191023
if err != nil && errors.Is(err, errNoHostedZoneFoundForVPC) {
10201024
modified = true
10211025
hzID, err = r.createHostedZone(awsClient, cd, endpoint, apiDomain, logger)
@@ -1030,7 +1034,7 @@ func (r *ReconcileAWSPrivateLink) ensureHostedZone(awsClient awsclient.Client,
10301034

10311035
initPrivateLinkStatus(cd)
10321036
cd.Status.Platform.AWS.PrivateLink.HostedZoneID = hzID
1033-
if err := r.updatePrivateLinkStatus(cd, logger); err != nil {
1037+
if err := r.updatePrivateLinkStatus(cd); err != nil {
10341038
logger.WithError(err).Error("failed to update the hosted zone ID for cluster deployment")
10351039
return modified, "", err
10361040
}
@@ -1043,7 +1047,7 @@ var errNoHostedZoneFoundForVPC = errors.New("no hosted zone found")
10431047
// findHostedZone finds a Private Hosted Zone for apiDomain that is associated with the given
10441048
// VPC.
10451049
// If no such hosted zone exists, it return an errNoHostedZoneFoundForVPC error.
1046-
func findHostedZone(awsClient awsclient.Client, vpcID, vpcRegion, apiDomain string, logger log.FieldLogger) (string, error) {
1050+
func findHostedZone(awsClient awsclient.Client, vpcID, vpcRegion, apiDomain string) (string, error) {
10471051
input := &route53.ListHostedZonesByVPCInput{
10481052
VPCId: aws.String(vpcID),
10491053
VPCRegion: aws.String(vpcRegion),
@@ -1097,7 +1101,6 @@ func (r *ReconcileAWSPrivateLink) createHostedZone(awsClient awsclient.Client,
10971101
// reconcileHostedZoneAssociations ensures that the all the VPCs in the associatedVPCs list from
10981102
// the controller config are associated to the PHZ hostedZoneID.
10991103
func (r *ReconcileAWSPrivateLink) reconcileHostedZoneAssociations(awsClient *awsClient,
1100-
cd *hivev1.ClusterDeployment,
11011104
hostedZoneID string, vpcEndpoint *ec2.VpcEndpoint,
11021105
logger log.FieldLogger) (bool, error) {
11031106
hzLog := logger.WithField("hostedZoneID", hostedZoneID)
@@ -1362,7 +1365,7 @@ var retryBackoff = wait.Backoff{
13621365
Jitter: 0.1,
13631366
}
13641367

1365-
func (r *ReconcileAWSPrivateLink) updatePrivateLinkStatus(cd *hivev1.ClusterDeployment, logger log.FieldLogger) error {
1368+
func (r *ReconcileAWSPrivateLink) updatePrivateLinkStatus(cd *hivev1.ClusterDeployment) error {
13661369
return retry.RetryOnConflict(retryBackoff, func() error {
13671370
curr := &hivev1.ClusterDeployment{}
13681371
err := r.Client.Get(context.TODO(), types.NamespacedName{Namespace: cd.Namespace, Name: cd.Name}, curr)

pkg/controller/awsprivatelink/cleanup.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,18 @@ func (r *ReconcileAWSPrivateLink) cleanupPrivateLink(cd *hivev1.ClusterDeploymen
105105
logger.WithError(err).Error("error cleaning up Hosted Zone")
106106
return err
107107
}
108-
if err := r.cleanupVPCEndpoint(awsClient.hub, cd, metadata, logger); err != nil {
108+
if err := r.cleanupVPCEndpoint(awsClient.hub, metadata, logger); err != nil {
109109
logger.WithError(err).Error("error cleaning up VPCEndpoint")
110110
return err
111111
}
112-
if err := r.cleanupVPCEndpointService(awsClient.user, cd, metadata, logger); err != nil {
112+
if err := r.cleanupVPCEndpointService(awsClient.user, metadata, logger); err != nil {
113113
logger.WithError(err).Error("error cleaning up VPCEndpoint Service")
114114
return err
115115
}
116116

117117
initPrivateLinkStatus(cd)
118118
cd.Status.Platform.AWS.PrivateLink = nil
119-
if err := r.updatePrivateLinkStatus(cd, logger); err != nil {
119+
if err := r.updatePrivateLinkStatus(cd); err != nil {
120120
logger.WithError(err).Error("error updating clusterdeployment after cleanup of private link")
121121
return err
122122
}
@@ -160,7 +160,7 @@ func (r *ReconcileAWSPrivateLink) cleanupHostedZone(awsClient awsclient.Client,
160160
}
161161

162162
vpcEndpoint := endpointResp.VpcEndpoints[0]
163-
hzID, err = findHostedZone(awsClient, *vpcEndpoint.VpcId, cd.Spec.Platform.AWS.Region, apiDomain, logger)
163+
hzID, err = findHostedZone(awsClient, *vpcEndpoint.VpcId, cd.Spec.Platform.AWS.Region, apiDomain)
164164
if err != nil && errors.Is(err, errNoHostedZoneFoundForVPC) {
165165
return nil // no work
166166
}
@@ -214,7 +214,7 @@ func (r *ReconcileAWSPrivateLink) cleanupHostedZone(awsClient awsclient.Client,
214214
}
215215

216216
func (r *ReconcileAWSPrivateLink) cleanupVPCEndpoint(awsClient awsclient.Client,
217-
cd *hivev1.ClusterDeployment, metadata *hivev1.ClusterMetadata,
217+
metadata *hivev1.ClusterMetadata,
218218
logger log.FieldLogger) error {
219219
idLog := logger.WithField("infraID", metadata.InfraID)
220220
resp, err := awsClient.DescribeVpcEndpoints(&ec2.DescribeVpcEndpointsInput{
@@ -243,7 +243,7 @@ func (r *ReconcileAWSPrivateLink) cleanupVPCEndpoint(awsClient awsclient.Client,
243243
}
244244

245245
func (r *ReconcileAWSPrivateLink) cleanupVPCEndpointService(awsClient awsclient.Client,
246-
cd *hivev1.ClusterDeployment, metadata *hivev1.ClusterMetadata,
246+
metadata *hivev1.ClusterMetadata,
247247
logger log.FieldLogger) error {
248248
idLog := logger.WithField("infraID", metadata.InfraID)
249249
resp, err := awsClient.DescribeVpcEndpointServiceConfigurations(&ec2.DescribeVpcEndpointServiceConfigurationsInput{

pkg/controller/clusterclaim/clusterclaim_controller.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func NewReconciler(mgr manager.Manager, rateLimiter flowcontrol.RateLimiter) *Re
6262
}
6363

6464
// AddToManager adds a new Controller to mgr with r as the reconcile.Reconciler
65-
func AddToManager(mgr manager.Manager, r *ReconcileClusterClaim, concurrentReconciles int, rateLimiter workqueue.RateLimiter) error {
65+
func AddToManager(mgr manager.Manager, r *ReconcileClusterClaim, concurrentReconciles int, rateLimiter workqueue.TypedRateLimiter[reconcile.Request]) error {
6666
// Create a new controller
6767
c, err := controller.New("clusterclaim-controller", mgr, controller.Options{
6868
Reconciler: controllerutils.NewDelayingReconciler(r, r.logger),
@@ -122,7 +122,7 @@ func requestsForClusterDeployment(ctx context.Context, cd *hivev1.ClusterDeploym
122122
return []reconcile.Request{{NamespacedName: *claim}}
123123
}
124124

125-
func requestsForRBACResourcesRole(c client.Client, resourceName string, logger log.FieldLogger) handler.TypedMapFunc[*rbacv1.Role] {
125+
func requestsForRBACResourcesRole(c client.Client, resourceName string, logger log.FieldLogger) handler.TypedMapFunc[*rbacv1.Role, reconcile.Request] {
126126
return func(ctx context.Context, o *rbacv1.Role) []reconcile.Request {
127127
if o.GetName() != resourceName {
128128
return nil
@@ -141,7 +141,7 @@ func requestsForRBACResourcesRole(c client.Client, resourceName string, logger l
141141
}
142142
}
143143

144-
func requestsForRBACResourcesRoleBinding(c client.Client, resourceName string, logger log.FieldLogger) handler.TypedMapFunc[*rbacv1.RoleBinding] {
144+
func requestsForRBACResourcesRoleBinding(c client.Client, resourceName string, logger log.FieldLogger) handler.TypedMapFunc[*rbacv1.RoleBinding, reconcile.Request] {
145145
return func(ctx context.Context, o *rbacv1.RoleBinding) []reconcile.Request {
146146
if o.GetName() != resourceName {
147147
return nil
@@ -534,7 +534,7 @@ func (r *ReconcileClusterClaim) createRBAC(claim *hivev1.ClusterClaim, cd *hivev
534534
if cd.Spec.ClusterMetadata == nil {
535535
return errors.New("ClusterDeployment does not have ClusterMetadata")
536536
}
537-
if err := r.applyHiveClaimOwnerRole(claim, cd, logger); err != nil {
537+
if err := r.applyHiveClaimOwnerRole(cd, logger); err != nil {
538538
return err
539539
}
540540
if err := r.applyHiveClaimOwnerRoleBinding(claim, cd, logger); err != nil {
@@ -543,7 +543,7 @@ func (r *ReconcileClusterClaim) createRBAC(claim *hivev1.ClusterClaim, cd *hivev
543543
return nil
544544
}
545545

546-
func (r *ReconcileClusterClaim) applyHiveClaimOwnerRole(claim *hivev1.ClusterClaim, cd *hivev1.ClusterDeployment, logger log.FieldLogger) error {
546+
func (r *ReconcileClusterClaim) applyHiveClaimOwnerRole(cd *hivev1.ClusterDeployment, logger log.FieldLogger) error {
547547
desiredRole := &rbacv1.Role{
548548
ObjectMeta: metav1.ObjectMeta{
549549
Namespace: cd.Namespace,

pkg/controller/clusterclaim/clusterclaim_controller_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -802,10 +802,7 @@ func Test_getClaimLifetime(t *testing.T) {
802802
t.Run(test.name, func(t *testing.T) {
803803
var poolLifetime *hivev1.ClusterPoolClaimLifetime
804804
if test.defaultLifetime != nil {
805-
if poolLifetime == nil {
806-
poolLifetime = &hivev1.ClusterPoolClaimLifetime{}
807-
}
808-
poolLifetime.Default = test.defaultLifetime
805+
poolLifetime = &hivev1.ClusterPoolClaimLifetime{Default: test.defaultLifetime}
809806
}
810807
if test.maximumLifetime != nil {
811808
if poolLifetime == nil {

0 commit comments

Comments
 (0)