@@ -16,6 +16,7 @@ import (
16
16
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
17
17
18
18
"github.com/d2iq-labs/cluster-api-runtime-extensions-nutanix/common/pkg/k8s/client"
19
+ lifecycleutils "github.com/d2iq-labs/cluster-api-runtime-extensions-nutanix/pkg/handlers/generic/lifecycle/utils"
19
20
"github.com/d2iq-labs/cluster-api-runtime-extensions-nutanix/pkg/handlers/options"
20
21
)
21
22
@@ -52,18 +53,18 @@ func New(
52
53
}
53
54
}
54
55
55
- func (a * AWSCCM ) EnsureCCMConfigMapForCluster (
56
+ func (a * AWSCCM ) Apply (
56
57
ctx context.Context ,
57
58
cluster * clusterv1.Cluster ,
58
- ) ( * corev1. ConfigMap , error ) {
59
+ ) error {
59
60
log := ctrl .LoggerFrom (ctx ).WithValues (
60
61
"cluster" ,
61
62
cluster .Name ,
62
63
)
63
64
log .Info ("Creating AWS CCM ConfigMap for Cluster" )
64
65
version , err := semver .ParseTolerant (cluster .Spec .Topology .Version )
65
66
if err != nil {
66
- return nil , fmt .Errorf ("failed to parse version from cluster %w" , err )
67
+ return fmt .Errorf ("failed to parse version from cluster %w" , err )
67
68
}
68
69
minorVersion := fmt .Sprintf ("%d.%d" , version .Major , version .Minor )
69
70
configMapForMinorVersion := a .config .kubernetesMinorVersionToCCMConfigMapNames [minorVersion ]
@@ -79,22 +80,28 @@ func (a *AWSCCM) EnsureCCMConfigMapForCluster(
79
80
err = a .client .Get (ctx , objName , ccmConfigMapForMinorVersion )
80
81
if err != nil {
81
82
log .Error (err , "failed to fetch CCM template for cluster" )
82
- return nil , fmt .Errorf (
83
+ return fmt .Errorf (
83
84
"failed to retrieve default AWS CCM manifests ConfigMap %q: %w" ,
84
85
objName ,
85
86
err ,
86
87
)
87
88
}
88
89
89
90
ccmConfigMap := generateCCMConfigMapForCluster (ccmConfigMapForMinorVersion , cluster )
90
- if err : = client .ServerSideApply (ctx , a .client , ccmConfigMap ); err != nil {
91
+ if err = client .ServerSideApply (ctx , a .client , ccmConfigMap ); err != nil {
91
92
log .Error (err , "failed to apply CCM configmap for cluster" )
92
- return nil , fmt .Errorf (
93
+ return fmt .Errorf (
93
94
"failed to apply AWS CCM manifests ConfigMap: %w" ,
94
95
err ,
95
96
)
96
97
}
97
- return ccmConfigMap , nil
98
+
99
+ err = lifecycleutils .EnsureCRSForClusterFromObjects (ctx , ccmConfigMap .Name , a .client , cluster , ccmConfigMap )
100
+ if err != nil {
101
+ return fmt .Errorf ("failed to generate CCM CRS for cluster: %w" , err )
102
+ }
103
+
104
+ return nil
98
105
}
99
106
100
107
func generateCCMConfigMapForCluster (
0 commit comments