Skip to content

Commit 3ac74a0

Browse files
committed
🌱 Fix linting, tests and prepare for merge
Fix linting in new clusteraddon-related files that we changed in the feature branch. Fixing unit tests. Prepare feature branch to merge by going through changes of PR and validating them. Fixing some small stuff, as well as changing unnecessary or temporary changes back to the state of the main branch. Signed-off-by: janiskemper <[email protected]>
1 parent c6cfdfd commit 3ac74a0

File tree

14 files changed

+89
-2362
lines changed

14 files changed

+89
-2362
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on: # yamllint disable-line rule:truthy
44
push:
55
branches:
66
- main
7-
- addons
87
# If the cache was cleaned we should re-build the cache with the latest commit
98
workflow_run:
109
workflows:

.github/workflows/kubebuilder-markers-checker.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ on:
44
push:
55
branches:
66
- main
7-
- addons
87
pull_request:
98
branches:
109
- main
11-
- addons
1210
paths:
1311
- "api/**"
1412
- ".github/workflows/kubebuilder-markers-checker.yml"

.github/workflows/pr-lint.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on: # yamllint disable-line rule:truthy
44
types: [opened, synchronize, reopened, ready_for_review]
55
branches:
66
- main
7-
- addons
87
- "releases/**"
98
paths:
109
- "!**/vendor/**"

.github/workflows/test.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on: # yamllint disable-line rule:truthy
66
types: [opened, synchronize, reopened, ready_for_review]
77
branches:
88
- main
9-
- addons
109
- "releases/**"
1110
paths:
1211
- "**.go"

Tiltfile

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ def deploy_capi():
6161
patch_args_with_extra_args("capi-kubeadm-bootstrap-system", "capi-kubeadm-bootstrap-controller-manager", kb_extra_args)
6262

6363
def deploy_capd():
64-
yaml = './capd.yaml'
65-
cmd = "kubectl apply -f capd.yaml"
64+
version = settings.get("capi_version")
65+
capd_uri = "https://github.com/kubernetes-sigs/cluster-api/releases/download/{}/infrastructure-components-development.yaml".format(version)
66+
cmd = "curl -sSL {} | {} | kubectl apply -f -".format(capd_uri, envsubst_cmd)
6667
local(cmd, quiet = True)
6768

6869
def prepare_environment():
@@ -211,12 +212,6 @@ def deploy_cso():
211212
labels = ["CSO"],
212213
)
213214

214-
def deploy_capd():
215-
yaml = './capd.yaml'
216-
cmd = "kubectl apply -f capd.yaml"
217-
local(cmd, quiet = True)
218-
219-
220215
def clusterstack():
221216
k8s_resource(objects = ["clusterstack:clusterstack"], new_name = "clusterstack", labels = ["CLUSTERSTACK"])
222217

capd.yaml

Lines changed: 0 additions & 2266 deletions
This file was deleted.

cmd/main.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import (
4444
runtimecatalog "sigs.k8s.io/cluster-api/exp/runtime/catalog"
4545
runtimehooksv1 "sigs.k8s.io/cluster-api/exp/runtime/hooks/api/v1alpha1"
4646
"sigs.k8s.io/cluster-api/exp/runtime/server"
47-
dockerv1beta1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta1"
4847
"sigs.k8s.io/cluster-api/util/record"
4948
ctrl "sigs.k8s.io/controller-runtime"
5049
"sigs.k8s.io/controller-runtime/pkg/cache"
@@ -67,7 +66,6 @@ func init() {
6766

6867
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
6968
utilruntime.Must(csov1alpha1.AddToScheme(scheme))
70-
utilruntime.Must(dockerv1beta1.AddToScheme(scheme))
7169
utilruntime.Must(clusterv1.AddToScheme(scheme))
7270
//+kubebuilder:scaffold:scheme
7371
}
@@ -227,7 +225,7 @@ func main() {
227225
CertDir: hookCertDir,
228226
})
229227
if err != nil {
230-
setupLog.Error(err, "error creating webhook server")
228+
setupLog.Error(err, "error creating hook server")
231229
os.Exit(1)
232230
}
233231

