@@ -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,6 +53,17 @@ 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
@@ -73,11 +85,6 @@ func (r *AWSMachineTemplateReconciler) Reconcile(ctx context.Context, req ctrl.R
7385 return ctrl.Result {}, err
7486 }
7587
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-
8188 // Get instance type from spec
8289 instanceType := awsMachineTemplate .Spec .Template .Spec .InstanceType
8390 if instanceType == "" {
@@ -194,8 +201,7 @@ func (r *AWSMachineTemplateReconciler) getInstanceTypeCapacity(ctx context.Conte
194201
195202 // Memory
196203 if info .MemoryInfo != nil && info .MemoryInfo .SizeInMiB != nil {
197- memoryBytes := * info .MemoryInfo .SizeInMiB * 1024 * 1024
198- resourceList [corev1 .ResourceMemory ] = * resource .NewQuantity (memoryBytes , resource .BinarySI )
204+ resourceList [corev1 .ResourceMemory ] = resource .MustParse (fmt .Sprintf ("%dMi" , * info .MemoryInfo .SizeInMiB ))
199205 }
200206
201207 return resourceList , nil
@@ -363,14 +369,3 @@ func (r *AWSMachineTemplateReconciler) getKubernetesVersion(ctx context.Context,
363369
364370 return "" , errors .New ("no MachineDeployment or KubeadmControlPlane found referencing this AWSMachineTemplate with a version" )
365371}
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