Skip to content

Commit 82a39a8

Browse files
Merge pull request #2817 from Nordix/peppi-lotta/add-lint-checks-to-fkas
🌱 Enable lint checks for FKAS
2 parents daa90ac + 6d58a57 commit 82a39a8

File tree

5 files changed

+96
-70
lines changed

5 files changed

+96
-70
lines changed

.github/workflows/golangci-lint.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- ""
1919
- test
2020
- api
21+
- hack/fake-apiserver
2122

2223
steps:
2324
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,7 @@ lint: $(GOLANGCI_LINT) ## Lint codebase
415415
$(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_EXTRA_ARGS) --timeout=15m
416416
cd $(APIS_DIR) && $(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_EXTRA_ARGS) --timeout=15m
417417
cd $(TEST_DIR) && $(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_EXTRA_ARGS) --timeout=15m
418+
cd $(FAKE_APISERVER_DIR) && $(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_EXTRA_ARGS) --timeout=15m
418419

419420
.PHONY: lint-fix
420421
lint-fix: $(GOLANGCI_LINT) ## Lint the codebase and run auto-fixers if supported by the linter
@@ -424,6 +425,7 @@ lint-full: $(GOLANGCI_LINT) ## Run slower linters to detect possible issues
424425
$(GOLANGCI_LINT) run -v --fast=false --timeout=30m
425426
cd $(APIS_DIR) && $(GOLANGCI_LINT) run -v --fast=false --timeout=30m
426427
cd $(TEST_DIR) && $(GOLANGCI_LINT) run -v --fast=false --timeout=30m
428+
cd $(FAKE_APISERVER_DIR) && $(GOLANGCI_LINT) run -v --fast=false --timeout=30m
427429

428430
# Run manifest validation
429431
.PHONY: manifest-lint

hack/fake-apiserver/cmd/metal3-fkas-reconciler/main.go

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"context"
66
"encoding/json"
7+
"errors"
78
"fmt"
89
"net/http"
910
"os"
@@ -26,6 +27,7 @@ import (
2627
func 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

Comments
 (0)