config/default/kustomization.yaml

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -20,55 +20,55 @@ patchesStrategicMerge:
2020
- webhookcainjection_patch.yaml
2121
- manager_pull_policy.yaml
2222
vars:
23-
- name: CERTIFICATE_NAMESPACE # namespace of the certificate CR
24-
objref:
25-
kind: Certificate
26-
group: cert-manager.io
27-
version: v1
28-
name: serving-cert # this name should match the one in certificate.yaml
29-
fieldref:
30-
fieldpath: metadata.namespace
31-
- name: HOOK_SERVER_CERTIFICATE_NAMESPACE # namespace of the certificate CR
32-
objref:
33-
kind: Certificate
34-
group: cert-manager.io
35-
version: v1
36-
name: hook-server-server-cert # this name should match the one in certificate.yaml
37-
fieldref:
38-
fieldpath: metadata.namespace
39-
- name: CERTIFICATE_NAME
40-
objref:
41-
kind: Certificate
42-
group: cert-manager.io
43-
version: v1
44-
name: serving-cert # this name should match the one in certificate.yaml
45-
- name: HOOK_SERVER_CERTIFICATE_NAME
46-
objref:
47-
kind: Certificate
48-
group: cert-manager.io
49-
version: v1
50-
name: hook-server-server-cert # this name should match the one in certificate.yaml
51-
- name: SERVICE_NAMESPACE # namespace of the service
52-
objref:
53-
kind: Service
54-
version: v1
55-
name: webhook-service
56-
fieldref:
57-
fieldpath: metadata.namespace
58-
- name: HOOK_SERVER_SERVICE_NAMESPACE # namespace of the service
59-
objref:
60-
kind: Service
61-
version: v1
62-
name: hook-server-svc
63-
fieldref:
64-
fieldpath: metadata.namespace
65-
- name: SERVICE_NAME
66-
objref:
67-
kind: Service
68-
version: v1
69-
name: webhook-service
70-
- name: HOOK_SERVER_SERVICE_NAME
71-
objref:
72-
kind: Service
73-
version: v1
74-
name: hook-server-svc
23+
- name: CERTIFICATE_NAMESPACE # namespace of the certificate CR
24+
objref:
25+
kind: Certificate
26+
group: cert-manager.io
27+
version: v1
28+
name: serving-cert # this name should match the one in certificate.yaml
29+
fieldref:
30+
fieldpath: metadata.namespace
31+
- name: HOOK_SERVER_CERTIFICATE_NAMESPACE # namespace of the certificate CR
32+
objref:
33+
kind: Certificate
34+
group: cert-manager.io
35+
version: v1
36+
name: hook-server-server-cert # this name should match the one in certificate.yaml
37+
fieldref:
38+
fieldpath: metadata.namespace
39+
- name: CERTIFICATE_NAME
40+
objref:
41+
kind: Certificate
42+
group: cert-manager.io
43+
version: v1
44+
name: serving-cert # this name should match the one in certificate.yaml
45+
- name: HOOK_SERVER_CERTIFICATE_NAME
46+
objref:
47+
kind: Certificate
48+
group: cert-manager.io
49+
version: v1
50+
name: hook-server-server-cert # this name should match the one in certificate.yaml
51+
- name: SERVICE_NAMESPACE # namespace of the service
52+
objref:
53+
kind: Service
54+
version: v1
55+
name: webhook-service
56+
fieldref:
57+
fieldpath: metadata.namespace
58+
- name: HOOK_SERVER_SERVICE_NAMESPACE # namespace of the service
59+
objref:
60+
kind: Service
61+
version: v1
62+
name: hook-server-svc
63+
fieldref:
64+
fieldpath: metadata.namespace
65+
- name: SERVICE_NAME
66+
objref:
67+
kind: Service
68+
version: v1
69+
name: webhook-service
70+
- name: HOOK_SERVER_SERVICE_NAME
71+
objref:
72+
kind: Service
73+
version: v1
74+
name: hook-server-svc

