44 "bytes"
55 "context"
66 "encoding/json"
7+ "errors"
78 "fmt"
89 "net/http"
910 "os"
@@ -26,6 +27,7 @@ import (
2627func main () {
2728 // Set up logger
2829 debug := os .Getenv ("DEBUG" )
30+ var err error
2931 logLevel := zapcore .InfoLevel // Default log level
3032 if debug == "true" {
3133 logLevel = zapcore .DebugLevel // Set log level to Debug if DEBUG=true
@@ -43,15 +45,15 @@ func main() {
4345
4446 // Add BareMetalHost to scheme
4547 scheme := runtime .NewScheme ()
46- if err : = bmov1alpha1 .AddToScheme (scheme ); err != nil {
48+ if err = bmov1alpha1 .AddToScheme (scheme ); err != nil {
4749 setupLog .Error (err , "Error adding BareMetalHost to scheme" )
4850 }
4951
50- if err : = infrav1 .AddToScheme (scheme ); err != nil {
52+ if err = infrav1 .AddToScheme (scheme ); err != nil {
5153 setupLog .Error (err , "Error adding Metal3Machine to scheme" )
5254 }
5355
54- if err : = clusterv1 .AddToScheme (scheme ); err != nil {
56+ if err = clusterv1 .AddToScheme (scheme ); err != nil {
5557 setupLog .Error (err , "Error adding Machine to scheme" )
5658 }
5759
@@ -62,12 +64,12 @@ func main() {
6264 }
6365
6466 // Set up the BareMetalHost controller
65- if err : = ctrl .NewControllerManagedBy (mgr ).
67+ if err = ctrl .NewControllerManagedBy (mgr ).
6668 For (& bmov1alpha1.BareMetalHost {}).
6769 Complete (reconcile .Func (func (ctx context.Context , req ctrl.Request ) (ctrl.Result , error ) {
6870 setupLog .Info ("Detected change in BMH" , "namespace" , req .Namespace , "name" , req .Name )
6971 bmh := & bmov1alpha1.BareMetalHost {}
70- if err : = mgr .GetClient ().Get (ctx , req .NamespacedName , bmh ); err != nil {
72+ if err = mgr .GetClient ().Get (ctx , req .NamespacedName , bmh ); err != nil {
7173 setupLog .Error (err , "Error fetching BareMetalHost" )
7274 return reconcile.Result {}, err
7375 }
@@ -86,14 +88,14 @@ func main() {
8688 Namespace : bmh .Spec .ConsumerRef .Namespace ,
8789 Name : bmh .Spec .ConsumerRef .Name ,
8890 }
89- if err : = mgr .GetClient ().Get (ctx , m3mKey , m3m ); err != nil {
91+ if err = mgr .GetClient ().Get (ctx , m3mKey , m3m ); err != nil {
9092 setupLog .Error (err , "Error fetching Metal3Machine" , "namespace" , bmh .Spec .ConsumerRef .Namespace , "name" , bmh .Spec .ConsumerRef .Name )
9193 return reconcile.Result {}, err
9294 }
9395 // Get the Machine object referenced by m3m.Metadata.OwnerReference.Name
9496 if len (m3m .OwnerReferences ) == 0 {
95- setupLog .Error (fmt . Errorf ("no owner reference found" ), "Metal3Machine has no owner reference" )
96- return reconcile.Result {}, fmt . Errorf ("no owner reference found" )
97+ setupLog .Error (errors . New ("no owner reference found" ), "Metal3Machine has no owner reference" )
98+ return reconcile.Result {}, errors . New ("no owner reference found" )
9799 }
98100
99101 machineName := m3m .ObjectMeta .OwnerReferences [0 ].Name
@@ -103,7 +105,7 @@ func main() {
103105 Namespace : namespace ,
104106 Name : machineName ,
105107 }
106- if err : = mgr .GetClient ().Get (ctx , machineKey , machine ); err != nil {
108+ if err = mgr .GetClient ().Get (ctx , machineKey , machine ); err != nil {
107109 setupLog .Error (err , "Error fetching Machine" , "namespace" , m3m .Namespace , "name" , machineName )
108110 return reconcile.Result {}, err
109111 }
@@ -123,29 +125,32 @@ func main() {
123125 "labels" : labels ,
124126 "k8sversion" : machine .Spec .Version ,
125127 }
126- jsonData , err := json .Marshal (requestData )
128+ var jsonData []byte
129+ jsonData , err = json .Marshal (requestData )
127130 if err != nil {
128131 setupLog .Error (err , "Error marshalling JSON" )
129132 return reconcile.Result {}, err
130133 }
131134 setupLog .Info ("Making PUT request" , "content" , string (jsonData ))
132- putReq , err := http .NewRequest (http .MethodPut , url , bytes .NewBuffer (jsonData ))
135+ var putReq * http.Request
136+ putReq , err = http .NewRequestWithContext (ctx , http .MethodPut , url , bytes .NewBuffer (jsonData ))
133137 if err != nil {
134138 setupLog .Error (err , "Error creating PUT request" )
135139 return reconcile.Result {}, err
136140 }
137141 putReq .Header .Set ("Content-Type" , "application/json" )
138142 client := & http.Client {}
139- resp , err := client .Do (putReq )
143+ var resp * http.Response
144+ resp , err = client .Do (putReq )
140145 if err != nil {
141146 setupLog .Error (err , "Error making PUT request" )
142147 return reconcile.Result {}, err
143148 }
144149 defer resp .Body .Close ()
145150
146151 if resp .StatusCode != http .StatusOK {
147- setupLog .Info (fmt . Sprintf ( "PUT request failed with status: %s" , resp .Status ) )
148- return reconcile.Result {}, fmt . Errorf ("PUT request failed with status: %s" , resp .Status )
152+ setupLog .Info ("PUT request failed with status: " + resp .Status )
153+ return reconcile.Result {}, errors . New ("PUT request failed with status: " + resp .Status )
149154 }
150155
151156 return reconcile.Result {}, nil
@@ -155,7 +160,7 @@ func main() {
155160
156161 // Start the manager
157162 setupLog .Info ("Starting controller..." )
158- if err : = mgr .Start (ctrl .SetupSignalHandler ()); err != nil {
163+ if err = mgr .Start (ctrl .SetupSignalHandler ()); err != nil {
159164 setupLog .Error (err , "Error starting manager" )
160165 }
161166}
0 commit comments