@@ -18,6 +18,7 @@ package controllers
1818
1919import (
2020 "context"
21+ "fmt"
2122 "strings"
2223
2324 "github.com/aws/aws-sdk-go-v2/service/ec2"
@@ -52,12 +53,22 @@ type AWSMachineTemplateReconciler struct {
5253 WatchFilterValue string
5354}
5455
56+ // SetupWithManager sets up the controller with the Manager.
57+ func (r * AWSMachineTemplateReconciler ) SetupWithManager (ctx context.Context , mgr ctrl.Manager , options controller.Options ) error {
58+ log := logger .FromContext (ctx )
59+
60+ return ctrl .NewControllerManagedBy (mgr ).
61+ For (& infrav1.AWSMachineTemplate {}).
62+ WithOptions (options ).
63+ WithEventFilter (predicates .ResourceNotPausedAndHasFilterLabel (mgr .GetScheme (), log .GetLogger (), r .WatchFilterValue )).
64+ Complete (r )
65+ }
66+
5567// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=awsmachinetemplates,verbs=get;list;watch
5668// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=awsmachinetemplates/status,verbs=get;update;patch
5769// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=awsclusters,verbs=get;list;watch
5870// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters,verbs=get;list;watch
5971// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinedeployments,verbs=get;list;watch
60- // +kubebuilder:rbac:groups=controlplane.cluster.x-k8s.io,resources=kubeadmcontrolplanes,verbs=get;list;watch
6172// +kubebuilder:rbac:groups="",resources=events,verbs=get;list;watch;create;update;patch
6273
6374// Reconcile populates capacity information for AWSMachineTemplate.
@@ -73,11 +84,6 @@ func (r *AWSMachineTemplateReconciler) Reconcile(ctx context.Context, req ctrl.R
7384 return ctrl.Result {}, err
7485 }
7586
76- // Skip if capacity and nodeInfo are already set
77- if len (awsMachineTemplate .Status .Capacity ) > 0 && awsMachineTemplate .Status .NodeInfo != nil {
78- return ctrl.Result {}, nil
79- }
80-
8187 // Get instance type from spec
8288 instanceType := awsMachineTemplate .Spec .Template .Spec .InstanceType
8389 if instanceType == "" {
@@ -194,8 +200,7 @@ func (r *AWSMachineTemplateReconciler) getInstanceTypeCapacity(ctx context.Conte
194200
195201 // Memory
196202 if info .MemoryInfo != nil && info .MemoryInfo .SizeInMiB != nil {
197- memoryBytes := * info .MemoryInfo .SizeInMiB * 1024 * 1024
198- resourceList [corev1 .ResourceMemory ] = * resource .NewQuantity (memoryBytes , resource .BinarySI )
203+ resourceList [corev1 .ResourceMemory ] = resource .MustParse (fmt .Sprintf ("%dMi" , * info .MemoryInfo .SizeInMiB ))
199204 }
200205
201206 return resourceList , nil
@@ -363,14 +368,3 @@ func (r *AWSMachineTemplateReconciler) getKubernetesVersion(ctx context.Context,
363368
364369 return "" , errors .New ("no MachineDeployment or KubeadmControlPlane found referencing this AWSMachineTemplate with a version" )
365370}
366-
367- // SetupWithManager sets up the controller with the Manager.
368- func (r * AWSMachineTemplateReconciler ) SetupWithManager (ctx context.Context , mgr ctrl.Manager , options controller.Options ) error {
369- log := logger .FromContext (ctx )
370-
371- return ctrl .NewControllerManagedBy (mgr ).
372- For (& infrav1.AWSMachineTemplate {}).
373- WithOptions (options ).
374- WithEventFilter (predicates .ResourceHasFilterLabel (mgr .GetScheme (), log .GetLogger (), r .WatchFilterValue )).
375- Complete (r )
376- }
0 commit comments