internal/controller/clusteraddon_controller.go

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ import (
7474

7575
const clusterAddonNamespace = "kube-system"
7676

77+
const (
78+
beforeClusterUpgradeHook = "BeforeClusterUpgrade"
79+
afterControlPlaneInitialized = "AfterControlPlaneInitialized"
80+
)
81+
7782
// RestConfigSettings contains Kubernetes rest config settings.
7883
type RestConfigSettings struct {
7984
QPS float32
@@ -344,8 +349,8 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
344349
if clusterAddon.Spec.ClusterStack != cluster.Spec.Topology.Class && oldRelease != nil && oldRelease.Meta.Versions.Kubernetes == releaseAsset.Meta.Versions.Kubernetes {
345350
if clusterAddon.Spec.Version != releaseAsset.Meta.Versions.Components.ClusterAddon {
346351
if clusterAddon.Status.Ready || len(clusterAddon.Status.Stages) == 0 {
347-
clusterAddon.Status.Stages = make([]csov1alpha1.StageStatus, len(clusterAddonConfig.AddonStages["BeforeClusterUpgrade"]))
348-
for i, stage := range clusterAddonConfig.AddonStages["BeforeClusterUpgrade"] {
352+
clusterAddon.Status.Stages = make([]csov1alpha1.StageStatus, len(clusterAddonConfig.AddonStages[beforeClusterUpgradeHook]))
353+
for i, stage := range clusterAddonConfig.AddonStages[beforeClusterUpgradeHook] {
349354
clusterAddon.Status.Stages[i].Name = stage.Name
350355
clusterAddon.Status.Stages[i].Action = stage.Action
351356
clusterAddon.Status.Stages[i].Phase = csov1alpha1.StagePhasePending
@@ -369,9 +374,9 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
369374
// In case the Kubernetes version stayed the same during an upgrade, the hook server does not trigger and
370375
// we just take the Helm charts that are supposed to be installed in the BeforeClusterUpgrade hook and apply them.
371376
if oldRelease != nil && oldRelease.Meta.Versions.Kubernetes == releaseAsset.Meta.Versions.Kubernetes {
372-
clusterAddon.Spec.Hook = "BeforeClusterUpgrade"
377+
clusterAddon.Spec.Hook = beforeClusterUpgradeHook
373378

374-
for _, stage := range clusterAddonConfig.AddonStages["BeforeClusterUpgrade"] {
379+
for _, stage := range clusterAddonConfig.AddonStages[beforeClusterUpgradeHook] {
375380
shouldRequeue, err := r.executeStage(ctx, stage, in)
376381
if err != nil {
377382
return reconcile.Result{}, fmt.Errorf("failed to execute stage: %w", err)
@@ -445,8 +450,8 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
445450
}
446451
}
447452

448-
if clusterAddon.Spec.Hook == "AfterControlPlaneInitialized" || clusterAddon.Spec.Hook == "BeforeClusterUpgrade" {
449-
if clusterAddon.Spec.Hook == "BeforeClusterUpgrade" {
453+
if clusterAddon.Spec.Hook == afterControlPlaneInitialized || clusterAddon.Spec.Hook == beforeClusterUpgradeHook {
454+
if clusterAddon.Spec.Hook == beforeClusterUpgradeHook {
450455
// create the list of old release objects
451456
oldClusterStackObjectList, err := r.getOldReleaseObjects(ctx, in, clusterAddonConfig, oldRelease)
452457
if err != nil {
@@ -570,9 +575,9 @@ func (r *ClusterAddonReconciler) getOldReleaseObjects(ctx context.Context, in *t
570575
)
571576

572577
if in.clusterAddon.HasStageAnnotation(csov1alpha1.StageAnnotationValueCreated) {
573-
hook = "AfterControlPlaneInitialized"
578+
hook = afterControlPlaneInitialized
574579
} else {
575-
hook = "BeforeClusterUpgrade"
580+
hook = beforeClusterUpgradeHook
576581
}
577582

578583
for _, stage := range clusterAddonConfig.AddonStages[hook] {
@@ -1332,7 +1337,7 @@ func clusterToClusterAddon(_ context.Context) handler.MapFunc {
13321337

13331338
func unTarContent(src, dst string) error {
13341339
// Create the target directory if it doesn't exist
1335-
if err := os.MkdirAll(dst, os.ModePerm); err != nil {
1340+
if err := os.MkdirAll(dst, os.ModePerm); err != nil { //nolint:gosec // ignore permissions
13361341
return fmt.Errorf("%q: creating directory: %w", dst, err)
13371342
}
13381343

@@ -1366,12 +1371,12 @@ func unTarContent(src, dst string) error {
13661371
switch header.Typeflag {
13671372
case tar.TypeDir:
13681373
// Create directories
1369-
if err := os.MkdirAll(targetPath, os.ModePerm); err != nil {
1374+
if err := os.MkdirAll(targetPath, os.ModePerm); err != nil { //nolint:gosec // ignore permissions
13701375
return fmt.Errorf("%q: creating directory: %w", targetPath, err)
13711376
}
13721377
case tar.TypeReg:
13731378
// Create regular files
1374-
if err := os.MkdirAll(filepath.Dir(targetPath), os.ModePerm); err != nil {
1379+
if err := os.MkdirAll(filepath.Dir(targetPath), os.ModePerm); err != nil { //nolint:gosec // ignore permissions
13751380
return fmt.Errorf("%q: creating directory: %w", filepath.Dir(targetPath), err)
13761381
}
13771382

internal/controller/clusteraddon_controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ var _ = Describe("ClusterAddonReconciler", func() {
6161
},
6262
}
6363

64-
testEnv.KubeClient.On("Apply", mock.Anything, mock.Anything, mock.Anything).Return([]*csov1alpha1.Resource{}, false, nil)
64+
testEnv.KubeClient.On("Apply", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]*csov1alpha1.Resource{}, false, nil)
6565
})
6666

6767
AfterEach(func() {
@@ -240,7 +240,7 @@ var _ = Describe("ClusterAddonReconciler", func() {
240240
}, timeout, interval).Should(BeTrue())
241241

242242
By("checking Update method was called")
243-
Expect(testEnv.KubeClient.AssertCalled(GinkgoT(), "Apply", mock.Anything, mock.Anything, mock.Anything)).To(BeTrue())
243+
Expect(testEnv.KubeClient.AssertCalled(GinkgoT(), "Apply", mock.Anything, mock.Anything, mock.Anything, mock.Anything)).To(BeTrue())
244244
})
245245

246246
It("should not call update if the ClusterAddon version does not change in the ClusterClass update", func() {

0 commit comments

Comments
 (0)