From c3963ed0ab85fd87936d196cf1c12bcf5b41b9da Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Wed, 23 Apr 2025 19:33:10 +0300 Subject: [PATCH 01/20] fix golangci-lint Signed-off-by: Nikita Korolev add current branch for debug Signed-off-by: Nikita Korolev add true Signed-off-by: Nikita Korolev add dbg Signed-off-by: Nikita Korolev add continue on error Signed-off-by: Nikita Korolev add print Signed-off-by: Nikita Korolev some fix Signed-off-by: Nikita Korolev rm some echo Signed-off-by: Nikita Korolev fix yaml format Signed-off-by: Nikita Korolev change output Signed-off-by: Nikita Korolev fix show errors Signed-off-by: Nikita Korolev fix error Signed-off-by: Nikita Korolev fix output Signed-off-by: Nikita Korolev add dbg msg Signed-off-by: Nikita Korolev --- .github/workflows/dev_module_build.yml | 50 ++++++++----------- images/virtualization-artifact/.golangci.yaml | 4 ++ .../cmd/virtualization-controller/main.go | 1 - .../pkg/common/testutil/testutil.go | 2 +- .../evacuation/evacuation_controller.go | 2 +- .../pkg/controller/vd/vd_controller.go | 1 - .../controller/vi/internal/life_cycle_test.go | 3 +- .../pkg/controller/vi/vi_controller.go | 1 - .../pkg/controller/vi/vi_webhook.go | 1 - .../vm/internal/block_device_condition.go | 2 +- .../vm/internal/sync_power_state_test.go | 3 +- .../vm/internal/watcher/vmsnapshot_watcher.go | 3 +- .../pkg/controller/vm/vm_controller.go | 1 - .../controller/vmop/internal/service/start.go | 1 - .../pkg/controller/vmop/vmop_controller.go | 1 - .../internal/handler/firmware_test.go | 2 +- .../internal/handler/nodeplacement_test.go | 2 +- .../workload_updater_controller.go | 1 - tools/addlicense/.golangci.yaml | 6 +-- tools/addlicense/go.mod | 2 +- 20 files changed, 37 insertions(+), 52 deletions(-) diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index 3cf8b9bbd3..de8a9209a7 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -38,6 +38,9 @@ on: type: number pull_request: types: [opened, reopened, synchronize, labeled, unlabeled] + branches: + - main + - chore/core/qemu-self-builded-binaries-to-images push: branches: - main @@ -197,9 +200,11 @@ jobs: - name: Lint all directories with golangci-lint id: linters - # continue-on-error: true + continue-on-error: true shell: bash run: | + set -eo pipefail + # Find directories containing .golangci.yaml mapfile -t config_dirs < <(find . -type f -name '.golangci.yaml' -printf '%h\0' | xargs -0 -n1 | sort -u) count=${#config_dirs[@]} @@ -207,44 +212,30 @@ jobs: report="" error_count=0 - find_errors=0 for dir in "${config_dirs[@]}"; do - # echo "::group::📂 Linting directory: $dir" - # cd "$dir" || { echo "::error::Failed to access directory $dir"; exit 1; } - + find_errors=0 cd "$dir" || { echo "::error::Failed to access directory $dir"; continue; } - # Run linter with multiple formats - - output=$(golangci-lint run --out-format=json 2>/dev/null | jq '{warning: .Report.Warnings, error: .Report.Error}' || true) - find_errors=$(echo $output | jq '.error | select(.!=null)' | wc -l) - - # Track errors - if [ $find_errors -ne 0 ]; then + if ! output=$(golangci-lint run --sort-results); then error_count=$(( error_count + 1 )) + # find_errors=$(( find_errors + 1 )) echo "::group::📂 Linting directory ❌: $dir" + echo -e "❌ Errors:\n$output\n" + echo "== debug ==" + golangci-lint run --sort-results || true else echo "::group::📂 Linting directory ✅: $dir" - fi - - report_out_warning=$(echo $output | jq '.warning') - report_out_error=$(echo $output | jq '.error') - - # Build report section - report+="\n\n### Directory: $dir\n" - report+="Find Errors: $find_errors\n" - report+="Output:\n\`\`\`\n$report_out_warning\n$report_out_error\n\`\`\`\n" - report+="---\n" - - cd - &>/dev/null - - if [ $find_errors -ne 0 ]; then - echo -e "⚠️ Warnings:\n$report_out_warning" - echo -e "❌ Errors:\n$report_out_error\n" - else echo -e "✅ All check passed\n" fi + + # if [ $find_errors -ne 0 ]; then + # echo -e "❌ Errors:\n$output\n" + # else + # echo -e "✅ All check passed\n" + # fi + + cd - &>/dev/null echo "::endgroup::" done @@ -255,6 +246,7 @@ jobs: echo "has_errors=$has_errors" >> "$GITHUB_OUTPUT" if [ $error_count -gt 0 ]; then + echo "$error_count error more than 0, exit 1" exit 1 fi diff --git a/images/virtualization-artifact/.golangci.yaml b/images/virtualization-artifact/.golangci.yaml index 0867b18310..bac8ccee26 100644 --- a/images/virtualization-artifact/.golangci.yaml +++ b/images/virtualization-artifact/.golangci.yaml @@ -7,6 +7,10 @@ issues: max-same-issues: 0 exclude: - "don't use an underscore in package name" + # exclude-rules: + # - linters: + # - stylecheck + # text: "ST1003:" output: sort-results: true diff --git a/images/virtualization-artifact/cmd/virtualization-controller/main.go b/images/virtualization-artifact/cmd/virtualization-controller/main.go index 2c86e84209..05b5816fdb 100644 --- a/images/virtualization-artifact/cmd/virtualization-controller/main.go +++ b/images/virtualization-artifact/cmd/virtualization-controller/main.go @@ -38,7 +38,6 @@ import ( metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "github.com/deckhouse/deckhouse/pkg/log" - appconfig "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/cvi" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation" diff --git a/images/virtualization-artifact/pkg/common/testutil/testutil.go b/images/virtualization-artifact/pkg/common/testutil/testutil.go index 842bebe2af..1785bf86e4 100644 --- a/images/virtualization-artifact/pkg/common/testutil/testutil.go +++ b/images/virtualization-artifact/pkg/common/testutil/testutil.go @@ -21,7 +21,6 @@ import ( "log/slog" "reflect" - "github.com/deckhouse/deckhouse/pkg/log" "github.com/go-logr/logr" apiruntime "k8s.io/apimachinery/pkg/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" @@ -30,6 +29,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/fake" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/indexer" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go index 3ea8fd04bc..be61259b29 100644 --- a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go +++ b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go @@ -20,11 +20,11 @@ import ( "context" "time" - "github.com/deckhouse/deckhouse/pkg/log" "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/manager" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/logger" "github.com/deckhouse/virtualization/api/client/kubeclient" diff --git a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go index 427889c11f..6aa412e8e5 100644 --- a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go +++ b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go index eb70c35f3d..f2ca0daf0c 100644 --- a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go +++ b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go @@ -22,9 +22,8 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/reconcile" - "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/reconcile" "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal/source" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go index 3a02fbc9c9..24fc691b6b 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go index 8c1c1def89..ce56c2ccca 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/blockdevice" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go index 45c6ca3794..916923ab37 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go @@ -96,7 +96,7 @@ func (h *BlockDeviceHandler) getStatusMessage(diskState virtualDisksState, vds m "Waiting for block devices to be ready to use: %d/%d", diskState.counts.readyToUse, summaryCount)) - addUsageMessage := func(count int, name string, usageType string) { + addUsageMessage := func(count int, name, usageType string) { if count == 0 { return } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go index 5d5dcc5a28..361316b63d 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go @@ -27,9 +27,8 @@ import ( virtv1 "kubevirt.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - "github.com/deckhouse/virtualization-controller/pkg/common/testutil" - "github.com/deckhouse/virtualization-controller/pkg/common/annotations" + "github.com/deckhouse/virtualization-controller/pkg/common/testutil" "github.com/deckhouse/virtualization-controller/pkg/controller/powerstate" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal/state" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go index 73e784daa0..4653c26e12 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go @@ -34,8 +34,7 @@ import ( virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) -type VirtualMachineSnapshotWatcher struct { -} +type VirtualMachineSnapshotWatcher struct{} func NewVirtualMachineSnapshotWatcher() *VirtualMachineSnapshotWatcher { return &VirtualMachineSnapshotWatcher{} diff --git a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go index a1ae262722..b7746c6020 100644 --- a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go +++ b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/ipam" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal" diff --git a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go index 2addea36a2..089d6ee850 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go +++ b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go @@ -54,7 +54,6 @@ func (o StartOperation) Cancel(_ context.Context) (bool, error) { func (o StartOperation) IsApplicableForVMPhase(phase virtv2.MachinePhase) bool { return phase == virtv2.MachineStopped || phase == virtv2.MachineStopping - } func (o StartOperation) IsApplicableForRunPolicy(runPolicy virtv2.RunPolicy) bool { diff --git a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go index eaba83afb2..a6be2893ea 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/vmop/internal" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" "github.com/deckhouse/virtualization-controller/pkg/logger" diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go index 8e2860f288..62f6326542 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go @@ -103,7 +103,7 @@ var _ = Describe("TestFirmwareHandler", func() { fakeClient, _ = setupEnvironment(vm, deploy) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go index 532937289f..eb172091d1 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go @@ -70,7 +70,7 @@ var _ = Describe("TestNodePlacementHandler", func() { fakeClient, _ = setupEnvironment(vm, kvvmi) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go index 86b11bb940..cbccb0888f 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go @@ -25,7 +25,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/service" "github.com/deckhouse/virtualization-controller/pkg/logger" diff --git a/tools/addlicense/.golangci.yaml b/tools/addlicense/.golangci.yaml index 62c948ee7a..f3105263a9 100644 --- a/tools/addlicense/.golangci.yaml +++ b/tools/addlicense/.golangci.yaml @@ -1,7 +1,7 @@ run: concurrency: 4 timeout: 2m - skip-dirs: + exclude-dirs: - docs - scripts @@ -19,7 +19,7 @@ linters-settings: comparison: false asserts: false errcheck: - ignore: fmt:.*,[rR]ead|[wW]rite|[cC]lose,io:Copy + igexclude-functions: fmt:.*,[rR]ead|[wW]rite|[cC]lose,io:Copy linters: disable-all: true @@ -35,7 +35,7 @@ linters: - bodyclose - errname - errorlint - - looppointer + - copyloopvar - gci - gocritic - gofumpt diff --git a/tools/addlicense/go.mod b/tools/addlicense/go.mod index d975744de0..88a90e68e7 100644 --- a/tools/addlicense/go.mod +++ b/tools/addlicense/go.mod @@ -1,6 +1,6 @@ module addlicense -go 1.21.4 +go 1.22.7 require github.com/stretchr/testify v1.9.0 From db3bae58f8ce98da246b0a57f4394ac24362cda6 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 17:17:15 +0300 Subject: [PATCH 02/20] rm changes Signed-off-by: Nikita Korolev --- images/virtualization-artifact/.golangci.yaml | 4 ---- .../cmd/virtualization-controller/main.go | 1 + .../virtualization-artifact/pkg/common/testutil/testutil.go | 2 +- .../pkg/controller/evacuation/evacuation_controller.go | 2 +- .../pkg/controller/vd/vd_controller.go | 1 + .../pkg/controller/vi/internal/life_cycle_test.go | 3 ++- .../pkg/controller/vi/vi_controller.go | 1 + .../virtualization-artifact/pkg/controller/vi/vi_webhook.go | 1 + .../pkg/controller/vm/internal/block_device_condition.go | 2 +- .../pkg/controller/vm/internal/sync_power_state_test.go | 3 ++- .../pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go | 3 ++- .../pkg/controller/vm/vm_controller.go | 1 + .../pkg/controller/vmop/internal/service/start.go | 1 + .../pkg/controller/vmop/vmop_controller.go | 1 + .../workload-updater/internal/handler/firmware_test.go | 2 +- .../workload-updater/internal/handler/nodeplacement_test.go | 2 +- .../workload-updater/workload_updater_controller.go | 1 + 17 files changed, 19 insertions(+), 12 deletions(-) diff --git a/images/virtualization-artifact/.golangci.yaml b/images/virtualization-artifact/.golangci.yaml index bac8ccee26..0867b18310 100644 --- a/images/virtualization-artifact/.golangci.yaml +++ b/images/virtualization-artifact/.golangci.yaml @@ -7,10 +7,6 @@ issues: max-same-issues: 0 exclude: - "don't use an underscore in package name" - # exclude-rules: - # - linters: - # - stylecheck - # text: "ST1003:" output: sort-results: true diff --git a/images/virtualization-artifact/cmd/virtualization-controller/main.go b/images/virtualization-artifact/cmd/virtualization-controller/main.go index 05b5816fdb..2c86e84209 100644 --- a/images/virtualization-artifact/cmd/virtualization-controller/main.go +++ b/images/virtualization-artifact/cmd/virtualization-controller/main.go @@ -38,6 +38,7 @@ import ( metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "github.com/deckhouse/deckhouse/pkg/log" + appconfig "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/cvi" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation" diff --git a/images/virtualization-artifact/pkg/common/testutil/testutil.go b/images/virtualization-artifact/pkg/common/testutil/testutil.go index 1785bf86e4..842bebe2af 100644 --- a/images/virtualization-artifact/pkg/common/testutil/testutil.go +++ b/images/virtualization-artifact/pkg/common/testutil/testutil.go @@ -21,6 +21,7 @@ import ( "log/slog" "reflect" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/go-logr/logr" apiruntime "k8s.io/apimachinery/pkg/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" @@ -29,7 +30,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/fake" - "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/indexer" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go index be61259b29..3ea8fd04bc 100644 --- a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go +++ b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go @@ -20,11 +20,11 @@ import ( "context" "time" + "github.com/deckhouse/deckhouse/pkg/log" "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/manager" - "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/logger" "github.com/deckhouse/virtualization/api/client/kubeclient" diff --git a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go index 6aa412e8e5..427889c11f 100644 --- a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go +++ b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go @@ -28,6 +28,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go index f2ca0daf0c..eb70c35f3d 100644 --- a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go +++ b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go @@ -22,9 +22,10 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/client" + "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal/source" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go index 24fc691b6b..3a02fbc9c9 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go @@ -27,6 +27,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go index ce56c2ccca..8c1c1def89 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go @@ -28,6 +28,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/common/blockdevice" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go index 916923ab37..45c6ca3794 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go @@ -96,7 +96,7 @@ func (h *BlockDeviceHandler) getStatusMessage(diskState virtualDisksState, vds m "Waiting for block devices to be ready to use: %d/%d", diskState.counts.readyToUse, summaryCount)) - addUsageMessage := func(count int, name, usageType string) { + addUsageMessage := func(count int, name string, usageType string) { if count == 0 { return } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go index 361316b63d..5d5dcc5a28 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go @@ -27,8 +27,9 @@ import ( virtv1 "kubevirt.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - "github.com/deckhouse/virtualization-controller/pkg/common/annotations" "github.com/deckhouse/virtualization-controller/pkg/common/testutil" + + "github.com/deckhouse/virtualization-controller/pkg/common/annotations" "github.com/deckhouse/virtualization-controller/pkg/controller/powerstate" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal/state" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go index 4653c26e12..73e784daa0 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go @@ -34,7 +34,8 @@ import ( virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) -type VirtualMachineSnapshotWatcher struct{} +type VirtualMachineSnapshotWatcher struct { +} func NewVirtualMachineSnapshotWatcher() *VirtualMachineSnapshotWatcher { return &VirtualMachineSnapshotWatcher{} diff --git a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go index b7746c6020..a1ae262722 100644 --- a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go +++ b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go @@ -27,6 +27,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/controller/ipam" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal" diff --git a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go index 089d6ee850..2addea36a2 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go +++ b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go @@ -54,6 +54,7 @@ func (o StartOperation) Cancel(_ context.Context) (bool, error) { func (o StartOperation) IsApplicableForVMPhase(phase virtv2.MachinePhase) bool { return phase == virtv2.MachineStopped || phase == virtv2.MachineStopping + } func (o StartOperation) IsApplicableForRunPolicy(runPolicy virtv2.RunPolicy) bool { diff --git a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go index a6be2893ea..eaba83afb2 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go @@ -28,6 +28,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/controller/vmop/internal" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" "github.com/deckhouse/virtualization-controller/pkg/logger" diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go index 62f6326542..8e2860f288 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go @@ -103,7 +103,7 @@ var _ = Describe("TestFirmwareHandler", func() { fakeClient, _ = setupEnvironment(vm, deploy) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go index eb172091d1..532937289f 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go @@ -70,7 +70,7 @@ var _ = Describe("TestNodePlacementHandler", func() { fakeClient, _ = setupEnvironment(vm, kvvmi) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go index cbccb0888f..86b11bb940 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go @@ -25,6 +25,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" + "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/service" "github.com/deckhouse/virtualization-controller/pkg/logger" From cfdbc02953118d090bffb73e369802ed544b15b9 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 17:33:20 +0300 Subject: [PATCH 03/20] run golint Signed-off-by: Nikita Korolev --- .../cmd/virtualization-controller/main.go | 1 - .../virtualization-artifact/pkg/common/testutil/testutil.go | 2 +- .../pkg/controller/evacuation/evacuation_controller.go | 2 +- .../pkg/controller/livemigration/live_migration_reconciler.go | 1 - .../pkg/controller/vd/internal/protection_test.go | 4 ++-- .../pkg/controller/vd/internal/source/object_ref_vi_pvc.go | 1 - .../pkg/controller/vd/vd_controller.go | 1 - .../pkg/controller/vi/internal/life_cycle_test.go | 3 +-- .../pkg/controller/vi/vi_controller.go | 1 - .../virtualization-artifact/pkg/controller/vi/vi_webhook.go | 1 - .../pkg/controller/vm/internal/agent_test.go | 3 +-- .../pkg/controller/vm/internal/block_device_condition.go | 2 +- .../pkg/controller/vm/internal/migrating.go | 3 +-- .../pkg/controller/vm/internal/size_policy_test.go | 1 - .../pkg/controller/vm/internal/sync_power_state.go | 1 - .../pkg/controller/vm/internal/sync_power_state_test.go | 3 +-- .../pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go | 3 +-- .../pkg/controller/vm/vm_controller.go | 1 - .../virtualization-artifact/pkg/controller/vm/vm_webhook.go | 1 - .../pkg/controller/vmclass/internal/deletion.go | 1 - .../pkg/controller/vmclass/internal/watcher/node_watcher.go | 3 +-- .../pkg/controller/vmip/internal/bound_handler.go | 2 +- .../pkg/controller/vmip/internal/bound_handler_test.go | 1 - .../pkg/controller/vmip/internal/watcher/vm_watcher.go | 2 +- .../pkg/controller/vmip/internal/watcher/vmiplease_watcher.go | 2 +- .../pkg/controller/vmip/vmip_controller.go | 1 - .../pkg/controller/vmip/vmip_webhook.go | 1 - .../pkg/controller/vmiplease/internal/watcher/vmip_watcher.go | 1 - .../pkg/controller/vmiplease/vmiplease_controller.go | 1 - .../pkg/controller/vmiplease/vmiplease_webhook.go | 1 - .../pkg/controller/vmop/internal/service/start.go | 1 - .../pkg/controller/vmop/vmop_controller.go | 1 - .../workload-updater/internal/handler/firmware_test.go | 2 +- .../workload-updater/internal/handler/nodeplacement_test.go | 2 +- .../workload-updater/workload_updater_controller.go | 1 - 35 files changed, 16 insertions(+), 42 deletions(-) diff --git a/images/virtualization-artifact/cmd/virtualization-controller/main.go b/images/virtualization-artifact/cmd/virtualization-controller/main.go index 2c86e84209..05b5816fdb 100644 --- a/images/virtualization-artifact/cmd/virtualization-controller/main.go +++ b/images/virtualization-artifact/cmd/virtualization-controller/main.go @@ -38,7 +38,6 @@ import ( metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" "github.com/deckhouse/deckhouse/pkg/log" - appconfig "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/cvi" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation" diff --git a/images/virtualization-artifact/pkg/common/testutil/testutil.go b/images/virtualization-artifact/pkg/common/testutil/testutil.go index 842bebe2af..1785bf86e4 100644 --- a/images/virtualization-artifact/pkg/common/testutil/testutil.go +++ b/images/virtualization-artifact/pkg/common/testutil/testutil.go @@ -21,7 +21,6 @@ import ( "log/slog" "reflect" - "github.com/deckhouse/deckhouse/pkg/log" "github.com/go-logr/logr" apiruntime "k8s.io/apimachinery/pkg/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" @@ -30,6 +29,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/fake" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/indexer" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go index 3ea8fd04bc..be61259b29 100644 --- a/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go +++ b/images/virtualization-artifact/pkg/controller/evacuation/evacuation_controller.go @@ -20,11 +20,11 @@ import ( "context" "time" - "github.com/deckhouse/deckhouse/pkg/log" "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/manager" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/evacuation/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/logger" "github.com/deckhouse/virtualization/api/client/kubeclient" diff --git a/images/virtualization-artifact/pkg/controller/livemigration/live_migration_reconciler.go b/images/virtualization-artifact/pkg/controller/livemigration/live_migration_reconciler.go index dc1e5e915a..e99e32ddf3 100644 --- a/images/virtualization-artifact/pkg/controller/livemigration/live_migration_reconciler.go +++ b/images/virtualization-artifact/pkg/controller/livemigration/live_migration_reconciler.go @@ -89,7 +89,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (reco return h.Handle(ctx, kvvmi.Changed()) }) rec.SetResourceUpdater(func(ctx context.Context) error { - patchBytes, err := livemigration.GenerateMigrationConfigurationPatch(kvvmi.Current(), kvvmi.Changed()) if err != nil { return err diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/protection_test.go b/images/virtualization-artifact/pkg/controller/vd/internal/protection_test.go index 640cbd8f44..5d68c190ea 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/protection_test.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/protection_test.go @@ -19,14 +19,14 @@ package internal import ( "context" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" virtv1 "kubevirt.io/api/core/v1" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" ) var _ = Describe("The protection handler test", func() { diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_pvc.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_pvc.go index 504e8a5afd..23d04e7883 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_pvc.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_pvc.go @@ -279,7 +279,6 @@ func (ds ObjectRefVirtualImagePVC) CleanUpSupplements(ctx context.Context, vd *v return reconcile.Result{RequeueAfter: time.Second}, nil } else { return reconcile.Result{}, nil - } } diff --git a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go index 427889c11f..6aa412e8e5 100644 --- a/images/virtualization-artifact/pkg/controller/vd/vd_controller.go +++ b/images/virtualization-artifact/pkg/controller/vd/vd_controller.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go index eb70c35f3d..f2ca0daf0c 100644 --- a/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go +++ b/images/virtualization-artifact/pkg/controller/vi/internal/life_cycle_test.go @@ -22,9 +22,8 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/reconcile" - "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/reconcile" "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal/source" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go index 3a02fbc9c9..24fc691b6b 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_controller.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_controller.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/config" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vi/internal" diff --git a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go index 8c1c1def89..ce56c2ccca 100644 --- a/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vi/vi_webhook.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/blockdevice" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/agent_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/agent_test.go index 9f3eb9f543..0846898d62 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/agent_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/agent_test.go @@ -22,7 +22,6 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" virtv1 "kubevirt.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" @@ -61,7 +60,7 @@ var _ = Describe("AgentHandler Tests", func() { return vm } - newKVVMI := func(agentConnected bool, agentUnsupported bool) *virtv1.VirtualMachineInstance { + newKVVMI := func(agentConnected, agentUnsupported bool) *virtv1.VirtualMachineInstance { kvvmi := newEmptyKVVMI(name, namespace) conditions := make([]virtv1.VirtualMachineInstanceCondition, 0) if agentConnected { diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go index 45c6ca3794..916923ab37 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_condition.go @@ -96,7 +96,7 @@ func (h *BlockDeviceHandler) getStatusMessage(diskState virtualDisksState, vds m "Waiting for block devices to be ready to use: %d/%d", diskState.counts.readyToUse, summaryCount)) - addUsageMessage := func(count int, name string, usageType string) { + addUsageMessage := func(count int, name, usageType string) { if count == 0 { return } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/migrating.go b/images/virtualization-artifact/pkg/controller/vm/internal/migrating.go index 463fa0dc80..2d80a4496d 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/migrating.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/migrating.go @@ -37,8 +37,7 @@ import ( const nameMigratingHandler = "MigratingHandler" -type MigratingHandler struct { -} +type MigratingHandler struct{} func NewMigratingHandler() *MigratingHandler { return &MigratingHandler{} diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/size_policy_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/size_policy_test.go index 63b6aac1e5..1310a511a7 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/size_policy_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/size_policy_test.go @@ -21,7 +21,6 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go index 91042fd295..02224d5ac8 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go @@ -152,7 +152,6 @@ func (h *SyncPowerStateHandler) syncPowerState( if exist && cbAwaitingRestart.Status == metav1.ConditionTrue && cbAwaitingRestart.ObservedGeneration == vm.GetGeneration() && vm.Spec.Disruptions.RestartApprovalMode == virtv2.Automatic { - log := logger.FromContext(ctx) h.recorder.WithLogging(log).Event(vm, corev1.EventTypeNormal, virtv2.ReasonVMChangesApplied, "Apply disruptive changes with restart") h.recorder.WithLogging(log).Event( diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go index 5d5dcc5a28..361316b63d 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go @@ -27,9 +27,8 @@ import ( virtv1 "kubevirt.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - "github.com/deckhouse/virtualization-controller/pkg/common/testutil" - "github.com/deckhouse/virtualization-controller/pkg/common/annotations" + "github.com/deckhouse/virtualization-controller/pkg/common/testutil" "github.com/deckhouse/virtualization-controller/pkg/controller/powerstate" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal/state" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go index 73e784daa0..4653c26e12 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/vmsnapshot_watcher.go @@ -34,8 +34,7 @@ import ( virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) -type VirtualMachineSnapshotWatcher struct { -} +type VirtualMachineSnapshotWatcher struct{} func NewVirtualMachineSnapshotWatcher() *VirtualMachineSnapshotWatcher { return &VirtualMachineSnapshotWatcher{} diff --git a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go index a1ae262722..b7746c6020 100644 --- a/images/virtualization-artifact/pkg/controller/vm/vm_controller.go +++ b/images/virtualization-artifact/pkg/controller/vm/vm_controller.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/ipam" "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal" diff --git a/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go b/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go index 6ab8e7171c..17e0c8a215 100644 --- a/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go @@ -25,7 +25,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/service" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal" "github.com/deckhouse/virtualization-controller/pkg/controller/vm/internal/validators" diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/deletion.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/deletion.go index 9e292f12a8..6795684062 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/deletion.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/deletion.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/object" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" "github.com/deckhouse/virtualization-controller/pkg/controller/vmclass/internal/state" diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/watcher/node_watcher.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/watcher/node_watcher.go index 3a6f4e7fed..add4cdfd46 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/watcher/node_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/watcher/node_watcher.go @@ -21,9 +21,8 @@ import ( "maps" "slices" - "k8s.io/component-helpers/scheduling/corev1/nodeaffinity" - corev1 "k8s.io/api/core/v1" + "k8s.io/component-helpers/scheduling/corev1/nodeaffinity" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" "sigs.k8s.io/controller-runtime/pkg/event" diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler.go b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler.go index 3fedbb6f85..03c52a4732 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler.go @@ -53,7 +53,7 @@ func (h *BoundHandler) Handle(ctx context.Context, vmip *virtv2.VirtualMachineIP lease, err := h.ipService.GetLease(ctx, vmip) if err != nil { - err = fmt.Errorf("error occured: %w", err) + err = fmt.Errorf("error occurred: %w", err) cb. Status(metav1.ConditionFalse). Reason(vmipcondition.VirtualMachineIPAddressLeaseNotReady). diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go index 1ac440fe89..3460eac27b 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go @@ -25,7 +25,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" virtv1 "kubevirt.io/api/core/v1" - "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/fake" "sigs.k8s.io/controller-runtime/pkg/client/interceptor" diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vm_watcher.go b/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vm_watcher.go index 8ad093d845..dd6bde2c41 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vm_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vm_watcher.go @@ -21,7 +21,6 @@ import ( "fmt" "strings" - "github.com/deckhouse/deckhouse/pkg/log" "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" @@ -32,6 +31,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" "sigs.k8s.io/controller-runtime/pkg/source" + "github.com/deckhouse/deckhouse/pkg/log" "github.com/deckhouse/virtualization-controller/pkg/controller/indexer" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vmiplease_watcher.go b/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vmiplease_watcher.go index 4da65a2c32..b35f03da51 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vmiplease_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/watcher/vmiplease_watcher.go @@ -21,7 +21,6 @@ import ( "fmt" "strings" - "github.com/deckhouse/deckhouse/pkg/log" "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" @@ -32,6 +31,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" "sigs.k8s.io/controller-runtime/pkg/source" + "github.com/deckhouse/deckhouse/pkg/log" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go index 1e386ccbfe..f7460b6619 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go @@ -26,7 +26,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/vmip/internal" "github.com/deckhouse/virtualization-controller/pkg/controller/vmip/internal/service" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go index 002bccc1ac..2f2d9d5e35 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go @@ -29,7 +29,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/ip" "github.com/deckhouse/virtualization-controller/pkg/common/object" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" diff --git a/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go b/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go index 16785736f4..14fb721fee 100644 --- a/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go @@ -32,7 +32,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/source" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/ip" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_controller.go b/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_controller.go index b3694e40af..b5b3c4aad9 100644 --- a/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_controller.go @@ -27,7 +27,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/vmiplease/internal" "github.com/deckhouse/virtualization-controller/pkg/logger" "github.com/deckhouse/virtualization/api/core/v1alpha2" diff --git a/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_webhook.go b/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_webhook.go index bd648200f5..21a9ef448a 100644 --- a/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vmiplease/vmiplease_webhook.go @@ -25,7 +25,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/common/ip" "github.com/deckhouse/virtualization/api/core/v1alpha2" ) diff --git a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go index 2addea36a2..089d6ee850 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go +++ b/images/virtualization-artifact/pkg/controller/vmop/internal/service/start.go @@ -54,7 +54,6 @@ func (o StartOperation) Cancel(_ context.Context) (bool, error) { func (o StartOperation) IsApplicableForVMPhase(phase virtv2.MachinePhase) bool { return phase == virtv2.MachineStopped || phase == virtv2.MachineStopping - } func (o StartOperation) IsApplicableForRunPolicy(runPolicy virtv2.RunPolicy) bool { diff --git a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go index eaba83afb2..a6be2893ea 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmop/vmop_controller.go @@ -28,7 +28,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/metrics" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/vmop/internal" "github.com/deckhouse/virtualization-controller/pkg/eventrecord" "github.com/deckhouse/virtualization-controller/pkg/logger" diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go index 8e2860f288..62f6326542 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go @@ -103,7 +103,7 @@ var _ = Describe("TestFirmwareHandler", func() { fakeClient, _ = setupEnvironment(vm, deploy) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go index 532937289f..eb172091d1 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go @@ -70,7 +70,7 @@ var _ = Describe("TestNodePlacementHandler", func() { fakeClient, _ = setupEnvironment(vm, kvvmi) mockMigration := &OneShotMigrationMock{ - OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey string, annotationExpectedValue string) (bool, error) { + OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { return true, serviceCompleteErr }, } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go index 86b11bb940..cbccb0888f 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/workload_updater_controller.go @@ -25,7 +25,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "github.com/deckhouse/deckhouse/pkg/log" - "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/handler" "github.com/deckhouse/virtualization-controller/pkg/controller/workload-updater/internal/service" "github.com/deckhouse/virtualization-controller/pkg/logger" From dbdf2f83b88c33ee5897d48963b788740f23ee4c Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 17:48:14 +0300 Subject: [PATCH 04/20] fix - is unused Signed-off-by: Nikita Korolev --- .../pkg/apiserver/registry/vm/rest/add_volume.go | 2 +- .../pkg/apiserver/registry/vm/rest/cancel-evacuation.go | 2 +- .../pkg/apiserver/registry/vm/rest/console.go | 2 +- .../pkg/apiserver/registry/vm/rest/freeze.go | 1 - .../pkg/apiserver/registry/vm/rest/portforward.go | 1 - .../pkg/apiserver/registry/vm/rest/remove_volume.go | 2 +- .../pkg/apiserver/registry/vm/rest/stream.go | 2 -- .../pkg/apiserver/registry/vm/rest/unfreeze.go | 1 - .../pkg/apiserver/registry/vm/rest/vnc.go | 1 - 9 files changed, 4 insertions(+), 10 deletions(-) diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go index 619553c05e..cf2924b4bb 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go @@ -198,7 +198,7 @@ func AddVolumeLocation( proxyCertManager certmanager.CertificateManager, addVolumePather pather, ) (*url.URL, *http.Transport, error) { - return streamLocation(ctx, getter, name, opts, addVolumePather, kubevirt, proxyCertManager) + return streamLocation(ctx, getter, name, addVolumePather, kubevirt, proxyCertManager) } type VirtualMachineVolumeRequest struct { diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go index d341d9a3b7..716ba6e5a5 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go @@ -113,5 +113,5 @@ func CancelEvacuationRESTRESTLocation( proxyCertManager certmanager.CertificateManager, cancelEvacuationPather pather, ) (*url.URL, *http.Transport, error) { - return streamLocation(ctx, getter, name, opts, cancelEvacuationPather, kubevirt, proxyCertManager) + return streamLocation(ctx, getter, name, cancelEvacuationPather, kubevirt, proxyCertManager) } diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go index 4770f1756f..2e32a21676 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go @@ -37,6 +37,7 @@ type ConsoleREST struct { kubevirt KubevirtApiServerConfig } +//nolint:stylecheck // TODO: fix type KubevirtApiServerConfig struct { Endpoint string CaBundlePath string @@ -100,7 +101,6 @@ func ConsoleLocation( ctx, getter, name, - opts, newKVVMIPather("console"), kubevirt, proxyCertManager, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go index 16605f53d5..27c13563b2 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go @@ -91,7 +91,6 @@ func FreezeLocation( ctx, getter, name, - opts, newKVVMIPather("freeze"), kubevirt, proxyCertManager, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go index b74c4f7900..32a8ab9ddf 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go @@ -96,7 +96,6 @@ func PortForwardLocation( ctx, getter, name, - opts, newKVVMIPather(streamPath), kubevirt, proxyCertManager, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go index f279a4ecb2..f64cce27e3 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go @@ -125,5 +125,5 @@ func RemoveVolumeRESTLocation( proxyCertManager certmanager.CertificateManager, removeVolumePather pather, ) (*url.URL, *http.Transport, error) { - return streamLocation(ctx, getter, name, opts, removeVolumePather, kubevirt, proxyCertManager) + return streamLocation(ctx, getter, name, removeVolumePather, kubevirt, proxyCertManager) } diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go index c9ecc12356..94ecf29632 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go @@ -27,7 +27,6 @@ import ( "net/url" "os" - "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/proxy" "k8s.io/apiserver/pkg/endpoints/request" @@ -83,7 +82,6 @@ func streamLocation( ctx context.Context, getter virtlisters.VirtualMachineLister, name string, - opts runtime.Object, pather pather, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go index cda3a5d732..cf204369fc 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go @@ -91,7 +91,6 @@ func UnfreezeLocation( ctx, getter, name, - opts, newKVVMIPather("unfreeze"), kubevirt, proxyCertManager, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go index 9fbfd793b3..f44381a2b3 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go @@ -93,7 +93,6 @@ func VNCLocation( ctx, getter, name, - opts, newKVVMIPather("vnc"), kubevirt, proxyCertManager, From 25fd4266405e105618555388075264b503389651 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 18:35:04 +0300 Subject: [PATCH 05/20] add comments to fix linter issues Signed-off-by: Nikita Korolev --- .../pkg/audit/events/forbid/forbid_test.go | 4 +--- .../pkg/audit/events/vm/vm_event_log.go | 2 +- .../pkg/common/annotations/annotations.go | 4 ++-- images/virtualization-artifact/pkg/common/consts.go | 2 +- .../pkg/common/humanize_bytes/humanize_bytes.go | 2 +- .../pkg/common/humanize_bytes/humanize_bytes_test.go | 2 +- images/virtualization-artifact/pkg/common/ip/ip.go | 2 +- images/virtualization-artifact/pkg/common/patch/patch.go | 4 ++++ images/virtualization-artifact/pkg/common/pod/pod.go | 2 +- .../pkg/common/resource_builder/builder.go | 2 +- images/virtualization-artifact/pkg/config/load_gc_settings.go | 4 ++-- .../pkg/config/load_kubevirt_apiserver_settings.go | 4 ++-- .../pkg/controller/controller_suite_test.go | 1 + 13 files changed, 19 insertions(+), 16 deletions(-) diff --git a/images/virtualization-artifact/pkg/audit/events/forbid/forbid_test.go b/images/virtualization-artifact/pkg/audit/events/forbid/forbid_test.go index 8b600320cf..b86226a3a5 100644 --- a/images/virtualization-artifact/pkg/audit/events/forbid/forbid_test.go +++ b/images/virtualization-artifact/pkg/audit/events/forbid/forbid_test.go @@ -117,9 +117,7 @@ var _ = Describe("Forbid Events", func() { }) eventLoggerOptions := events.EventLoggerOptionsMock{ - GetCtxFunc: func() context.Context { - return context.Background() - }, + GetCtxFunc: context.Background, GetEventFunc: func() *audit.Event { return event }, diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go b/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go index f954eb4cf3..5e2badd05e 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go @@ -38,7 +38,7 @@ type VMEventLog struct { Level string `json:"level"` Name string `json:"name"` Datetime string `json:"datetime"` - Uid string `json:"uid"` + Uid string `json:"uid"` //nolint:stylecheck //TODO: fix RequestSubject string `json:"request_subject"` ActionType string `json:"action_type"` diff --git a/images/virtualization-artifact/pkg/common/annotations/annotations.go b/images/virtualization-artifact/pkg/common/annotations/annotations.go index 0d9c82e9e2..676c28c6b9 100644 --- a/images/virtualization-artifact/pkg/common/annotations/annotations.go +++ b/images/virtualization-artifact/pkg/common/annotations/annotations.go @@ -80,10 +80,10 @@ const ( AnnOsType = AnnAPIGroupV + "/os-type" // AnnVmStartRequested is an annotation on KVVM that represents a request to start a virtual machine. - AnnVmStartRequested = AnnAPIGroupV + "/vm-start-requested" + AnnVmStartRequested = AnnAPIGroupV + "/vm-start-requested" //nolint:stylecheck // TODO: fix to AnnVMStartRequested // AnnVmRestartRequested is an annotation on KVVM that represents a request to restart a virtual machine. - AnnVmRestartRequested = AnnAPIGroupV + "/vm-restart-requested" + AnnVmRestartRequested = AnnAPIGroupV + "/vm-restart-requested" //nolint:stylecheck // TODO: fix to AnnVMRestartRequested // AnnVMOPWorkloadUpdate is an annotation on vmop that represents a vmop created by workload-updater controller. AnnVMOPWorkloadUpdate = AnnAPIGroupV + "/workload-update" diff --git a/images/virtualization-artifact/pkg/common/consts.go b/images/virtualization-artifact/pkg/common/consts.go index 9ddf507b03..21c348ce30 100644 --- a/images/virtualization-artifact/pkg/common/consts.go +++ b/images/virtualization-artifact/pkg/common/consts.go @@ -108,7 +108,7 @@ const ( DockerRegistrySchemePrefix = "docker://" - VmBlockDeviceAttachedLimit = 16 + VmBlockDeviceAttachedLimit = 16 //nolint:stylecheck // TODO: fix to VMBlockDeviceAttachedLimit CmpLesser = -1 CmpEqual = 0 diff --git a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go index 50315a6071..93a6f4ad47 100644 --- a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go +++ b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package humanize_bytes +package humanize_bytes //nolint:stylecheck // we don't care import ( "fmt" diff --git a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go index 782b8eec9b..aa2b8d4109 100644 --- a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go +++ b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package humanize_bytes +package humanize_bytes //nolint:stylecheck // we don't care import ( "testing" diff --git a/images/virtualization-artifact/pkg/common/ip/ip.go b/images/virtualization-artifact/pkg/common/ip/ip.go index 31e43151fa..df71db2c97 100644 --- a/images/virtualization-artifact/pkg/common/ip/ip.go +++ b/images/virtualization-artifact/pkg/common/ip/ip.go @@ -26,7 +26,7 @@ const ipPrefix = "ip-" type AllocatedIPs map[string]struct{} // IpToLeaseName generate the Virtual Machine IP Address Lease's name from the ip address. -func IpToLeaseName(ip string) string { +func IpToLeaseName(ip string) string { //nolint:stylecheck // TODO: fix to IPToLeaseName addr := net.ParseIP(ip) if addr.To4() != nil { // IPv4 address diff --git a/images/virtualization-artifact/pkg/common/patch/patch.go b/images/virtualization-artifact/pkg/common/patch/patch.go index 855bd7840b..385fa1f108 100644 --- a/images/virtualization-artifact/pkg/common/patch/patch.go +++ b/images/virtualization-artifact/pkg/common/patch/patch.go @@ -29,22 +29,26 @@ const ( PatchTestOp = "test" ) +//nolint:stylecheck // TODO: fix to JSONPatch type JsonPatch struct { operations []JsonPatchOperation } +//nolint:stylecheck // TODO: fix to JSONPatchOperation type JsonPatchOperation struct { Op string `json:"op"` Path string `json:"path"` Value interface{} `json:"value,omitempty"` } +//nolint:stylecheck // TODO: fix to NewJSONPatch func NewJsonPatch(patches ...JsonPatchOperation) *JsonPatch { return &JsonPatch{ operations: patches, } } +//nolint:stylecheck // TODO: fix to NewJSONPatchOperation func NewJsonPatchOperation(op, path string, value interface{}) JsonPatchOperation { return JsonPatchOperation{ Op: op, diff --git a/images/virtualization-artifact/pkg/common/pod/pod.go b/images/virtualization-artifact/pkg/common/pod/pod.go index 2a1c19bff4..ae8ef17d89 100644 --- a/images/virtualization-artifact/pkg/common/pod/pod.go +++ b/images/virtualization-artifact/pkg/common/pod/pod.go @@ -104,7 +104,7 @@ func IsPodComplete(pod *corev1.Pod) bool { } // QemuSubGid is the gid used as the qemu group in fsGroup -const QemuSubGid = int64(107) +const QemuSubGid = int64(107) //nolint:stylecheck // TODO: fix to QemuSubGID // SetRestrictedSecurityContext sets the pod security params to be compatible with restricted PSA func SetRestrictedSecurityContext(podSpec *corev1.PodSpec) { diff --git a/images/virtualization-artifact/pkg/common/resource_builder/builder.go b/images/virtualization-artifact/pkg/common/resource_builder/builder.go index 6c8fb2d3f8..feec306327 100644 --- a/images/virtualization-artifact/pkg/common/resource_builder/builder.go +++ b/images/virtualization-artifact/pkg/common/resource_builder/builder.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource_builder +package resource_builder //nolint:stylecheck // we don't care import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/images/virtualization-artifact/pkg/config/load_gc_settings.go b/images/virtualization-artifact/pkg/config/load_gc_settings.go index aaafdfd04b..d5fa8edec0 100644 --- a/images/virtualization-artifact/pkg/config/load_gc_settings.go +++ b/images/virtualization-artifact/pkg/config/load_gc_settings.go @@ -25,9 +25,9 @@ import ( ) const ( - GcVmopTtlVar = "GC_VMOP_TTL" + GcVmopTtlVar = "GC_VMOP_TTL" //nolint:stylecheck // TODO: fix to GcVmopTTLVar GcVmopScheduleVar = "GC_VMOP_SCHEDULE" - GcVMIMigrationTtlVar = "GC_VMI_MIGRATION_TTL" + GcVMIMigrationTtlVar = "GC_VMI_MIGRATION_TTL" //nolint:stylecheck // TODO: fix to GcVMIMigrationTTLVar GcVMIMigrationScheduleVar = "GC_VMI_MIGRATION_SCHEDULE" ) diff --git a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go index fe5ebb9cc4..bc5649e734 100644 --- a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go +++ b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go @@ -25,8 +25,8 @@ import ( const ( KubevirtAPIServerEndpointVar = "KUBEVIRT_APISERVER_ENDPOINT" KubevirtAPIServerCABundlePathVar = "KUBEVIRT_APISERVER_CABUNDLE" - VirtualizationApiAuthServiceAccountNameVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAME" - VirtualizationApiAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" + VirtualizationApiAuthServiceAccountNameVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAME" //nolint:stylecheck // TODO: fix to VirtualizationAPIAuthServiceAccountNameVar + VirtualizationApiAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" //nolint:stylecheck // TODO: fix to VirtualizationAPIAuthServiceAccountNamespaceVar ) func LoadKubevirtAPIServerFromEnv() rest.KubevirtApiServerConfig { diff --git a/images/virtualization-artifact/pkg/controller/controller_suite_test.go b/images/virtualization-artifact/pkg/controller/controller_suite_test.go index 226e45462b..9d6c89088e 100644 --- a/images/virtualization-artifact/pkg/controller/controller_suite_test.go +++ b/images/virtualization-artifact/pkg/controller/controller_suite_test.go @@ -52,6 +52,7 @@ func (m *MockIPAM) IsBound(_ string, _ *v1alpha2.VirtualMachineIPAddress) bool { return true } +//nolint:stylecheck // TODO: fix to CheckIPAddressAvailableForBinding func (m *MockIPAM) CheckIpAddressAvailableForBinding(_ string, _ *v1alpha2.VirtualMachineIPAddress) error { return nil } From 39ad5923611602b93e9d7f5e124fb27d827bd6be Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 19:10:55 +0300 Subject: [PATCH 06/20] add more fixes Signed-off-by: Nikita Korolev --- images/virtualization-artifact/pkg/controller/ipam/ipam.go | 1 + .../pkg/controller/k8s-validation/validate-k8s-utils.go | 2 +- images/virtualization-artifact/pkg/controller/kvapi/kvapi.go | 2 ++ images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go | 1 + .../pkg/controller/service/blockdevice_service.go | 2 ++ .../virtualization-artifact/pkg/controller/vd/internal/stats.go | 2 +- .../pkg/controller/vm/internal/block_devices_test.go | 1 + .../virtualization-artifact/pkg/controller/vm/internal/class.go | 2 +- .../pkg/controller/vm/internal/firmware_test.go | 2 +- .../virtualization-artifact/pkg/controller/vm/internal/ipam.go | 2 +- 10 files changed, 12 insertions(+), 5 deletions(-) diff --git a/images/virtualization-artifact/pkg/controller/ipam/ipam.go b/images/virtualization-artifact/pkg/controller/ipam/ipam.go index 54c30f70ae..0509aee0d9 100644 --- a/images/virtualization-artifact/pkg/controller/ipam/ipam.go +++ b/images/virtualization-artifact/pkg/controller/ipam/ipam.go @@ -56,6 +56,7 @@ func (m IPAM) IsBound(vmName string, vmip *virtv2.VirtualMachineIPAddress) bool return vmip.Status.VirtualMachine == vmName } +//nolint:stylecheck // TODO: fix to CheckIPAddressAvailableForBinding func (m IPAM) CheckIpAddressAvailableForBinding(vmName string, vmip *virtv2.VirtualMachineIPAddress) error { if vmip == nil { return errors.New("cannot to bind with empty ip address") diff --git a/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go b/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go index 40eddbbc99..6a3d99eb89 100644 --- a/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go +++ b/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go @@ -27,7 +27,7 @@ It makes it easier to copy and maintain instead of vendoring the whole kubernete creating dry runs of the pod object during admission validation. */ -package k8s_validation +package k8s_validation //nolint:stylecheck // we don't care import ( "fmt" diff --git a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go index 3594058648..8c4cb4804a 100644 --- a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go +++ b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go @@ -41,6 +41,8 @@ func New(cli client.Client, kv Kubevirt) *KvApi { } // Deprecated: use virt client. +// +//nolint:stylecheck // TODO: fix to KvAPI type KvApi struct { client.Client kubevirt Kubevirt diff --git a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go index edab9bec1a..731996ad92 100644 --- a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go +++ b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go @@ -215,6 +215,7 @@ func (b *KVVM) SetTopologySpreadConstraint(topology []corev1.TopologySpreadConst b.Resource.Spec.Template.Spec.TopologySpreadConstraints = topology } +//nolint:stylecheck // TODO: fix to SetCPU func (b *KVVM) SetCpu(cores int, coreFraction string) error { domainSpec := &b.Resource.Spec.Template.Spec.Domain if domainSpec.CPU == nil { diff --git a/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go index f75b049a09..5efc83d1b1 100644 --- a/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go +++ b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go @@ -36,6 +36,7 @@ func NewBlockDeviceService(client client.Client) *BlockDeviceService { } } +//nolint:stylecheck // TODO: fix to CountBlockDevicesAttachedToVM func (s *BlockDeviceService) CountBlockDevicesAttachedToVm(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) { count := len(vm.Spec.BlockDeviceRefs) @@ -54,6 +55,7 @@ func (s *BlockDeviceService) CountBlockDevicesAttachedToVm(ctx context.Context, return count, nil } +//nolint:stylecheck // TODO: fix to CountBlockDevicesAttachedToVMName func (s *BlockDeviceService) CountBlockDevicesAttachedToVmName(ctx context.Context, vmName, namespace string) (int, error) { count := 0 var vm virtv2.VirtualMachine diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/stats.go b/images/virtualization-artifact/pkg/controller/vd/internal/stats.go index afd4dfde29..b9d918e229 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/stats.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/stats.go @@ -50,8 +50,8 @@ func NewStatsHandler(stat *service.StatService, importer *service.ImporterServic func (h StatsHandler) Handle(ctx context.Context, vd *virtv2.VirtualDisk) (reconcile.Result, error) { sinceCreation := time.Since(vd.CreationTimestamp.Time).Truncate(time.Second) - isDatasourceReady := false readyCondition, _ := conditions.GetCondition(vdcondition.ReadyType, vd.Status.Conditions) + var isDatasourceReady bool if source.IsDiskProvisioningFinished(readyCondition) { isDatasourceReady = true } else { diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go index 26896f3587..73c34003c3 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go @@ -1600,6 +1600,7 @@ var _ = Describe("Capacity check", func() { }) }) +//nolint:stylecheck // TODO: fix to vmFactoryByVM func vmFactoryByVm(vm *virtv2.VirtualMachine) func() *virtv2.VirtualMachine { return func() *virtv2.VirtualMachine { return vm diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/class.go b/images/virtualization-artifact/pkg/controller/vm/internal/class.go index 759c3ba35d..f7af18b817 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/class.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/class.go @@ -70,7 +70,7 @@ func (h *ClassHandler) Handle(ctx context.Context, s state.VirtualMachineState) return reconcile.Result{}, err } - //nolint:staticcheck + //nolint:staticcheck //TODO: fix mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeClassReady). Generation(current.GetGeneration()) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/firmware_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/firmware_test.go index b9b7af3f24..527759d3ae 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/firmware_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/firmware_test.go @@ -37,7 +37,7 @@ import ( var _ = Describe("TestFirmwareHandler", func() { const ( name = "vm-firmware" - namespace = "default" + namespace = "default1" expectedImage = "image:latest" ) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go index df30746cee..c21df60a4d 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go @@ -75,7 +75,7 @@ func (h *IPAMHandler) Handle(ctx context.Context, s state.VirtualMachineState) ( return reconcile.Result{Requeue: true}, nil } - //nolint:staticcheck + //nolint:staticcheck //TODO: fix mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeIPAddressReady). Generation(current.GetGeneration()) From 9ed66f09f7befca8d6e473a717133bedbad7cc24 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 20:06:20 +0300 Subject: [PATCH 07/20] rename NewCPUCountValidator Signed-off-by: Nikita Korolev --- .../pkg/controller/vm/internal/sync_kvvm_test.go | 8 ++++---- .../vm/internal/validators/cpu_count_validator.go | 12 ++++++------ .../internal/validators/cpu_count_validator_test.go | 2 +- .../pkg/controller/vm/vm_webhook.go | 2 +- .../pkg/monitoring/metrics/virtualmachine/scraper.go | 5 +++++ 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_kvvm_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_kvvm_test.go index 443ecc4820..bc9affa079 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_kvvm_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_kvvm_test.go @@ -112,7 +112,7 @@ var _ = Describe("SyncKvvmHandler", func() { } mutateKVVM := func(kvvm *virtv1.VirtualMachine) { - kvbuilder.SetLastAppliedSpec(kvvm, &virtv2.VirtualMachine{ + Expect(kvbuilder.SetLastAppliedSpec(kvvm, &virtv2.VirtualMachine{ Spec: virtv2.VirtualMachineSpec{ CPU: virtv2.CPUSpec{ Cores: 1, @@ -122,9 +122,9 @@ var _ = Describe("SyncKvvmHandler", func() { OsType: virtv2.GenericOs, VirtualMachineClassName: "vmclass", }, - }) + })).To(Succeed()) - kvbuilder.SetLastAppliedClassSpec(kvvm, &virtv2.VirtualMachineClass{ + Expect(kvbuilder.SetLastAppliedClassSpec(kvvm, &virtv2.VirtualMachineClass{ Spec: virtv2.VirtualMachineClassSpec{ CPU: virtv2.CPU{ Type: virtv2.CPUTypeHost, @@ -135,7 +135,7 @@ var _ = Describe("SyncKvvmHandler", func() { }, }, }, - }) + })).To(Succeed()) } DescribeTable("AwaitingRestart Condition Tests", diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator.go b/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator.go index d176c50569..a2949bbd93 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator.go @@ -25,21 +25,21 @@ import ( "github.com/deckhouse/virtualization/api/core/v1alpha2" ) -type CpuCountValidator struct{} +type CPUCountValidator struct{} -func NewCpuCountValidator() *CpuCountValidator { - return &CpuCountValidator{} +func NewCPUCountValidator() *CPUCountValidator { + return &CPUCountValidator{} } -func (v *CpuCountValidator) ValidateCreate(_ context.Context, vm *v1alpha2.VirtualMachine) (admission.Warnings, error) { +func (v *CPUCountValidator) ValidateCreate(_ context.Context, vm *v1alpha2.VirtualMachine) (admission.Warnings, error) { return v.Validate(vm) } -func (v *CpuCountValidator) ValidateUpdate(_ context.Context, _, newVM *v1alpha2.VirtualMachine) (admission.Warnings, error) { +func (v *CPUCountValidator) ValidateUpdate(_ context.Context, _, newVM *v1alpha2.VirtualMachine) (admission.Warnings, error) { return v.Validate(newVM) } -func (v *CpuCountValidator) Validate(vm *v1alpha2.VirtualMachine) (admission.Warnings, error) { +func (v *CPUCountValidator) Validate(vm *v1alpha2.VirtualMachine) (admission.Warnings, error) { cores := vm.Spec.CPU.Cores switch { diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator_test.go index dbbc56fba4..43d43b686b 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/validators/cpu_count_validator_test.go @@ -59,7 +59,7 @@ func TestCpuCountValidate(t *testing.T) { for _, test := range tests { t.Run("", func(t *testing.T) { vm := &v1alpha2.VirtualMachine{Spec: v1alpha2.VirtualMachineSpec{CPU: v1alpha2.CPUSpec{Cores: test.desiredCores}}} - cpuCountValidator := NewCpuCountValidator() + cpuCountValidator := NewCPUCountValidator() _, err := cpuCountValidator.Validate(vm) diff --git a/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go b/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go index 17e0c8a215..3524681e30 100644 --- a/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vm/vm_webhook.go @@ -51,7 +51,7 @@ func NewValidator(ipam internal.IPAM, client client.Client, service *service.Blo validators.NewBlockDeviceLimiterValidator(service, log), validators.NewAffinityValidator(), validators.NewTopologySpreadConstraintValidator(), - validators.NewCpuCountValidator(), + validators.NewCPUCountValidator(), }, log: log.With("webhook", "validation"), } diff --git a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go index 7411bc1674..6459d4f7d8 100644 --- a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go +++ b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go @@ -80,26 +80,31 @@ func (s *scraper) updateMetricVirtualMachineStatusPhase(m *dataMetric) { } } +//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCores func (s *scraper) updateMetricVirtualMachineCpuCores(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineCpuCores, m.CpuCores, m) } +//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCores func (s *scraper) updateMetricVirtualMachineConfigurationCpuCores(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCpuCores, m.CpuConfigurationCores, m) } +//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCoreFraction func (s *scraper) updateMetricVirtualMachineCpuCoreFraction(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineCpuCoreFraction, m.CpuCoreFraction, m) } +//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCoreFraction func (s *scraper) updateMetricVirtualMachineConfigurationCpuCoreFraction(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCpuCoreFraction, m.CpuConfigurationCoreFraction, m) } +//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPURuntimeOverhead func (s *scraper) updateMetricVirtualMachineConfigurationCpuRuntimeOverhead(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCpuRuntimeOverhead, m.CpuRuntimeOverhead, m) From 97ef28e397341d4606587b914e744b76e51398ae Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 20:09:04 +0300 Subject: [PATCH 08/20] remove unused funcs Signed-off-by: Nikita Korolev --- .../vmchange/comparator_operations.go | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/images/virtualization-artifact/pkg/controller/vmchange/comparator_operations.go b/images/virtualization-artifact/pkg/controller/vmchange/comparator_operations.go index 59c3f2819f..f68d3dbc67 100644 --- a/images/virtualization-artifact/pkg/controller/vmchange/comparator_operations.go +++ b/images/virtualization-artifact/pkg/controller/vmchange/comparator_operations.go @@ -60,21 +60,6 @@ func compareBools(path string, current, desired, defaultValue bool, onChange Act return compareValues(path, currentValue, desiredValue, isEqual, onChange) } -// comparePtrBools -// -//nolint:unused -func comparePtrBools(path string, current, desired *bool, defaultValue bool, onChange ActionType) []FieldChange { - if current == nil && desired == nil { - return nil - } - - currentValue := NewPtrBoolValue(current, defaultValue) - desiredValue := NewPtrBoolValue(desired, defaultValue) - isEqual := isEqualPtrBools(current, desired) - - return compareValues(path, currentValue, desiredValue, isEqual, onChange) -} - // compareValues // current == default, desired == zeroValue => operation remove, no action required // current == zeroValue, desired == default => operation add, no action required @@ -200,19 +185,6 @@ func NewPtrBoolValue(value *bool, defaultValue bool) Value { return NewValue(value, isEmpty, isDefault) } -// isEqualPtrBools returns true if bool pointers are both nils or if their values are equal. -// -//nolint:unused -func isEqualPtrBools(a, b *bool) bool { - if a == nil && b == nil { - return true - } - if a != nil && b != nil && *a == *b { - return true - } - return false -} - func NewPtrValue(value interface{}, isNil bool) Value { return NewValue(value, isNil, false) } From 4a0f8f148473d985821ca47324b2f5249908c8bc Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 20:17:58 +0300 Subject: [PATCH 09/20] fix some +1 Signed-off-by: Nikita Korolev --- .../pkg/controller/vmchange/compare.go | 8 ++++---- .../pkg/controller/vmchange/vmclass_change.go | 4 ++-- .../pkg/controller/vmclass/internal/util.go | 2 +- .../validators/sizing_policies_validator.go | 6 +++--- .../validators/validators_suite_test.go | 6 +++--- .../internal/service/ip_address_service.go | 20 +++++++++---------- .../service/ip_address_service_test.go | 10 +++++----- .../vmip/internal/step/take_lease_step.go | 2 +- .../pkg/controller/vmip/vmip_controller.go | 2 +- .../pkg/controller/vmip/vmip_webhook.go | 4 ++-- 10 files changed, 32 insertions(+), 32 deletions(-) diff --git a/images/virtualization-artifact/pkg/controller/vmchange/compare.go b/images/virtualization-artifact/pkg/controller/vmchange/compare.go index 6c1c3881a6..b09a1d4f34 100644 --- a/images/virtualization-artifact/pkg/controller/vmchange/compare.go +++ b/images/virtualization-artifact/pkg/controller/vmchange/compare.go @@ -42,11 +42,11 @@ var specComparators = []SpecFieldsComparator{ compareProvisioning, } -type VmClassSpecFieldsComparator func(prev, next *v1alpha2.VirtualMachineClassSpec) []FieldChange +type VMClassSpecFieldsComparator func(prev, next *v1alpha2.VirtualMachineClassSpec) []FieldChange -var vmclassSpecComparators = []VmClassSpecFieldsComparator{ - compareVmClassNodeSelector, - compareVmClassTolerations, +var vmclassSpecComparators = []VMClassSpecFieldsComparator{ + compareVMClassNodeSelector, + compareVMClassTolerations, } func CompareSpecs(prev, next *v1alpha2.VirtualMachineSpec, prevClass, nextClass *v1alpha2.VirtualMachineClassSpec) SpecChanges { diff --git a/images/virtualization-artifact/pkg/controller/vmchange/vmclass_change.go b/images/virtualization-artifact/pkg/controller/vmchange/vmclass_change.go index 70da48e4a1..f5b3411f7b 100644 --- a/images/virtualization-artifact/pkg/controller/vmchange/vmclass_change.go +++ b/images/virtualization-artifact/pkg/controller/vmchange/vmclass_change.go @@ -27,7 +27,7 @@ func makePathWithClass(path string) string { return fmt.Sprintf("VirtualMachineClass:%s", path) } -func compareVmClassNodeSelector(current, desired *v1alpha2.VirtualMachineClassSpec) []FieldChange { +func compareVMClassNodeSelector(current, desired *v1alpha2.VirtualMachineClassSpec) []FieldChange { isEmpty := func(nodeSelector v1alpha2.NodeSelector) bool { return len(nodeSelector.MatchExpressions) == 0 && len(nodeSelector.MatchLabels) == 0 } @@ -44,7 +44,7 @@ func compareVmClassNodeSelector(current, desired *v1alpha2.VirtualMachineClassSp ) } -func compareVmClassTolerations(current, desired *v1alpha2.VirtualMachineClassSpec) []FieldChange { +func compareVMClassTolerations(current, desired *v1alpha2.VirtualMachineClassSpec) []FieldChange { currentValue := NewValue(current.Tolerations, len(current.Tolerations) == 0, false) desiredValue := NewValue(desired.Tolerations, len(desired.Tolerations) == 0, false) diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go index fa6244fa90..c772f538b6 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go @@ -29,7 +29,7 @@ func isDeletion(class *virtv2.VirtualMachineClass) bool { } func addAllUnknown(class *virtv2.VirtualMachineClass, conds ...vmclasscondition.Type) (update bool) { - //nolint:staticcheck + //nolint:staticcheck //TODO: use direct SetCondition instead conditions.NewManage mgr := conditions.NewManager(class.Status.Conditions) for _, c := range conds { if add := mgr.Add(conditions.NewConditionBuilder(c). diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/sizing_policies_validator.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/sizing_policies_validator.go index 790392f12a..2f63ef7e72 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/sizing_policies_validator.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/sizing_policies_validator.go @@ -35,7 +35,7 @@ func NewSizingPoliciesValidator(client client.Client) *SizingPoliciesValidator { } func (v *SizingPoliciesValidator) ValidateCreate(_ context.Context, vmclass *v1alpha2.VirtualMachineClass) (admission.Warnings, error) { - if HasCpuSizePoliciesCrosses(&vmclass.Spec) { + if HasCPUSizePoliciesCrosses(&vmclass.Spec) { return nil, fmt.Errorf("vmclass %s has size policy cpu crosses", vmclass.Name) } @@ -43,14 +43,14 @@ func (v *SizingPoliciesValidator) ValidateCreate(_ context.Context, vmclass *v1a } func (v *SizingPoliciesValidator) ValidateUpdate(_ context.Context, _, newVMClass *v1alpha2.VirtualMachineClass) (admission.Warnings, error) { - if HasCpuSizePoliciesCrosses(&newVMClass.Spec) { + if HasCPUSizePoliciesCrosses(&newVMClass.Spec) { return nil, fmt.Errorf("vmclass %s has size policy cpu crosses", newVMClass.Name) } return nil, nil } -func HasCpuSizePoliciesCrosses(vmclass *v1alpha2.VirtualMachineClassSpec) bool { +func HasCPUSizePoliciesCrosses(vmclass *v1alpha2.VirtualMachineClassSpec) bool { usedPairs := make(map[[2]int]struct{}) for i, policy1 := range vmclass.SizingPolicies { diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/validators_suite_test.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/validators_suite_test.go index 01f00b7cc1..27d4e06bca 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/validators_suite_test.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/validators/validators_suite_test.go @@ -40,7 +40,7 @@ var _ = Describe("Spec policies validator", func() { }) It("Should return no problem when empty value", func() { - Expect(validators.HasCpuSizePoliciesCrosses(&vmclass.Spec)).Should(BeFalse()) + Expect(validators.HasCPUSizePoliciesCrosses(&vmclass.Spec)).Should(BeFalse()) }) }) @@ -71,7 +71,7 @@ var _ = Describe("Spec policies validator", func() { }) It("Should return no problem with correct values", func() { - Expect(validators.HasCpuSizePoliciesCrosses(&vmclass.Spec)).Should(BeFalse()) + Expect(validators.HasCPUSizePoliciesCrosses(&vmclass.Spec)).Should(BeFalse()) }) }) @@ -102,7 +102,7 @@ var _ = Describe("Spec policies validator", func() { }) It("Should return problem with incorrect values", func() { - Expect(validators.HasCpuSizePoliciesCrosses(&vmclass.Spec)).Should(BeTrue()) + Expect(validators.HasCPUSizePoliciesCrosses(&vmclass.Spec)).Should(BeTrue()) }) }) }) diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go index 6794821e9b..f5343c15fa 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go @@ -38,17 +38,17 @@ import ( virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" ) -type IpAddressService struct { +type IPAddressService struct { parsedCIDRs []netip.Prefix client client.Client virtClient kubeclient.Client } -func NewIpAddressService( +func NewIPAddressService( virtualMachineCIDRs []string, client client.Client, virtClient kubeclient.Client, -) (*IpAddressService, error) { +) (*IPAddressService, error) { parsedCIDRs := make([]netip.Prefix, len(virtualMachineCIDRs)) for i, cidr := range virtualMachineCIDRs { @@ -59,14 +59,14 @@ func NewIpAddressService( parsedCIDRs[i] = parsedCIDR } - return &IpAddressService{ + return &IPAddressService{ parsedCIDRs: parsedCIDRs, client: client, virtClient: virtClient, }, nil } -func (s IpAddressService) IsInsideOfRange(address string) error { +func (s IPAddressService) IsInsideOfRange(address string) error { addr, err := netip.ParseAddr(address) if err != nil || !addr.IsValid() { return errors.New("invalid IP address format") @@ -90,7 +90,7 @@ func (s IpAddressService) IsInsideOfRange(address string) error { return ErrIPAddressOutOfRange } -func (s IpAddressService) AllocateNewIP(allocatedIPs ip.AllocatedIPs) (string, error) { +func (s IPAddressService) AllocateNewIP(allocatedIPs ip.AllocatedIPs) (string, error) { for _, cidr := range s.parsedCIDRs { for addr := cidr.Addr(); cidr.Contains(addr); addr = addr.Next() { if k8snet.RangeSize(toIPNet(cidr)) != 1 { @@ -111,7 +111,7 @@ func (s IpAddressService) AllocateNewIP(allocatedIPs ip.AllocatedIPs) (string, e return "", errors.New("no remaining ips") } -func (s IpAddressService) GetAllocatedIPs(ctx context.Context) (ip.AllocatedIPs, error) { +func (s IPAddressService) GetAllocatedIPs(ctx context.Context) (ip.AllocatedIPs, error) { var leases virtv2.VirtualMachineIPAddressLeaseList err := s.client.List(ctx, &leases) @@ -127,7 +127,7 @@ func (s IpAddressService) GetAllocatedIPs(ctx context.Context) (ip.AllocatedIPs, return allocatedIPs, nil } -func (s IpAddressService) GetLease(ctx context.Context, vmip *virtv2.VirtualMachineIPAddress) (*virtv2.VirtualMachineIPAddressLease, error) { +func (s IPAddressService) GetLease(ctx context.Context, vmip *virtv2.VirtualMachineIPAddress) (*virtv2.VirtualMachineIPAddressLease, error) { // The IP address cannot be changed for a vmip. Once it has been assigned, it will remain the same. ipAddress := getAssignedIPAddress(vmip) if ipAddress != "" { @@ -139,7 +139,7 @@ func (s IpAddressService) GetLease(ctx context.Context, vmip *virtv2.VirtualMach return s.getLeaseByLabel(ctx, vmip) } -func (s IpAddressService) getLeaseByIPAddress(ctx context.Context, ipAddress string) (*virtv2.VirtualMachineIPAddressLease, error) { +func (s IPAddressService) getLeaseByIPAddress(ctx context.Context, ipAddress string) (*virtv2.VirtualMachineIPAddressLease, error) { // 1. Trying to find the Lease in the local cache. lease, err := object.FetchObject(ctx, types.NamespacedName{Name: ip.IpToLeaseName(ipAddress)}, s.client, &virtv2.VirtualMachineIPAddressLease{}) if err != nil { @@ -164,7 +164,7 @@ func (s IpAddressService) getLeaseByIPAddress(ctx context.Context, ipAddress str } } -func (s IpAddressService) getLeaseByLabel(ctx context.Context, vmip *virtv2.VirtualMachineIPAddress) (*virtv2.VirtualMachineIPAddressLease, error) { +func (s IPAddressService) getLeaseByLabel(ctx context.Context, vmip *virtv2.VirtualMachineIPAddress) (*virtv2.VirtualMachineIPAddressLease, error) { // 1. Trying to find the Lease in the local cache. { leases := &virtv2.VirtualMachineIPAddressLeaseList{} diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service_test.go b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service_test.go index 23accccd70..59a412fcfe 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service_test.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service_test.go @@ -26,12 +26,12 @@ import ( ) var _ = Describe("IsInsideOfRange", func() { - var ipService *IpAddressService + var ipService *IPAddressService BeforeEach(func() { virtualMachineCIDRs := []string{"192.168.1.0/24"} var err error - ipService, err = NewIpAddressService(virtualMachineCIDRs, nil, nil) + ipService, err = NewIPAddressService(virtualMachineCIDRs, nil, nil) Expect(err).To(BeNil()) }) @@ -61,14 +61,14 @@ var _ = Describe("IsInsideOfRange", func() { var _ = Describe("AllocateNewIP", func() { var ( - ipService *IpAddressService + ipService *IPAddressService allocatedIPs ip.AllocatedIPs ) BeforeEach(func() { virtualMachineCIDRs := []string{"192.168.1.0/24"} var err error - ipService, err = NewIpAddressService(virtualMachineCIDRs, nil, nil) + ipService, err = NewIPAddressService(virtualMachineCIDRs, nil, nil) Expect(err).To(BeNil()) }) @@ -84,7 +84,7 @@ var _ = Describe("AllocateNewIP", func() { Context("when there are no available IP addresses in the range", func() { It("should return an error", func() { virtualMachineCIDRs := []string{"192.168.1.0/31"} - ipService, err := NewIpAddressService(virtualMachineCIDRs, nil, nil) + ipService, err := NewIPAddressService(virtualMachineCIDRs, nil, nil) Expect(err).To(BeNil()) _, err = ipService.AllocateNewIP(allocatedIPs) Expect(err).To(MatchError("no remaining ips")) diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go b/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go index 7acdcf1844..d6ffcb850c 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go @@ -35,7 +35,7 @@ import ( type TakeLeaseStep struct { lease *virtv2.VirtualMachineIPAddressLease - ipService *intsvc.IpAddressService + ipService *intsvc.IPAddressService client client.Client cb *conditions.ConditionBuilder } diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go index f7460b6619..99fd1c617f 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_controller.go @@ -46,7 +46,7 @@ func NewController( virtualMachineCIDRs []string, ) (controller.Controller, error) { recorder := eventrecord.NewEventRecorderLogger(mgr, ControllerName) - ipService, err := service.NewIpAddressService(virtualMachineCIDRs, mgr.GetClient(), virtClient) + ipService, err := service.NewIPAddressService(virtualMachineCIDRs, mgr.GetClient(), virtClient) if err != nil { return nil, err } diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go index 2f2d9d5e35..f185e34017 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go @@ -38,7 +38,7 @@ import ( "github.com/deckhouse/virtualization/api/core/v1alpha2/vmiplcondition" ) -func NewValidator(log *log.Logger, client client.Client, ipAddressService *service.IpAddressService) *Validator { +func NewValidator(log *log.Logger, client client.Client, ipAddressService *service.IPAddressService) *Validator { return &Validator{ log: log.With("webhook", "validation"), client: client, @@ -49,7 +49,7 @@ func NewValidator(log *log.Logger, client client.Client, ipAddressService *servi type Validator struct { log *log.Logger client client.Client - ipService *service.IpAddressService + ipService *service.IPAddressService } func (v *Validator) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error) { From 6c27118d5384bf26025ad3aa1fd9146e964bfdcf Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 21:01:38 +0300 Subject: [PATCH 10/20] fix all step1 Signed-off-by: Nikita Korolev --- .../vmip/internal/step/take_lease_step.go | 8 +++---- .../pkg/controller/vmip/vmip_webhook.go | 2 +- .../internal/watcher/vmip_watcher.go | 16 ------------- .../pkg/controller/vmop/internal/lifecycle.go | 22 ++++++----------- .../internal/handler/firmware.go | 3 ++- .../internal/handler/firmware_test.go | 4 ++-- .../internal/handler/nodeplacement_test.go | 4 ++-- .../internal/handler/suite_test.go | 4 ++-- .../pkg/migration/disk_cache.go | 24 +++++++++---------- .../pkg/migration/qemu_max_length_36.go | 6 ++--- .../metrics/virtualmachine/data_metric.go | 20 ++++++++-------- .../metrics/virtualmachine/metrics.go | 20 ++++++++-------- .../metrics/virtualmachine/scraper.go | 20 ++++++++-------- .../filesystem/file-cert-manager.go | 4 ++-- 14 files changed, 66 insertions(+), 91 deletions(-) diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go b/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go index d6ffcb850c..cb99d01bbf 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go @@ -28,16 +28,14 @@ import ( "github.com/deckhouse/virtualization-controller/pkg/common/ip" "github.com/deckhouse/virtualization-controller/pkg/controller/conditions" "github.com/deckhouse/virtualization-controller/pkg/controller/service" - intsvc "github.com/deckhouse/virtualization-controller/pkg/controller/vmip/internal/service" virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2" "github.com/deckhouse/virtualization/api/core/v1alpha2/vmipcondition" ) type TakeLeaseStep struct { - lease *virtv2.VirtualMachineIPAddressLease - ipService *intsvc.IPAddressService - client client.Client - cb *conditions.ConditionBuilder + lease *virtv2.VirtualMachineIPAddressLease + client client.Client + cb *conditions.ConditionBuilder } func NewTakeLeaseStep( diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go index f185e34017..64afb31678 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go @@ -79,7 +79,7 @@ func (v *Validator) ValidateCreate(ctx context.Context, obj runtime.Object) (adm } } - return nil, nil + return warnings, nil } func (v *Validator) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error) { diff --git a/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go b/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go index 14fb721fee..bd7e4d75a5 100644 --- a/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go @@ -91,19 +91,3 @@ func (w VirtualMachineIPAddressWatcher) enqueueRequests(ctx context.Context, obj return requests } - -func (w VirtualMachineIPAddressWatcher) filterUpdateEvents(e event.UpdateEvent) bool { - oldVMIP, ok := e.ObjectOld.(*virtv2.VirtualMachineIPAddress) - if !ok { - w.logger.Error(fmt.Sprintf("expected an old VirtualMachineIPAddress but got a %T", e.ObjectOld)) - return false - } - - newVMIP, ok := e.ObjectNew.(*virtv2.VirtualMachineIPAddress) - if !ok { - w.logger.Error(fmt.Sprintf("expected a new VirtualMachineIPAddress but got a %T", e.ObjectNew)) - return false - } - - return oldVMIP.Status.Address != newVMIP.Status.Address -} diff --git a/images/virtualization-artifact/pkg/controller/vmop/internal/lifecycle.go b/images/virtualization-artifact/pkg/controller/vmop/internal/lifecycle.go index 7eb10dbff7..e03d5fb450 100644 --- a/images/virtualization-artifact/pkg/controller/vmop/internal/lifecycle.go +++ b/images/virtualization-artifact/pkg/controller/vmop/internal/lifecycle.go @@ -195,10 +195,8 @@ func (h LifecycleHandler) Handle(ctx context.Context, vmop *virtv2.VirtualMachin } // Check if force flag is applicable for effective liveMigrationPolicy. - msg, isApplicable, err := h.isApplicableForLiveMigrationPolicy(ctx, vmop, vm) - if err != nil { - return reconcile.Result{}, err - } + msg, isApplicable := h.isApplicableForLiveMigrationPolicy(vmop, vm) + if !isApplicable { vmop.Status.Phase = virtv2.VMOPPhaseFailed h.recorder.Event(vmop, corev1.EventTypeWarning, virtv2.ReasonErrVMOPFailed, msg) @@ -278,12 +276,6 @@ func (h LifecycleHandler) syncOperationComplete(ctx context.Context, changed *vi return reconcile.Result{}, err } -func (h LifecycleHandler) isFinalState(vmop *virtv2.VirtualMachineOperation) bool { - return vmop != nil && (vmop.Status.Phase == virtv2.VMOPPhaseCompleted || - vmop.Status.Phase == virtv2.VMOPPhaseFailed || - vmop.Status.Phase == virtv2.VMOPPhaseTerminating) -} - // otherVMOPIsInProgress check if there is at least one VMOP for the same VM in progress phase. func (h LifecycleHandler) otherVMOPIsInProgress(ctx context.Context, vmop *virtv2.VirtualMachineOperation) (bool, error) { var vmopList virtv2.VirtualMachineOperationList @@ -326,23 +318,23 @@ func (h LifecycleHandler) otherMigrationsAreInProgress(ctx context.Context, vmop return false, nil } -func (h LifecycleHandler) isApplicableForLiveMigrationPolicy(ctx context.Context, vmop *virtv2.VirtualMachineOperation, vm *virtv2.VirtualMachine) (string, bool, error) { +func (h LifecycleHandler) isApplicableForLiveMigrationPolicy(vmop *virtv2.VirtualMachineOperation, vm *virtv2.VirtualMachine) (string, bool) { // No need to check live migration policy if operation is not related to migrations. if !commonvmop.IsMigration(vmop) { - return "", true, nil + return "", true } // No problems if force flag is not specified. if vmop.Spec.Force == nil { - return "", true, nil + return "", true } effectivePolicy, autoConverge, err := livemigration.CalculateEffectivePolicy(*vm, vmop) if err != nil { msg := fmt.Sprintf("Operation is invalid: %v", err) - return msg, false, nil + return msg, false } msg := fmt.Sprintf("Migration settings for operation type %s: liveMigrationPolicy %s, autoConverge %v", vmop.Spec.Type, effectivePolicy, autoConverge) - return msg, true, nil + return msg, true } diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware.go index e6b4f21f34..8bbbb24156 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware.go @@ -18,6 +18,7 @@ package handler import ( "context" + "slices" "strings" "time" @@ -112,7 +113,7 @@ func getVirtLauncherImage(deploy *appsv1.Deployment) string { if container.Name != "virt-controller" { continue } - allArgs := append(container.Command, container.Args...) + allArgs := slices.Concat(container.Command, container.Args) for i, arg := range allArgs { if strings.HasPrefix(arg, "--launcher-image=") { diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go index 62f6326542..fa9ec5741a 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/firmware_test.go @@ -47,7 +47,7 @@ var _ = Describe("TestFirmwareHandler", func() { var ( serviceCompleteErr = errors.New("service is complete") ctx = testutil.ContextBackgroundWithNoOpLogger() - fakeClient client.WithWatch + fakeClient client.Client ) AfterEach(func() { @@ -100,7 +100,7 @@ var _ = Describe("TestFirmwareHandler", func() { DescribeTable("FirmwareHandler should return serviceCompleteErr if migration executed", func(vm *v1alpha2.VirtualMachine, deploy *appsv1.Deployment, needMigrate bool) { - fakeClient, _ = setupEnvironment(vm, deploy) + fakeClient = setupEnvironment(vm, deploy) mockMigration := &OneShotMigrationMock{ OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go index eb172091d1..c07dd7e2fd 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/nodeplacement_test.go @@ -41,7 +41,7 @@ var _ = Describe("TestNodePlacementHandler", func() { var ( serviceCompleteErr = errors.New("service is complete") ctx = testutil.ContextBackgroundWithNoOpLogger() - fakeClient client.WithWatch + fakeClient client.Client ) AfterEach(func() { @@ -67,7 +67,7 @@ var _ = Describe("TestNodePlacementHandler", func() { DescribeTable("NodePlacementHandler should return serviceCompleteErr if migration executed", func(needMigrate bool) { vm, kvvmi := newVMAndKVVMI(needMigrate) - fakeClient, _ = setupEnvironment(vm, kvvmi) + fakeClient = setupEnvironment(vm, kvvmi) mockMigration := &OneShotMigrationMock{ OnceMigrateFunc: func(ctx context.Context, vm *v1alpha2.VirtualMachine, annotationKey, annotationExpectedValue string) (bool, error) { diff --git a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/suite_test.go b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/suite_test.go index 65f90063c0..f2517db160 100644 --- a/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/suite_test.go +++ b/images/virtualization-artifact/pkg/controller/workload-updater/internal/handler/suite_test.go @@ -37,7 +37,7 @@ func TestWorkloadUpdateHandlers(t *testing.T) { RunSpecs(t, "WorkloadUpdate Handlers Suite") } -func setupEnvironment(vm *virtv2.VirtualMachine, objs ...client.Object) (client.WithWatch, *reconciler.Resource[*virtv2.VirtualMachine, virtv2.VirtualMachineStatus]) { +func setupEnvironment(vm *virtv2.VirtualMachine, objs ...client.Object) client.Client { GinkgoHelper() Expect(vm).ToNot(BeNil()) allObjects := []client.Object{vm} @@ -60,7 +60,7 @@ func setupEnvironment(vm *virtv2.VirtualMachine, objs ...client.Object) (client. err = resource.Fetch(context.Background()) Expect(err).NotTo(HaveOccurred()) - return fakeClient, resource + return fakeClient } func newEmptyKVVMI(name, namespace string) *virtv1.VirtualMachineInstance { diff --git a/images/virtualization-artifact/pkg/migration/disk_cache.go b/images/virtualization-artifact/pkg/migration/disk_cache.go index b10ab7d661..5edca578b0 100644 --- a/images/virtualization-artifact/pkg/migration/disk_cache.go +++ b/images/virtualization-artifact/pkg/migration/disk_cache.go @@ -26,9 +26,9 @@ import ( ) type diskCache struct { - CVINameUid map[string]types.UID - VINameUid map[types.NamespacedName]types.UID - VDNameUid map[types.NamespacedName]types.UID + CVINameUID map[string]types.UID + VINameUID map[types.NamespacedName]types.UID + VDNameUID map[types.NamespacedName]types.UID } func newDiskCache(ctx context.Context, c client.Client) (diskCache, error) { @@ -36,18 +36,18 @@ func newDiskCache(ctx context.Context, c client.Client) (diskCache, error) { if err := c.List(ctx, cviList, &client.ListOptions{}); err != nil { return diskCache{}, err } - cviNameUidMap := make(map[string]types.UID, len(cviList.Items)) + cviNameUIDMap := make(map[string]types.UID, len(cviList.Items)) for i := range cviList.Items { - cviNameUidMap[cviList.Items[i].Name] = cviList.Items[i].UID + cviNameUIDMap[cviList.Items[i].Name] = cviList.Items[i].UID } viList := &virtv2.VirtualImageList{} if err := c.List(ctx, viList, &client.ListOptions{}); err != nil { return diskCache{}, err } - viNameUidMap := make(map[types.NamespacedName]types.UID, len(viList.Items)) + viNameUIDMap := make(map[types.NamespacedName]types.UID, len(viList.Items)) for i := range viList.Items { - viNameUidMap[types.NamespacedName{ + viNameUIDMap[types.NamespacedName{ Namespace: viList.Items[i].Namespace, Name: viList.Items[i].Name, }] = viList.Items[i].UID @@ -57,17 +57,17 @@ func newDiskCache(ctx context.Context, c client.Client) (diskCache, error) { if err := c.List(ctx, vdList, &client.ListOptions{}); err != nil { return diskCache{}, err } - vdNameUidMap := make(map[types.NamespacedName]types.UID, len(vdList.Items)) + vdNameUIDMap := make(map[types.NamespacedName]types.UID, len(vdList.Items)) for i := range vdList.Items { - vdNameUidMap[types.NamespacedName{ + vdNameUIDMap[types.NamespacedName{ Namespace: vdList.Items[i].Namespace, Name: vdList.Items[i].Name, }] = vdList.Items[i].UID } return diskCache{ - CVINameUid: cviNameUidMap, - VINameUid: viNameUidMap, - VDNameUid: vdNameUidMap, + CVINameUID: cviNameUIDMap, + VINameUID: viNameUIDMap, + VDNameUID: vdNameUIDMap, }, nil } diff --git a/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go b/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go index 890a470624..67d073bd95 100644 --- a/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go +++ b/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go @@ -110,12 +110,12 @@ func (r *qemuMaxLength36) genPatch(base, namespace string, spec *virtv1.VirtualM switch { case strings.HasPrefix(d.Name, kvbuilder.CVMIDiskPrefix): newName := strings.TrimPrefix(d.Name, kvbuilder.CVMIDiskPrefix) - if uid, found = disks.CVINameUid[newName]; !found { + if uid, found = disks.CVINameUID[newName]; !found { continue } case strings.HasPrefix(d.Name, kvbuilder.VMIDiskPrefix): newName := strings.TrimPrefix(d.Name, kvbuilder.VMIDiskPrefix) - if uid, found = disks.VINameUid[types.NamespacedName{ + if uid, found = disks.VINameUID[types.NamespacedName{ Name: newName, Namespace: namespace, }]; !found { @@ -123,7 +123,7 @@ func (r *qemuMaxLength36) genPatch(base, namespace string, spec *virtv1.VirtualM } case strings.HasPrefix(d.Name, kvbuilder.VMDDiskPrefix): newName := strings.TrimPrefix(d.Name, kvbuilder.VMDDiskPrefix) - if uid, found = disks.VDNameUid[types.NamespacedName{ + if uid, found = disks.VDNameUID[types.NamespacedName{ Name: newName, Namespace: namespace, }]; !found { diff --git a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/data_metric.go b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/data_metric.go index 3e079b0c92..3c784c59de 100644 --- a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/data_metric.go +++ b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/data_metric.go @@ -34,11 +34,11 @@ type dataMetric struct { Node string UID string Phase virtv2.MachinePhase - CpuConfigurationCores float64 - CpuConfigurationCoreFraction float64 - CpuCores float64 - CpuCoreFraction float64 - CpuRuntimeOverhead float64 + CPUConfigurationCores float64 + CPUConfigurationCoreFraction float64 + CPUCores float64 + CPUCoreFraction float64 + CPURuntimeOverhead float64 MemoryConfigurationSize float64 MemoryRuntimeOverhead float64 AwaitingRestartToApplyConfiguration bool @@ -98,11 +98,11 @@ func newDataMetric(vm *virtv2.VirtualMachine) *dataMetric { Node: vm.Status.Node, UID: string(vm.UID), Phase: vm.Status.Phase, - CpuConfigurationCores: float64(vm.Spec.CPU.Cores), - CpuConfigurationCoreFraction: float64(cfSpec.IntValue()), - CpuCores: float64(res.CPU.Cores), - CpuCoreFraction: float64(cf.IntValue()), - CpuRuntimeOverhead: float64(res.CPU.RuntimeOverhead.MilliValue()), + CPUConfigurationCores: float64(vm.Spec.CPU.Cores), + CPUConfigurationCoreFraction: float64(cfSpec.IntValue()), + CPUCores: float64(res.CPU.Cores), + CPUCoreFraction: float64(cf.IntValue()), + CPURuntimeOverhead: float64(res.CPU.RuntimeOverhead.MilliValue()), MemoryConfigurationSize: float64(vm.Spec.Memory.Size.Value()), MemoryRuntimeOverhead: float64(res.Memory.RuntimeOverhead.Value()), AwaitingRestartToApplyConfiguration: awaitingRestartToApplyConfiguration, diff --git a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/metrics.go b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/metrics.go index cb2dfa3f51..f1626dd4f4 100644 --- a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/metrics.go +++ b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/metrics.go @@ -24,11 +24,11 @@ import ( const ( MetricVirtualMachineStatusPhase = "virtualmachine_status_phase" - MetricVirtualMachineCpuCores = "virtualmachine_cpu_cores" - MetricVirtualMachineConfigurationCpuCores = "virtualmachine_configuration_cpu_cores" - MetricVirtualMachineCpuCoreFraction = "virtualmachine_cpu_core_fraction" - MetricVirtualMachineConfigurationCpuCoreFraction = "virtualmachine_configuration_cpu_core_fraction" - MetricVirtualMachineConfigurationCpuRuntimeOverhead = "virtualmachine_configuration_cpu_runtime_overhead" + MetricVirtualMachineCPUCores = "virtualmachine_cpu_cores" + MetricVirtualMachineConfigurationCPUCores = "virtualmachine_configuration_cpu_cores" + MetricVirtualMachineCPUCoreFraction = "virtualmachine_cpu_core_fraction" + MetricVirtualMachineConfigurationCPUCoreFraction = "virtualmachine_configuration_cpu_core_fraction" + MetricVirtualMachineConfigurationCPURuntimeOverhead = "virtualmachine_configuration_cpu_runtime_overhead" MetricVirtualMachineConfigurationMemorySizeBytes = "virtualmachine_configuration_memory_size_bytes" MetricVirtualMachineConfigurationMemoryRuntimeOverheadBytes = "virtualmachine_configuration_memory_runtime_overhead_bytes" MetricVirtualMachineAwaitingRestartToApplyConfiguration = "virtualmachine_awaiting_restart_to_apply_configuration" @@ -68,35 +68,35 @@ var virtualMachineMetrics = map[string]metrics.MetricInfo{ nil, ), - MetricVirtualMachineCpuCores: metrics.NewMetricInfo(MetricVirtualMachineCpuCores, + MetricVirtualMachineCPUCores: metrics.NewMetricInfo(MetricVirtualMachineCPUCores, "The virtualmachine current core count.", prometheus.GaugeValue, WithBaseLabels(), nil, ), - MetricVirtualMachineConfigurationCpuCores: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCpuCores, + MetricVirtualMachineConfigurationCPUCores: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCPUCores, "The virtualmachine desired core count from the spec.", prometheus.GaugeValue, WithBaseLabels(), nil, ), - MetricVirtualMachineCpuCoreFraction: metrics.NewMetricInfo(MetricVirtualMachineCpuCoreFraction, + MetricVirtualMachineCPUCoreFraction: metrics.NewMetricInfo(MetricVirtualMachineCPUCoreFraction, "The virtualmachine current coreFraction.", prometheus.GaugeValue, WithBaseLabels(), nil, ), - MetricVirtualMachineConfigurationCpuCoreFraction: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCpuCoreFraction, + MetricVirtualMachineConfigurationCPUCoreFraction: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCPUCoreFraction, "The virtualmachine desired coreFraction from the spec.", prometheus.GaugeValue, WithBaseLabels(), nil, ), - MetricVirtualMachineConfigurationCpuRuntimeOverhead: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCpuRuntimeOverhead, + MetricVirtualMachineConfigurationCPURuntimeOverhead: metrics.NewMetricInfo(MetricVirtualMachineConfigurationCPURuntimeOverhead, "The virtualmachine current cpu runtime overhead.", prometheus.GaugeValue, WithBaseLabels(), diff --git a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go index 6459d4f7d8..013d6e6345 100644 --- a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go +++ b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go @@ -82,32 +82,32 @@ func (s *scraper) updateMetricVirtualMachineStatusPhase(m *dataMetric) { //nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCores func (s *scraper) updateMetricVirtualMachineCpuCores(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineCpuCores, - m.CpuCores, m) + s.defaultUpdate(MetricVirtualMachineCPUCores, + m.CPUCores, m) } //nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCores func (s *scraper) updateMetricVirtualMachineConfigurationCpuCores(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuCores, - m.CpuConfigurationCores, m) + s.defaultUpdate(MetricVirtualMachineConfigurationCPUCores, + m.CPUConfigurationCores, m) } //nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCoreFraction func (s *scraper) updateMetricVirtualMachineCpuCoreFraction(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineCpuCoreFraction, - m.CpuCoreFraction, m) + s.defaultUpdate(MetricVirtualMachineCPUCoreFraction, + m.CPUCoreFraction, m) } //nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCoreFraction func (s *scraper) updateMetricVirtualMachineConfigurationCpuCoreFraction(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuCoreFraction, - m.CpuConfigurationCoreFraction, m) + s.defaultUpdate(MetricVirtualMachineConfigurationCPUCoreFraction, + m.CPUConfigurationCoreFraction, m) } //nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPURuntimeOverhead func (s *scraper) updateMetricVirtualMachineConfigurationCpuRuntimeOverhead(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuRuntimeOverhead, - m.CpuRuntimeOverhead, m) + s.defaultUpdate(MetricVirtualMachineConfigurationCPURuntimeOverhead, + m.CPURuntimeOverhead, m) } func (s *scraper) updateMetricVirtualMachineConfigurationMemoryRuntimeOverheadBytes(m *dataMetric) { diff --git a/images/virtualization-artifact/pkg/tls/certmanager/filesystem/file-cert-manager.go b/images/virtualization-artifact/pkg/tls/certmanager/filesystem/file-cert-manager.go index 72fb207aef..d8aa4add16 100644 --- a/images/virtualization-artifact/pkg/tls/certmanager/filesystem/file-cert-manager.go +++ b/images/virtualization-artifact/pkg/tls/certmanager/filesystem/file-cert-manager.go @@ -151,12 +151,12 @@ func (f *FileCertificateManager) loadCertificates() (serverCrt *tls.Certificate, crt, err := tls.X509KeyPair(certBytes, keyBytes) if err != nil { - return nil, fmt.Errorf("failed to load certificate: %w\n", err) + return nil, fmt.Errorf("failed to load certificate: %w", err) } leaf, err := util.ParseCertsPEM(certBytes) if err != nil { - return nil, fmt.Errorf("failed to load leaf certificate: %w\n", err) + return nil, fmt.Errorf("failed to load leaf certificate: %w", err) } crt.Leaf = leaf[0] return &crt, nil From 1bb65801dc4d3df8591f1c3c604662397dcb6cc6 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Mon, 2 Jun 2025 21:09:33 +0300 Subject: [PATCH 11/20] fix all +2 Signed-off-by: Nikita Korolev --- .../virtualization-api/app/options/options.go | 2 +- .../pkg/apiserver/api/install.go | 2 +- .../apiserver/registry/vm/rest/add_volume.go | 6 +-- .../registry/vm/rest/cancel-evacuation.go | 6 +-- .../pkg/apiserver/registry/vm/rest/console.go | 9 ++-- .../pkg/apiserver/registry/vm/rest/freeze.go | 6 +-- .../apiserver/registry/vm/rest/portforward.go | 6 +-- .../registry/vm/rest/remove_volume.go | 6 +-- .../pkg/apiserver/registry/vm/rest/stream.go | 2 +- .../apiserver/registry/vm/rest/unfreeze.go | 6 +-- .../pkg/apiserver/registry/vm/rest/vnc.go | 6 +-- .../apiserver/registry/vm/storage/storage.go | 2 +- .../pkg/apiserver/server/config.go | 2 +- .../pkg/common/annotations/annotations.go | 8 ++-- .../pkg/common/consts.go | 2 +- .../pkg/common/ip/ip.go | 4 +- .../pkg/common/kvvm/kvvm.go | 8 ++-- .../pkg/common/object/object.go | 6 +-- .../pkg/common/patch/patch.go | 42 +++++++++---------- .../load_kubevirt_apiserver_settings.go | 4 +- .../pkg/controller/kvapi/kvapi.go | 4 +- .../pkg/controller/powerstate/kvvm_request.go | 14 +++---- .../pkg/controller/reconciler/resource.go | 24 +++++------ .../vm/internal/block_device_handler.go | 4 +- .../controller/vm/internal/sync_metadata.go | 6 +-- .../vm/internal/sync_power_state.go | 8 ++-- .../vm/internal/sync_power_state_test.go | 20 ++++----- .../pkg/controller/vm/internal/util.go | 2 +- .../block_device_limiter_validator.go | 4 +- .../vm/internal/watcher/kvvm_watcher.go | 4 +- .../vmbda/internal/block_device_limiter.go | 4 +- .../vm_connect_limiter_validator.go | 8 ++-- .../vmip/internal/bound_handler_test.go | 2 +- .../internal/service/ip_address_service.go | 4 +- .../vmip/internal/step/create_lease_step.go | 4 +- .../pkg/controller/vmip/vmip_webhook.go | 2 +- .../livemigration/migration_configuration.go | 2 +- .../pkg/migration/qemu_max_length_36.go | 6 +-- 38 files changed, 126 insertions(+), 131 deletions(-) diff --git a/images/virtualization-artifact/cmd/virtualization-api/app/options/options.go b/images/virtualization-artifact/cmd/virtualization-api/app/options/options.go index 832ffeed3c..e4ce3961d1 100644 --- a/images/virtualization-artifact/cmd/virtualization-api/app/options/options.go +++ b/images/virtualization-artifact/cmd/virtualization-api/app/options/options.go @@ -47,7 +47,7 @@ type Options struct { Features *genericoptions.FeatureOptions Logging *logs.Options - Kubevirt vmrest.KubevirtApiServerConfig + Kubevirt vmrest.KubevirtAPIServerConfig ProxyClientCertFile string ProxyClientKeyFile string diff --git a/images/virtualization-artifact/pkg/apiserver/api/install.go b/images/virtualization-artifact/pkg/apiserver/api/install.go index 33a82a23d5..071c333b55 100644 --- a/images/virtualization-artifact/pkg/apiserver/api/install.go +++ b/images/virtualization-artifact/pkg/apiserver/api/install.go @@ -75,7 +75,7 @@ func Build(store *storage.VirtualMachineStorage) genericapiserver.APIGroupInfo { func Install( vmLister virtlisters.VirtualMachineLister, server *genericapiserver.GenericAPIServer, - kubevirt vmrest.KubevirtApiServerConfig, + kubevirt vmrest.KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, crd *apiextensionsv1.CustomResourceDefinition, vmClient versionedv1alpha2.VirtualMachinesGetter, diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go index cf2924b4bb..ae52b6887a 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go @@ -37,7 +37,7 @@ import ( type AddVolumeREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -45,7 +45,7 @@ var ( _ rest.Connecter = &AddVolumeREST{} ) -func NewAddVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *AddVolumeREST { +func NewAddVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *AddVolumeREST { return &AddVolumeREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -194,7 +194,7 @@ func AddVolumeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineAddVolume, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, addVolumePather pather, ) (*url.URL, *http.Transport, error) { diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go index 716ba6e5a5..c476574368 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go @@ -35,7 +35,7 @@ import ( type CancelEvacuationREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -43,7 +43,7 @@ var ( _ rest.Connecter = &CancelEvacuationREST{} ) -func NewCancelEvacuationREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *CancelEvacuationREST { +func NewCancelEvacuationREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *CancelEvacuationREST { return &CancelEvacuationREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -109,7 +109,7 @@ func CancelEvacuationRESTRESTLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineCancelEvacuation, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, cancelEvacuationPather pather, ) (*url.URL, *http.Transport, error) { diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go index 2e32a21676..8e15579b2b 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go @@ -34,11 +34,10 @@ import ( type ConsoleREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } -//nolint:stylecheck // TODO: fix -type KubevirtApiServerConfig struct { +type KubevirtAPIServerConfig struct { Endpoint string CaBundlePath string ServiceAccount types.NamespacedName @@ -49,7 +48,7 @@ var ( _ rest.Connecter = &ConsoleREST{} ) -func NewConsoleREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *ConsoleREST { +func NewConsoleREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *ConsoleREST { return &ConsoleREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -94,7 +93,7 @@ func ConsoleLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineConsole, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go index 27c13563b2..db922af05b 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go @@ -33,7 +33,7 @@ import ( type FreezeREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -41,7 +41,7 @@ var ( _ rest.Connecter = &FreezeREST{} ) -func NewFreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *FreezeREST { +func NewFreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *FreezeREST { return &FreezeREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -84,7 +84,7 @@ func FreezeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineFreeze, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go index 32a8ab9ddf..de44cd1405 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go @@ -35,7 +35,7 @@ import ( type PortForwardREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -43,7 +43,7 @@ var ( _ rest.Connecter = &PortForwardREST{} ) -func NewPortForwardREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *PortForwardREST { +func NewPortForwardREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *PortForwardREST { return &PortForwardREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -88,7 +88,7 @@ func PortForwardLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachinePortForward, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { streamPath := buildPortForwardResourcePath(opts) diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go index f64cce27e3..9792d51f1a 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go @@ -35,7 +35,7 @@ import ( type RemoveVolumeREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -43,7 +43,7 @@ var ( _ rest.Connecter = &RemoveVolumeREST{} ) -func NewRemoveVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *RemoveVolumeREST { +func NewRemoveVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *RemoveVolumeREST { return &RemoveVolumeREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -121,7 +121,7 @@ func RemoveVolumeRESTLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineRemoveVolume, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, removeVolumePather pather, ) (*url.URL, *http.Transport, error) { diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go index 94ecf29632..99907413c4 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/stream.go @@ -83,7 +83,7 @@ func streamLocation( getter virtlisters.VirtualMachineLister, name string, pather pather, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, preConditions ...preconditionVirtualMachine, ) (*url.URL, *http.Transport, error) { diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go index cf204369fc..5514cd85ba 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/unfreeze.go @@ -33,7 +33,7 @@ import ( type UnfreezeREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -41,7 +41,7 @@ var ( _ rest.Connecter = &UnfreezeREST{} ) -func NewUnfreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *UnfreezeREST { +func NewUnfreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *UnfreezeREST { return &UnfreezeREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -84,7 +84,7 @@ func UnfreezeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineUnfreeze, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go index f44381a2b3..dd2300fbc9 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/rest/vnc.go @@ -33,7 +33,7 @@ import ( type VNCREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } var ( @@ -41,7 +41,7 @@ var ( _ rest.Connecter = &VNCREST{} ) -func NewVNCREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *VNCREST { +func NewVNCREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *VNCREST { return &VNCREST{ vmLister: vmLister, kubevirt: kubevirt, @@ -86,7 +86,7 @@ func VNCLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineVNC, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( diff --git a/images/virtualization-artifact/pkg/apiserver/registry/vm/storage/storage.go b/images/virtualization-artifact/pkg/apiserver/registry/vm/storage/storage.go index be9ed04768..fe13f2887d 100644 --- a/images/virtualization-artifact/pkg/apiserver/registry/vm/storage/storage.go +++ b/images/virtualization-artifact/pkg/apiserver/registry/vm/storage/storage.go @@ -68,7 +68,7 @@ var ( func NewStorage( groupResource schema.GroupResource, vmLister virtlisters.VirtualMachineLister, - kubevirt vmrest.KubevirtApiServerConfig, + kubevirt vmrest.KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, crd *apiextensionsv1.CustomResourceDefinition, vmClient versionedv1alpha2.VirtualMachinesGetter, diff --git a/images/virtualization-artifact/pkg/apiserver/server/config.go b/images/virtualization-artifact/pkg/apiserver/server/config.go index 4720ba831b..f98fcdf1bf 100644 --- a/images/virtualization-artifact/pkg/apiserver/server/config.go +++ b/images/virtualization-artifact/pkg/apiserver/server/config.go @@ -38,7 +38,7 @@ var ErrConfigInvalid = errors.New("configuration is invalid") type Config struct { Apiserver *genericapiserver.Config Rest *rest.Config - Kubevirt vmrest.KubevirtApiServerConfig + Kubevirt vmrest.KubevirtAPIServerConfig ProxyClientCertFile string ProxyClientKeyFile string } diff --git a/images/virtualization-artifact/pkg/common/annotations/annotations.go b/images/virtualization-artifact/pkg/common/annotations/annotations.go index 676c28c6b9..cdcca89bce 100644 --- a/images/virtualization-artifact/pkg/common/annotations/annotations.go +++ b/images/virtualization-artifact/pkg/common/annotations/annotations.go @@ -79,11 +79,11 @@ const ( AnnOsType = AnnAPIGroupV + "/os-type" - // AnnVmStartRequested is an annotation on KVVM that represents a request to start a virtual machine. - AnnVmStartRequested = AnnAPIGroupV + "/vm-start-requested" //nolint:stylecheck // TODO: fix to AnnVMStartRequested + // AnnVMStartRequested is an annotation on KVVM that represents a request to start a virtual machine. + AnnVMStartRequested = AnnAPIGroupV + "/vm-start-requested" - // AnnVmRestartRequested is an annotation on KVVM that represents a request to restart a virtual machine. - AnnVmRestartRequested = AnnAPIGroupV + "/vm-restart-requested" //nolint:stylecheck // TODO: fix to AnnVMRestartRequested + // AnnVMRestartRequested is an annotation on KVVM that represents a request to restart a virtual machine. + AnnVMRestartRequested = AnnAPIGroupV + "/vm-restart-requested" // AnnVMOPWorkloadUpdate is an annotation on vmop that represents a vmop created by workload-updater controller. AnnVMOPWorkloadUpdate = AnnAPIGroupV + "/workload-update" diff --git a/images/virtualization-artifact/pkg/common/consts.go b/images/virtualization-artifact/pkg/common/consts.go index 21c348ce30..fb16ef545b 100644 --- a/images/virtualization-artifact/pkg/common/consts.go +++ b/images/virtualization-artifact/pkg/common/consts.go @@ -108,7 +108,7 @@ const ( DockerRegistrySchemePrefix = "docker://" - VmBlockDeviceAttachedLimit = 16 //nolint:stylecheck // TODO: fix to VMBlockDeviceAttachedLimit + VMBlockDeviceAttachedLimit = 16 CmpLesser = -1 CmpEqual = 0 diff --git a/images/virtualization-artifact/pkg/common/ip/ip.go b/images/virtualization-artifact/pkg/common/ip/ip.go index df71db2c97..34897bf1c9 100644 --- a/images/virtualization-artifact/pkg/common/ip/ip.go +++ b/images/virtualization-artifact/pkg/common/ip/ip.go @@ -25,8 +25,8 @@ const ipPrefix = "ip-" type AllocatedIPs map[string]struct{} -// IpToLeaseName generate the Virtual Machine IP Address Lease's name from the ip address. -func IpToLeaseName(ip string) string { //nolint:stylecheck // TODO: fix to IPToLeaseName +// IPToLeaseName generate the Virtual Machine IP Address Lease's name from the ip address. +func IPToLeaseName(ip string) string { addr := net.ParseIP(ip) if addr.To4() != nil { // IPv4 address diff --git a/images/virtualization-artifact/pkg/common/kvvm/kvvm.go b/images/virtualization-artifact/pkg/common/kvvm/kvvm.go index a59cd91e8e..43b2348bde 100644 --- a/images/virtualization-artifact/pkg/common/kvvm/kvvm.go +++ b/images/virtualization-artifact/pkg/common/kvvm/kvvm.go @@ -113,17 +113,17 @@ func DeletePodByKVVMI(ctx context.Context, cli client.Client, kvvmi *virtv1.Virt } func AddRestartAnnotation(ctx context.Context, cl client.Client, kvvm *virtv1.VirtualMachine) error { - return object.EnsureAnnotation(ctx, cl, kvvm, annotations.AnnVmRestartRequested, "true") + return object.EnsureAnnotation(ctx, cl, kvvm, annotations.AnnVMRestartRequested, "true") } func AddStartAnnotation(ctx context.Context, cl client.Client, kvvm *virtv1.VirtualMachine) error { - return object.EnsureAnnotation(ctx, cl, kvvm, annotations.AnnVmStartRequested, "true") + return object.EnsureAnnotation(ctx, cl, kvvm, annotations.AnnVMStartRequested, "true") } func RemoveStartAnnotation(ctx context.Context, cl client.Client, kvvm *virtv1.VirtualMachine) error { - return object.RemoveAnnotation(ctx, cl, kvvm, annotations.AnnVmStartRequested) + return object.RemoveAnnotation(ctx, cl, kvvm, annotations.AnnVMStartRequested) } func RemoveRestartAnnotation(ctx context.Context, cl client.Client, kvvm *virtv1.VirtualMachine) error { - return object.RemoveAnnotation(ctx, cl, kvvm, annotations.AnnVmRestartRequested) + return object.RemoveAnnotation(ctx, cl, kvvm, annotations.AnnVMRestartRequested) } diff --git a/images/virtualization-artifact/pkg/common/object/object.go b/images/virtualization-artifact/pkg/common/object/object.go index 28eeeb4d61..43bb089e94 100644 --- a/images/virtualization-artifact/pkg/common/object/object.go +++ b/images/virtualization-artifact/pkg/common/object/object.go @@ -162,8 +162,8 @@ func EnsureAnnotation(ctx context.Context, cl client.Client, obj client.Object, } op = patch.PatchReplaceOp } - jsonOp := patch.NewJsonPatchOperation(op, fmt.Sprintf("/metadata/annotations/%s", patch.EscapeJSONPointer(annoKey)), annoValue) - bytes, err := patch.NewJsonPatch(jsonOp).Bytes() + jsonOp := patch.NewJSONPatchOperation(op, fmt.Sprintf("/metadata/annotations/%s", patch.EscapeJSONPointer(annoKey)), annoValue) + bytes, err := patch.NewJSONPatch(jsonOp).Bytes() if err != nil { return err } @@ -176,7 +176,7 @@ func RemoveAnnotation(ctx context.Context, cl client.Client, obj client.Object, return nil } jsonOp := patch.WithRemove(fmt.Sprintf("/metadata/annotations/%s", patch.EscapeJSONPointer(annoKey))) - bytes, err := patch.NewJsonPatch(jsonOp).Bytes() + bytes, err := patch.NewJSONPatch(jsonOp).Bytes() if err != nil { return err } diff --git a/images/virtualization-artifact/pkg/common/patch/patch.go b/images/virtualization-artifact/pkg/common/patch/patch.go index 385fa1f108..b6e4640755 100644 --- a/images/virtualization-artifact/pkg/common/patch/patch.go +++ b/images/virtualization-artifact/pkg/common/patch/patch.go @@ -29,55 +29,51 @@ const ( PatchTestOp = "test" ) -//nolint:stylecheck // TODO: fix to JSONPatch -type JsonPatch struct { - operations []JsonPatchOperation +type JSONPatch struct { + operations []JSONPatchOperation } -//nolint:stylecheck // TODO: fix to JSONPatchOperation -type JsonPatchOperation struct { +type JSONPatchOperation struct { Op string `json:"op"` Path string `json:"path"` Value interface{} `json:"value,omitempty"` } -//nolint:stylecheck // TODO: fix to NewJSONPatch -func NewJsonPatch(patches ...JsonPatchOperation) *JsonPatch { - return &JsonPatch{ +func NewJSONPatch(patches ...JSONPatchOperation) *JSONPatch { + return &JSONPatch{ operations: patches, } } -//nolint:stylecheck // TODO: fix to NewJSONPatchOperation -func NewJsonPatchOperation(op, path string, value interface{}) JsonPatchOperation { - return JsonPatchOperation{ +func NewJSONPatchOperation(op, path string, value interface{}) JSONPatchOperation { + return JSONPatchOperation{ Op: op, Path: path, Value: value, } } -func WithAdd(path string, value interface{}) JsonPatchOperation { - return NewJsonPatchOperation(PatchAddOp, path, value) +func WithAdd(path string, value interface{}) JSONPatchOperation { + return NewJSONPatchOperation(PatchAddOp, path, value) } -func WithRemove(path string) JsonPatchOperation { - return NewJsonPatchOperation(PatchRemoveOp, path, nil) +func WithRemove(path string) JSONPatchOperation { + return NewJSONPatchOperation(PatchRemoveOp, path, nil) } -func WithReplace(path string, value interface{}) JsonPatchOperation { - return NewJsonPatchOperation(PatchReplaceOp, path, value) +func WithReplace(path string, value interface{}) JSONPatchOperation { + return NewJSONPatchOperation(PatchReplaceOp, path, value) } -func (jp *JsonPatch) Operations() []JsonPatchOperation { +func (jp *JSONPatch) Operations() []JSONPatchOperation { return jp.operations } -func (jp *JsonPatch) Append(patches ...JsonPatchOperation) { +func (jp *JSONPatch) Append(patches ...JSONPatchOperation) { jp.operations = append(jp.operations, patches...) } -func (jp *JsonPatch) Delete(op, path string) { +func (jp *JSONPatch) Delete(op, path string) { var idx int var found bool for i, o := range jp.operations { @@ -92,11 +88,11 @@ func (jp *JsonPatch) Delete(op, path string) { } } -func (jp *JsonPatch) Len() int { +func (jp *JSONPatch) Len() int { return len(jp.operations) } -func (jp *JsonPatch) String() (string, error) { +func (jp *JSONPatch) String() (string, error) { bytes, err := jp.Bytes() if err != nil { return "", err @@ -104,7 +100,7 @@ func (jp *JsonPatch) String() (string, error) { return string(bytes), nil } -func (jp *JsonPatch) Bytes() ([]byte, error) { +func (jp *JSONPatch) Bytes() ([]byte, error) { if jp.Len() == 0 { return nil, fmt.Errorf("list of patches is empty") } diff --git a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go index bc5649e734..832e7aef5f 100644 --- a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go +++ b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go @@ -29,8 +29,8 @@ const ( VirtualizationApiAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" //nolint:stylecheck // TODO: fix to VirtualizationAPIAuthServiceAccountNamespaceVar ) -func LoadKubevirtAPIServerFromEnv() rest.KubevirtApiServerConfig { - conf := rest.KubevirtApiServerConfig{} +func LoadKubevirtAPIServerFromEnv() rest.KubevirtAPIServerConfig { + conf := rest.KubevirtAPIServerConfig{} conf.Endpoint = os.Getenv(KubevirtAPIServerEndpointVar) conf.CaBundlePath = os.Getenv(KubevirtAPIServerCABundlePathVar) conf.ServiceAccount.Name = os.Getenv(VirtualizationApiAuthServiceAccountNameVar) diff --git a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go index 8c4cb4804a..198dd4a4c8 100644 --- a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go +++ b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go @@ -222,8 +222,8 @@ func generateVMVolumeRequestPatch(vm *virtv1.VirtualMachine, volumeRequest *virt if len(vm.Status.VolumeRequests) > 0 { verb = patch.PatchReplaceOp } - jop := patch.NewJsonPatchOperation(verb, "/status/volumeRequests", vmCopy.Status.VolumeRequests) - jp := patch.NewJsonPatch(jop) + jop := patch.NewJSONPatchOperation(verb, "/status/volumeRequests", vmCopy.Status.VolumeRequests) + jp := patch.NewJSONPatch(jop) return jp.String() } diff --git a/images/virtualization-artifact/pkg/controller/powerstate/kvvm_request.go b/images/virtualization-artifact/pkg/controller/powerstate/kvvm_request.go index 3d5124efdc..1e4366034c 100644 --- a/images/virtualization-artifact/pkg/controller/powerstate/kvvm_request.go +++ b/images/virtualization-artifact/pkg/controller/powerstate/kvvm_request.go @@ -38,12 +38,12 @@ var ErrChangesAlreadyExist = errors.New("changes already exist in the current st // restart(stop+start) replace error error // empty add add add func BuildPatch(vm *kvv1.VirtualMachine, changes ...kvv1.VirtualMachineStateChangeRequest) ([]byte, error) { - jp := patch.NewJsonPatch() + jp := patch.NewJSONPatch() // Special case: if there's no status field at all, add one. newStatus := kvv1.VirtualMachineStatus{} if equality.Semantic.DeepEqual(vm.Status, newStatus) { newStatus.StateChangeRequests = changes - jp.Append(patch.NewJsonPatchOperation(patch.PatchAddOp, "/status", newStatus)) + jp.Append(patch.NewJSONPatchOperation(patch.PatchAddOp, "/status", newStatus)) } else { verb := patch.PatchAddOp failOnConflict := true @@ -62,10 +62,10 @@ func BuildPatch(vm *kvv1.VirtualMachine, changes ...kvv1.VirtualMachineStateChan verb = patch.PatchReplaceOp } } - jp.Append(patch.NewJsonPatchOperation(verb, "/status/stateChangeRequests", changes)) + jp.Append(patch.NewJSONPatchOperation(verb, "/status/stateChangeRequests", changes)) } if vm.Status.StartFailure != nil { - jp.Append(patch.NewJsonPatchOperation(patch.PatchRemoveOp, "/status/startFailure", nil)) + jp.Append(patch.NewJSONPatchOperation(patch.PatchRemoveOp, "/status/startFailure", nil)) } return jp.Bytes() } @@ -81,16 +81,16 @@ func BuildPatchSafeRestart(kvvm *kvv1.VirtualMachine, kvvmi *kvv1.VirtualMachine {Action: kvv1.StopRequest, UID: &kvvmi.UID}, {Action: kvv1.StartRequest}, } - jp := patch.NewJsonPatch() + jp := patch.NewJSONPatch() newStatus := kvv1.VirtualMachineStatus{} if equality.Semantic.DeepEqual(kvvm.Status, newStatus) { // Add /status if it's not exists. newStatus.StateChangeRequests = restartRequest - jp.Append(patch.NewJsonPatchOperation(patch.PatchAddOp, "/status", newStatus)) + jp.Append(patch.NewJSONPatchOperation(patch.PatchAddOp, "/status", newStatus)) } else { // Set stateChangeRequests. - jp.Append(patch.NewJsonPatchOperation(patch.PatchAddOp, "/status/stateChangeRequests", restartRequest)) + jp.Append(patch.NewJSONPatchOperation(patch.PatchAddOp, "/status/stateChangeRequests", restartRequest)) } return jp.Bytes() } diff --git a/images/virtualization-artifact/pkg/controller/reconciler/resource.go b/images/virtualization-artifact/pkg/controller/reconciler/resource.go index 83f1711682..3f8fab92b4 100644 --- a/images/virtualization-artifact/pkg/controller/reconciler/resource.go +++ b/images/virtualization-artifact/pkg/controller/reconciler/resource.go @@ -184,7 +184,7 @@ func (r *Resource[T, ST]) Update(ctx context.Context) error { r.changedObj.SetAnnotations(annotations) } - metadataPatch := patch.NewJsonPatch() + metadataPatch := patch.NewJSONPatch() if !slices.Equal(r.currentObj.GetFinalizers(), r.changedObj.GetFinalizers()) { metadataPatch.Append(r.JSONPatchOpsForFinalizers()...) @@ -216,23 +216,23 @@ func (r *Resource[T, ST]) Update(ctx context.Context) error { return nil } -func (r *Resource[T, ST]) JSONPatchOpsForFinalizers() []patch.JsonPatchOperation { - return []patch.JsonPatchOperation{ - patch.NewJsonPatchOperation(patch.PatchReplaceOp, "/metadata/finalizers", r.changedObj.GetFinalizers()), +func (r *Resource[T, ST]) JSONPatchOpsForFinalizers() []patch.JSONPatchOperation { + return []patch.JSONPatchOperation{ + patch.NewJSONPatchOperation(patch.PatchReplaceOp, "/metadata/finalizers", r.changedObj.GetFinalizers()), } } -func (r *Resource[T, ST]) JSONPatchOpsForAnnotations() []patch.JsonPatchOperation { - return []patch.JsonPatchOperation{ - patch.NewJsonPatchOperation(patch.PatchTestOp, "/metadata/annotations", r.currentObj.GetAnnotations()), - patch.NewJsonPatchOperation(patch.PatchReplaceOp, "/metadata/annotations", r.changedObj.GetAnnotations()), +func (r *Resource[T, ST]) JSONPatchOpsForAnnotations() []patch.JSONPatchOperation { + return []patch.JSONPatchOperation{ + patch.NewJSONPatchOperation(patch.PatchTestOp, "/metadata/annotations", r.currentObj.GetAnnotations()), + patch.NewJSONPatchOperation(patch.PatchReplaceOp, "/metadata/annotations", r.changedObj.GetAnnotations()), } } -func (r *Resource[T, ST]) JSONPatchOpsForLabels() []patch.JsonPatchOperation { - return []patch.JsonPatchOperation{ - patch.NewJsonPatchOperation(patch.PatchTestOp, "/metadata/labels", r.currentObj.GetLabels()), - patch.NewJsonPatchOperation(patch.PatchReplaceOp, "/metadata/labels", r.changedObj.GetLabels()), +func (r *Resource[T, ST]) JSONPatchOpsForLabels() []patch.JSONPatchOperation { + return []patch.JSONPatchOperation{ + patch.NewJSONPatchOperation(patch.PatchTestOp, "/metadata/labels", r.currentObj.GetLabels()), + patch.NewJSONPatchOperation(patch.PatchReplaceOp, "/metadata/labels", r.changedObj.GetLabels()), } } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go index 92a221597f..825ed6870b 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go @@ -180,12 +180,12 @@ func (h *BlockDeviceHandler) handleBlockDeviceLimit(ctx context.Context, vm *vir return false, err } - if blockDeviceAttachedCount > common.VmBlockDeviceAttachedLimit { + if blockDeviceAttachedCount > common.VMBlockDeviceAttachedLimit { conditions.SetCondition( conditions.NewConditionBuilder(vmcondition.TypeBlockDevicesReady). Status(metav1.ConditionFalse). Reason(vmcondition.ReasonBlockDeviceLimitExceeded). - Message(fmt.Sprintf("Cannot attach %d block devices (%d is maximum) to VirtualMachine %q", blockDeviceAttachedCount, common.VmBlockDeviceAttachedLimit, vm.Name)). + Message(fmt.Sprintf("Cannot attach %d block devices (%d is maximum) to VirtualMachine %q", blockDeviceAttachedCount, common.VMBlockDeviceAttachedLimit, vm.Name)). Generation(vm.Generation), &vm.Status.Conditions, ) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_metadata.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_metadata.go index 77e177960d..8d6cd72879 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_metadata.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_metadata.go @@ -134,9 +134,9 @@ func (h *SyncMetadataHandler) Name() string { } func (h *SyncMetadataHandler) patchLabelsAndAnnotations(ctx context.Context, obj client.Object, metadata metav1.ObjectMeta) error { - jp := patch.NewJsonPatch( - patch.NewJsonPatchOperation(patch.PatchReplaceOp, "/metadata/labels", metadata.Labels), - patch.NewJsonPatchOperation(patch.PatchReplaceOp, "/metadata/annotations", metadata.Annotations), + jp := patch.NewJSONPatch( + patch.NewJSONPatchOperation(patch.PatchReplaceOp, "/metadata/labels", metadata.Labels), + patch.NewJSONPatchOperation(patch.PatchReplaceOp, "/metadata/annotations", metadata.Annotations), ) bytes, err := jp.Bytes() if err != nil { diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go index 02224d5ac8..0a45005ee8 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state.go @@ -209,7 +209,7 @@ func (h *SyncPowerStateHandler) handleManualPolicy( return Nothing } - if kvvm.Annotations[annotations.AnnVmRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { + if kvvm.Annotations[annotations.AnnVMRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { h.recordRestartEventf(ctx, s.VirtualMachine().Current(), "Restart initiated "+ "by VirtualMachineOparation for Manual runPolicy") return Restart @@ -273,7 +273,7 @@ func (h *SyncPowerStateHandler) handleAlwaysOnPolicy( return Nothing, nil } - if kvvm.Annotations[annotations.AnnVmRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { + if kvvm.Annotations[annotations.AnnVMRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { h.recordRestartEventf(ctx, s.VirtualMachine().Current(), "Restart initiated "+ "by VirtualMachineOparation for AlwaysOn runPolicy") return Restart, nil @@ -325,7 +325,7 @@ func (h *SyncPowerStateHandler) handleAlwaysOnUnlessStoppedManuallyPolicy( return Nothing, nil } - if kvvm.Annotations[annotations.AnnVmRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { + if kvvm.Annotations[annotations.AnnVMRestartRequested] == "true" && kvvmi.Status.Phase == virtv1.Running { h.recordRestartEventf(ctx, s.VirtualMachine().Current(), "Restart initiated by "+ "VirtualMachineOparation for AlwaysOnUnlessStoppedManually runPolicy") return Restart, nil @@ -377,7 +377,7 @@ func (h *SyncPowerStateHandler) checkNeedStartVM( runPolicy virtv2.RunPolicy, ) bool { if isConfigurationApplied && - (kvvm.Annotations[annotations.AnnVmStartRequested] == "true" || kvvm.Annotations[annotations.AnnVmRestartRequested] == "true") { + (kvvm.Annotations[annotations.AnnVMStartRequested] == "true" || kvvm.Annotations[annotations.AnnVMRestartRequested] == "true") { h.recordStartEventf(ctx, s.VirtualMachine().Current(), "Start initiated by controller for %v policy", runPolicy) return true } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go index 361316b63d..f3be8af643 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/sync_power_state_test.go @@ -82,17 +82,17 @@ var _ = Describe("Test power actions with VMs", func() { }) It("should handle start", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmStartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMStartRequested) setupTestEnvironment() err := handler.start(ctx, vmState, kvvm, true) Expect(err).NotTo(HaveOccurred()) Expect(kvvm.Status.StateChangeRequests[0].Action).To(Equal(virtv1.StateChangeRequestAction("Start"))) - Expect(kvvm.Annotations[annotations.AnnVmStartRequested]).To(Equal("")) + Expect(kvvm.Annotations[annotations.AnnVMStartRequested]).To(Equal("")) }) It("should handle restart", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmRestartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMRestartRequested) setupTestEnvironment() @@ -100,7 +100,7 @@ var _ = Describe("Test power actions with VMs", func() { Expect(err).NotTo(HaveOccurred()) Expect(kvvm.Status.StateChangeRequests[0].Action).To(Equal(virtv1.StateChangeRequestAction("Stop"))) Expect(kvvm.Status.StateChangeRequests[1].Action).To(Equal(virtv1.StateChangeRequestAction("Start"))) - Expect(kvvm.Annotations[annotations.AnnVmRestartRequested]).To(Equal("")) + Expect(kvvm.Annotations[annotations.AnnVMRestartRequested]).To(Equal("")) }) It("should add start annotation", func() { @@ -118,7 +118,7 @@ var _ = Describe("Test power actions with VMs", func() { setupTestEnvironment() err := handler.restart(ctx, vmState, kvvm, kvvmi, false) Expect(err).NotTo(HaveOccurred()) - Expect(kvvm.Annotations[annotations.AnnVmStartRequested]).To(Equal("true")) + Expect(kvvm.Annotations[annotations.AnnVMStartRequested]).To(Equal("true")) }) }) @@ -169,7 +169,7 @@ var _ = Describe("Test action getters for different run policy", func() { Context("handleManualPolicy", func() { It("should return start action", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmStartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMStartRequested) action := handler.handleManualPolicy( ctx, vmState, kvvm, nil, true, powerstate.ShutdownInfo{}, @@ -189,7 +189,7 @@ var _ = Describe("Test action getters for different run policy", func() { }) It("should return restart action", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmRestartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMRestartRequested) kvvmi.Status.Phase = virtv1.Running action := handler.handleManualPolicy( @@ -219,7 +219,7 @@ var _ = Describe("Test action getters for different run policy", func() { ) Expect(err).NotTo(HaveOccurred()) Expect(action).To(Equal(Nothing)) - Expect(kvvm.Annotations[annotations.AnnVmStartRequested]).To(Equal("true")) + Expect(kvvm.Annotations[annotations.AnnVMStartRequested]).To(Equal("true")) }) It("should return start action when kvvmi is nil and configuration applied", func() { @@ -240,7 +240,7 @@ var _ = Describe("Test action getters for different run policy", func() { }) It("should return restart action when restart requested", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmRestartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMRestartRequested) kvvmi.Status.Phase = virtv1.Running action, err := handler.handleAlwaysOnPolicy( ctx, vmState, kvvm, kvvmi, true, powerstate.ShutdownInfo{}, @@ -290,7 +290,7 @@ var _ = Describe("Test action getters for different run policy", func() { }) It("should return restart action when restart requested", func() { - setupKVVMAnnotations(kvvm, annotations.AnnVmRestartRequested) + setupKVVMAnnotations(kvvm, annotations.AnnVMRestartRequested) kvvmi.Status.Phase = virtv1.Running action, err := handler.handleAlwaysOnUnlessStoppedManuallyPolicy( ctx, vmState, kvvm, kvvmi, false, powerstate.ShutdownInfo{}, diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/util.go b/images/virtualization-artifact/pkg/controller/vm/internal/util.go index 6ef4c9529d..31acc16ecf 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/util.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/util.go @@ -97,7 +97,7 @@ var mapPhases = map[virtv1.VirtualMachinePrintableStatus]PhaseGetter{ virtv1.VirtualMachineStatusStopped: func(vm *virtv2.VirtualMachine, kvvm *virtv1.VirtualMachine) virtv2.MachinePhase { if vm != nil && kvvm != nil { if !checkVirtualMachineConfiguration(vm) && - kvvm != nil && kvvm.Annotations[annotations.AnnVmStartRequested] == "true" { + kvvm != nil && kvvm.Annotations[annotations.AnnVMStartRequested] == "true" { return virtv2.MachinePending } } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go b/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go index 9f17b5abee..fb95d3d33b 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go @@ -55,8 +55,8 @@ func (v *BlockDeviceLimiterValidator) validate(ctx context.Context, vm *virtv2.V return nil, err } - if count > common.VmBlockDeviceAttachedLimit { - err = fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", vm.Name, count, common.VmBlockDeviceAttachedLimit) + if count > common.VMBlockDeviceAttachedLimit { + err = fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", vm.Name, count, common.VMBlockDeviceAttachedLimit) return nil, err } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/kvvm_watcher.go b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/kvvm_watcher.go index 1e61a611b7..de04d1e845 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/watcher/kvvm_watcher.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/watcher/kvvm_watcher.go @@ -54,8 +54,8 @@ func (w *KVVMWatcher) Watch(mgr manager.Manager, ctr controller.Controller) erro newVM := e.ObjectNew.(*virtv1.VirtualMachine) return oldVM.Status.PrintableStatus != newVM.Status.PrintableStatus || oldVM.Status.Ready != newVM.Status.Ready || - oldVM.Annotations[annotations.AnnVmStartRequested] != newVM.Annotations[annotations.AnnVmStartRequested] || - oldVM.Annotations[annotations.AnnVmRestartRequested] != newVM.Annotations[annotations.AnnVmRestartRequested] + oldVM.Annotations[annotations.AnnVMStartRequested] != newVM.Annotations[annotations.AnnVMStartRequested] || + oldVM.Annotations[annotations.AnnVMRestartRequested] != newVM.Annotations[annotations.AnnVMRestartRequested] }, }, ); err != nil { diff --git a/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go b/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go index 42ac972584..1b8da3966e 100644 --- a/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go +++ b/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go @@ -52,7 +52,7 @@ func (h *BlockDeviceLimiter) Handle(ctx context.Context, vmbda *virtv2.VirtualMa return reconcile.Result{}, nil } - if blockDeviceAttachedCount <= common.VmBlockDeviceAttachedLimit { + if blockDeviceAttachedCount <= common.VMBlockDeviceAttachedLimit { cb. Status(metav1.ConditionTrue). Reason(vmbdacondition.CapacityAvailable). @@ -61,7 +61,7 @@ func (h *BlockDeviceLimiter) Handle(ctx context.Context, vmbda *virtv2.VirtualMa cb. Status(metav1.ConditionFalse). Reason(vmbdacondition.CapacityReached). - Message(fmt.Sprintf("Can not attach %d block devices (%d is maximum) to `VirtualMachine` %q", blockDeviceAttachedCount, common.VmBlockDeviceAttachedLimit, vmbda.Spec.VirtualMachineName)) + Message(fmt.Sprintf("Can not attach %d block devices (%d is maximum) to `VirtualMachine` %q", blockDeviceAttachedCount, common.VMBlockDeviceAttachedLimit, vmbda.Spec.VirtualMachineName)) } return reconcile.Result{}, nil diff --git a/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go b/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go index 9a9b1f8797..104deddb95 100644 --- a/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go +++ b/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go @@ -47,8 +47,8 @@ func (v *VMConnectLimiterValidator) ValidateCreate(ctx context.Context, vmbda *v } // created entity counted too - if count+1 > common.VmBlockDeviceAttachedLimit { - return nil, fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", vmbda.Spec.VirtualMachineName, count, common.VmBlockDeviceAttachedLimit) + if count+1 > common.VMBlockDeviceAttachedLimit { + return nil, fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", vmbda.Spec.VirtualMachineName, count, common.VMBlockDeviceAttachedLimit) } return nil, nil @@ -61,8 +61,8 @@ func (v *VMConnectLimiterValidator) ValidateUpdate(ctx context.Context, _, newVM return nil, err } - if count > common.VmBlockDeviceAttachedLimit { - return nil, fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", newVMBDA.Spec.VirtualMachineName, count, common.VmBlockDeviceAttachedLimit) + if count > common.VMBlockDeviceAttachedLimit { + return nil, fmt.Errorf("block device attached to VirtualMachine %q limit reached: %d devices found, %d is maximum", newVMBDA.Spec.VirtualMachineName, count, common.VMBlockDeviceAttachedLimit) } return nil, nil diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go index 3460eac27b..8c6429fe09 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/bound_handler_test.go @@ -71,7 +71,7 @@ var _ = Describe("BoundHandler", func() { Labels: map[string]string{ annotations.LabelVirtualMachineIPAddressUID: string(vmip.UID), }, - Name: ip.IpToLeaseName(ipAddress), + Name: ip.IPToLeaseName(ipAddress), Generation: 1, }, } diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go index f5343c15fa..41c7e9d143 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/service/ip_address_service.go @@ -141,7 +141,7 @@ func (s IPAddressService) GetLease(ctx context.Context, vmip *virtv2.VirtualMach func (s IPAddressService) getLeaseByIPAddress(ctx context.Context, ipAddress string) (*virtv2.VirtualMachineIPAddressLease, error) { // 1. Trying to find the Lease in the local cache. - lease, err := object.FetchObject(ctx, types.NamespacedName{Name: ip.IpToLeaseName(ipAddress)}, s.client, &virtv2.VirtualMachineIPAddressLease{}) + lease, err := object.FetchObject(ctx, types.NamespacedName{Name: ip.IPToLeaseName(ipAddress)}, s.client, &virtv2.VirtualMachineIPAddressLease{}) if err != nil { return nil, fmt.Errorf("fetch lease in local cache: %w", err) } @@ -152,7 +152,7 @@ func (s IPAddressService) getLeaseByIPAddress(ctx context.Context, ipAddress str // The local cache might be outdated, which is why the Lease is not present in the cache, even though it may already exist in the cluster. // Double-check Lease existence in the cluster by making a direct request to the Kubernetes API. - lease, err = s.virtClient.VirtualMachineIPAddressLeases().Get(ctx, ip.IpToLeaseName(ipAddress), metav1.GetOptions{}) + lease, err = s.virtClient.VirtualMachineIPAddressLeases().Get(ctx, ip.IPToLeaseName(ipAddress), metav1.GetOptions{}) switch { case err == nil: logger.FromContext(ctx).Warn("The lease was not found by ip address in the local cache, but it already exists in the cluster", "leaseName", lease.Name) diff --git a/images/virtualization-artifact/pkg/controller/vmip/internal/step/create_lease_step.go b/images/virtualization-artifact/pkg/controller/vmip/internal/step/create_lease_step.go index b439f5d078..aaa5b48328 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/internal/step/create_lease_step.go +++ b/images/virtualization-artifact/pkg/controller/vmip/internal/step/create_lease_step.go @@ -79,7 +79,7 @@ func (s CreateLeaseStep) Take(ctx context.Context, vmip *virtv2.VirtualMachineIP s.cb. Status(metav1.ConditionFalse). Reason(vmipcondition.VirtualMachineIPAddressLeaseLost). - Message(fmt.Sprintf("The VirtualMachineIPAddressLease %q doesn't exist.", ip.IpToLeaseName(vmip.Status.Address))) + Message(fmt.Sprintf("The VirtualMachineIPAddressLease %q doesn't exist.", ip.IPToLeaseName(vmip.Status.Address))) return &reconcile.Result{}, nil } @@ -173,7 +173,7 @@ func buildVirtualMachineIPAddressLease(vmip *virtv2.VirtualMachineIPAddress, ipA Labels: map[string]string{ annotations.LabelVirtualMachineIPAddressUID: string(vmip.GetUID()), }, - Name: ip.IpToLeaseName(ipAddress), + Name: ip.IPToLeaseName(ipAddress), }, Spec: virtv2.VirtualMachineIPAddressLeaseSpec{ VirtualMachineIPAddressRef: &virtv2.VirtualMachineIPAddressLeaseIpAddressRef{ diff --git a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go index 64afb31678..49f99b77ec 100644 --- a/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go +++ b/images/virtualization-artifact/pkg/controller/vmip/vmip_webhook.go @@ -167,7 +167,7 @@ func (v *Validator) validateAllocatedIPAddresses(ctx context.Context, ipAddress _, ok := allocatedIPs[ipAddress] if ok { var lease *v1alpha2.VirtualMachineIPAddressLease - lease, err = object.FetchObject(ctx, types.NamespacedName{Name: ip.IpToLeaseName(ipAddress)}, v.client, &v1alpha2.VirtualMachineIPAddressLease{}) + lease, err = object.FetchObject(ctx, types.NamespacedName{Name: ip.IPToLeaseName(ipAddress)}, v.client, &v1alpha2.VirtualMachineIPAddressLease{}) if err != nil { return fmt.Errorf("failed to fetch allocated IP address: %w", err) } diff --git a/images/virtualization-artifact/pkg/livemigration/migration_configuration.go b/images/virtualization-artifact/pkg/livemigration/migration_configuration.go index 8c16335caa..21910bc868 100644 --- a/images/virtualization-artifact/pkg/livemigration/migration_configuration.go +++ b/images/virtualization-artifact/pkg/livemigration/migration_configuration.go @@ -111,5 +111,5 @@ func GenerateMigrationConfigurationPatch(current, changed *virtv1.VirtualMachine op = patch.PatchAddOp } - return patch.NewJsonPatch(patch.NewJsonPatchOperation(op, "/status/migrationState/migrationConfiguration", changedConf)).Bytes() + return patch.NewJSONPatch(patch.NewJSONPatchOperation(op, "/status/migrationState/migrationConfiguration", changedConf)).Bytes() } diff --git a/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go b/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go index 67d073bd95..a08ad5abe8 100644 --- a/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go +++ b/images/virtualization-artifact/pkg/migration/qemu_max_length_36.go @@ -96,7 +96,7 @@ func (r *qemuMaxLength36) Migrate(ctx context.Context) error { } func (r *qemuMaxLength36) genPatch(base, namespace string, spec *virtv1.VirtualMachineInstanceSpec, disks diskCache) (bool, client.Patch, error) { - var ops []patch.JsonPatchOperation + var ops []patch.JSONPatchOperation for i, d := range spec.Domain.Devices.Disks { if d.Disk == nil { continue @@ -136,7 +136,7 @@ func (r *qemuMaxLength36) genPatch(base, namespace string, spec *virtv1.VirtualM newSerial := kvbuilder.GenerateSerial(string(uid)) if d.Serial != "" && d.Serial != newSerial { - ops = append(ops, patch.NewJsonPatchOperation( + ops = append(ops, patch.NewJSONPatchOperation( patch.PatchReplaceOp, fmt.Sprintf("%s/domain/devices/disks/%d/serial", base, i), newSerial, @@ -146,7 +146,7 @@ func (r *qemuMaxLength36) genPatch(base, namespace string, spec *virtv1.VirtualM if len(ops) == 0 { return false, nil, nil } - bytes, err := patch.NewJsonPatch(ops...).Bytes() + bytes, err := patch.NewJSONPatch(ops...).Bytes() if err != nil { return false, nil, err } From ee0c87e11ac16f341872318b98654ccd941ff0d8 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 09:35:13 +0300 Subject: [PATCH 12/20] fix all +3 Signed-off-by: Nikita Korolev --- .../pkg/common/pod/pod.go | 8 ++--- .../pkg/config/load_gc_settings.go | 8 ++--- .../load_kubevirt_apiserver_settings.go | 8 ++--- .../pkg/controller/controller_suite_test.go | 3 +- .../pkg/controller/ipam/ipam.go | 3 +- .../pkg/controller/kvapi/kvapi.go | 20 ++++++------- .../pkg/controller/kvbuilder/kvvm.go | 3 +- .../pkg/controller/kvbuilder/kvvm_utils.go | 2 +- .../controller/service/blockdevice_service.go | 6 ++-- .../vm/internal/block_device_handler.go | 2 +- .../vm/internal/block_devices_test.go | 29 +++++++++---------- .../pkg/controller/vm/internal/interfaces.go | 2 +- .../pkg/controller/vm/internal/ipam.go | 4 +-- .../pkg/controller/vm/internal/mock.go | 2 +- .../block_device_limiter_validator.go | 2 +- .../vmbda/internal/block_device_limiter.go | 2 +- .../vm_connect_limiter_validator.go | 4 +-- .../metrics/virtualmachine/scraper.go | 25 +++++++--------- 18 files changed, 60 insertions(+), 73 deletions(-) diff --git a/images/virtualization-artifact/pkg/common/pod/pod.go b/images/virtualization-artifact/pkg/common/pod/pod.go index ae8ef17d89..0685aafa9a 100644 --- a/images/virtualization-artifact/pkg/common/pod/pod.go +++ b/images/virtualization-artifact/pkg/common/pod/pod.go @@ -103,8 +103,8 @@ func IsPodComplete(pod *corev1.Pod) bool { return pod != nil && pod.Status.Phase == corev1.PodSucceeded } -// QemuSubGid is the gid used as the qemu group in fsGroup -const QemuSubGid = int64(107) //nolint:stylecheck // TODO: fix to QemuSubGID +// QemuSubGID is the gid used as the qemu group in fsGroup +const QemuSubGID = int64(107) // SetRestrictedSecurityContext sets the pod security params to be compatible with restricted PSA func SetRestrictedSecurityContext(podSpec *corev1.PodSpec) { @@ -125,7 +125,7 @@ func SetRestrictedSecurityContext(podSpec *corev1.PodSpec) { } container.SecurityContext.AllowPrivilegeEscalation = ptr.To(false) container.SecurityContext.RunAsNonRoot = ptr.To(true) - container.SecurityContext.RunAsUser = ptr.To(QemuSubGid) + container.SecurityContext.RunAsUser = ptr.To(QemuSubGID) if len(container.VolumeMounts) > 0 { hasVolumeMounts = true } @@ -136,6 +136,6 @@ func SetRestrictedSecurityContext(podSpec *corev1.PodSpec) { if podSpec.SecurityContext == nil { podSpec.SecurityContext = &corev1.PodSecurityContext{} } - podSpec.SecurityContext.FSGroup = ptr.To(QemuSubGid) + podSpec.SecurityContext.FSGroup = ptr.To(QemuSubGID) } } diff --git a/images/virtualization-artifact/pkg/config/load_gc_settings.go b/images/virtualization-artifact/pkg/config/load_gc_settings.go index d5fa8edec0..7cac99823f 100644 --- a/images/virtualization-artifact/pkg/config/load_gc_settings.go +++ b/images/virtualization-artifact/pkg/config/load_gc_settings.go @@ -25,9 +25,9 @@ import ( ) const ( - GcVmopTtlVar = "GC_VMOP_TTL" //nolint:stylecheck // TODO: fix to GcVmopTTLVar + GcVmopTTLVar = "GC_VMOP_TTL" GcVmopScheduleVar = "GC_VMOP_SCHEDULE" - GcVMIMigrationTtlVar = "GC_VMI_MIGRATION_TTL" //nolint:stylecheck // TODO: fix to GcVMIMigrationTTLVar + GcVMIMigrationTTLVar = "GC_VMI_MIGRATION_TTL" GcVMIMigrationScheduleVar = "GC_VMI_MIGRATION_SCHEDULE" ) @@ -43,13 +43,13 @@ type BaseGcSettings struct { func LoadGcSettings() (GCSettings, error) { var gcSettings GCSettings - base, err := GetBaseGCSettingsFromEnv(GcVmopScheduleVar, GcVmopTtlVar) + base, err := GetBaseGCSettingsFromEnv(GcVmopScheduleVar, GcVmopTTLVar) if err != nil { return gcSettings, err } gcSettings.VMOP = base - base, err = GetBaseGCSettingsFromEnv(GcVMIMigrationScheduleVar, GcVMIMigrationTtlVar) + base, err = GetBaseGCSettingsFromEnv(GcVMIMigrationScheduleVar, GcVMIMigrationTTLVar) if err != nil { return gcSettings, err } diff --git a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go index 832e7aef5f..5682af8cb7 100644 --- a/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go +++ b/images/virtualization-artifact/pkg/config/load_kubevirt_apiserver_settings.go @@ -25,15 +25,15 @@ import ( const ( KubevirtAPIServerEndpointVar = "KUBEVIRT_APISERVER_ENDPOINT" KubevirtAPIServerCABundlePathVar = "KUBEVIRT_APISERVER_CABUNDLE" - VirtualizationApiAuthServiceAccountNameVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAME" //nolint:stylecheck // TODO: fix to VirtualizationAPIAuthServiceAccountNameVar - VirtualizationApiAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" //nolint:stylecheck // TODO: fix to VirtualizationAPIAuthServiceAccountNamespaceVar + VirtualizationAPIAuthServiceAccountNameVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAME" + VirtualizationAPIAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" ) func LoadKubevirtAPIServerFromEnv() rest.KubevirtAPIServerConfig { conf := rest.KubevirtAPIServerConfig{} conf.Endpoint = os.Getenv(KubevirtAPIServerEndpointVar) conf.CaBundlePath = os.Getenv(KubevirtAPIServerCABundlePathVar) - conf.ServiceAccount.Name = os.Getenv(VirtualizationApiAuthServiceAccountNameVar) - conf.ServiceAccount.Namespace = os.Getenv(VirtualizationApiAuthServiceAccountNamespaceVar) + conf.ServiceAccount.Name = os.Getenv(VirtualizationAPIAuthServiceAccountNameVar) + conf.ServiceAccount.Namespace = os.Getenv(VirtualizationAPIAuthServiceAccountNamespaceVar) return conf } diff --git a/images/virtualization-artifact/pkg/controller/controller_suite_test.go b/images/virtualization-artifact/pkg/controller/controller_suite_test.go index 9d6c89088e..20ca11dd89 100644 --- a/images/virtualization-artifact/pkg/controller/controller_suite_test.go +++ b/images/virtualization-artifact/pkg/controller/controller_suite_test.go @@ -52,8 +52,7 @@ func (m *MockIPAM) IsBound(_ string, _ *v1alpha2.VirtualMachineIPAddress) bool { return true } -//nolint:stylecheck // TODO: fix to CheckIPAddressAvailableForBinding -func (m *MockIPAM) CheckIpAddressAvailableForBinding(_ string, _ *v1alpha2.VirtualMachineIPAddress) error { +func (m *MockIPAM) CheckIPAddressAvailableForBinding(_ string, _ *v1alpha2.VirtualMachineIPAddress) error { return nil } diff --git a/images/virtualization-artifact/pkg/controller/ipam/ipam.go b/images/virtualization-artifact/pkg/controller/ipam/ipam.go index 0509aee0d9..89c84b0b3f 100644 --- a/images/virtualization-artifact/pkg/controller/ipam/ipam.go +++ b/images/virtualization-artifact/pkg/controller/ipam/ipam.go @@ -56,8 +56,7 @@ func (m IPAM) IsBound(vmName string, vmip *virtv2.VirtualMachineIPAddress) bool return vmip.Status.VirtualMachine == vmName } -//nolint:stylecheck // TODO: fix to CheckIPAddressAvailableForBinding -func (m IPAM) CheckIpAddressAvailableForBinding(vmName string, vmip *virtv2.VirtualMachineIPAddress) error { +func (m IPAM) CheckIPAddressAvailableForBinding(vmName string, vmip *virtv2.VirtualMachineIPAddress) error { if vmip == nil { return errors.New("cannot to bind with empty ip address") } diff --git a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go index 198dd4a4c8..ad900f5108 100644 --- a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go +++ b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go @@ -33,32 +33,30 @@ type Kubevirt interface { } // Deprecated: use virt client. -func New(cli client.Client, kv Kubevirt) *KvApi { - return &KvApi{ +func New(cli client.Client, kv Kubevirt) *KvAPI { + return &KvAPI{ Client: cli, kubevirt: kv, } } // Deprecated: use virt client. -// -//nolint:stylecheck // TODO: fix to KvAPI -type KvApi struct { +type KvAPI struct { client.Client kubevirt Kubevirt } // Deprecated: use virt client. -func (api *KvApi) AddVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.AddVolumeOptions) error { +func (api *KvAPI) AddVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.AddVolumeOptions) error { return api.addVolume(ctx, kvvm, opts) } // Deprecated: use virt client. -func (api *KvApi) RemoveVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.RemoveVolumeOptions) error { +func (api *KvAPI) RemoveVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.RemoveVolumeOptions) error { return api.removeVolume(ctx, kvvm, opts) } -func (api *KvApi) addVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.AddVolumeOptions) error { +func (api *KvAPI) addVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.AddVolumeOptions) error { if kvvm == nil { return nil } @@ -91,7 +89,7 @@ func (api *KvApi) addVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, op return api.vmVolumePatchStatus(ctx, kvvm, &volumeRequest) } -func (api *KvApi) removeVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.RemoveVolumeOptions) error { +func (api *KvAPI) removeVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, opts *virtv1.RemoveVolumeOptions) error { if kvvm == nil { return nil } @@ -110,7 +108,7 @@ func (api *KvApi) removeVolume(ctx context.Context, kvvm *virtv1.VirtualMachine, return api.vmVolumePatchStatus(ctx, kvvm, &volumeRequest) } -func (api *KvApi) vmVolumePatchStatus(ctx context.Context, kvvm *virtv1.VirtualMachine, volumeRequest *virtv1.VirtualMachineVolumeRequest) error { +func (api *KvAPI) vmVolumePatchStatus(ctx context.Context, kvvm *virtv1.VirtualMachine, volumeRequest *virtv1.VirtualMachineVolumeRequest) error { if kvvm == nil { return nil } @@ -137,7 +135,7 @@ func (api *KvApi) vmVolumePatchStatus(ctx context.Context, kvvm *virtv1.VirtualM return nil } -func (api *KvApi) getDryRunOption(volumeRequest *virtv1.VirtualMachineVolumeRequest) []string { +func (api *KvAPI) getDryRunOption(volumeRequest *virtv1.VirtualMachineVolumeRequest) []string { var dryRunOption []string if options := volumeRequest.AddVolumeOptions; options != nil && options.DryRun != nil && options.DryRun[0] == metav1.DryRunAll { dryRunOption = volumeRequest.AddVolumeOptions.DryRun diff --git a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go index 731996ad92..4c47df399a 100644 --- a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go +++ b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go @@ -215,8 +215,7 @@ func (b *KVVM) SetTopologySpreadConstraint(topology []corev1.TopologySpreadConst b.Resource.Spec.Template.Spec.TopologySpreadConstraints = topology } -//nolint:stylecheck // TODO: fix to SetCPU -func (b *KVVM) SetCpu(cores int, coreFraction string) error { +func (b *KVVM) SetCPU(cores int, coreFraction string) error { domainSpec := &b.Resource.Spec.Template.Spec.Domain if domainSpec.CPU == nil { domainSpec.CPU = &virtv1.CPU{} diff --git a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm_utils.go b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm_utils.go index 8240ed65c8..a3f9821616 100644 --- a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm_utils.go +++ b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm_utils.go @@ -113,7 +113,7 @@ func ApplyVirtualMachineSpec( kvvm.SetTerminationGracePeriod(vm.Spec.TerminationGracePeriodSeconds) kvvm.SetTopologySpreadConstraint(vm.Spec.TopologySpreadConstraints) kvvm.SetMemory(vm.Spec.Memory.Size) - if err := kvvm.SetCpu(vm.Spec.CPU.Cores, vm.Spec.CPU.CoreFraction); err != nil { + if err := kvvm.SetCPU(vm.Spec.CPU.Cores, vm.Spec.CPU.CoreFraction); err != nil { return err } diff --git a/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go index 5efc83d1b1..d0d6ee63c4 100644 --- a/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go +++ b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go @@ -36,8 +36,7 @@ func NewBlockDeviceService(client client.Client) *BlockDeviceService { } } -//nolint:stylecheck // TODO: fix to CountBlockDevicesAttachedToVM -func (s *BlockDeviceService) CountBlockDevicesAttachedToVm(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) { +func (s *BlockDeviceService) CountBlockDevicesAttachedToVM(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) { count := len(vm.Spec.BlockDeviceRefs) var vmbdaList virtv2.VirtualMachineBlockDeviceAttachmentList @@ -55,8 +54,7 @@ func (s *BlockDeviceService) CountBlockDevicesAttachedToVm(ctx context.Context, return count, nil } -//nolint:stylecheck // TODO: fix to CountBlockDevicesAttachedToVMName -func (s *BlockDeviceService) CountBlockDevicesAttachedToVmName(ctx context.Context, vmName, namespace string) (int, error) { +func (s *BlockDeviceService) CountBlockDevicesAttachedToVMName(ctx context.Context, vmName, namespace string) (int, error) { count := 0 var vm virtv2.VirtualMachine diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go index 825ed6870b..535c05feb8 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go @@ -175,7 +175,7 @@ func (h *BlockDeviceHandler) handleBlockDeviceConflicts(ctx context.Context, s s func (h *BlockDeviceHandler) handleBlockDeviceLimit(ctx context.Context, vm *virtv2.VirtualMachine) (bool, error) { // Get number of connected block devices. // If it's greater than the limit, then set the condition to false. - blockDeviceAttachedCount, err := h.blockDeviceService.CountBlockDevicesAttachedToVm(ctx, vm) + blockDeviceAttachedCount, err := h.blockDeviceService.CountBlockDevicesAttachedToVM(ctx, vm) if err != nil { return false, err } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go index 73c34003c3..55bb5a8ec0 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go @@ -126,7 +126,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { DescribeTable("One not ready disk", func(vd *virtv2.VirtualDisk, vm *virtv2.VirtualMachine, status metav1.ConditionStatus, msg string) { fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -235,7 +235,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { DescribeTable("One wffc disk", func(vd *virtv2.VirtualDisk, vm *virtv2.VirtualMachine, status metav1.ConditionStatus, msg string) { fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -330,7 +330,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { DescribeTable("One ready disk", func(vd *virtv2.VirtualDisk, vm *virtv2.VirtualMachine, status metav1.ConditionStatus, msg string) { fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -447,7 +447,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { DescribeTable("two disks: not ready disk & ready disk", func(vd1, vd2 *virtv2.VirtualDisk, vm *virtv2.VirtualMachine, status metav1.ConditionStatus, msg string) { fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -539,7 +539,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { DescribeTable("two disks: two ready disks", func(vd1, vd2 *virtv2.VirtualDisk, vm *virtv2.VirtualMachine, status metav1.ConditionStatus, msg string) { fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -674,7 +674,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { vd3 := getNotReadyVD("vd3", metav1.ConditionTrue, vdcondition.AttachedToVirtualMachine.String()) fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2, vd3).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -756,7 +756,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { vd5 := getReadyVD("vd5", metav1.ConditionTrue, vdcondition.UsedForImageCreation.String()) fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2, vd3, vd4, vd5).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -868,7 +868,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2, vd3, vd4, vd5).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -1010,7 +1010,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd1, vd2, vd3, vd4, vd5).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -1083,7 +1083,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -1156,7 +1156,7 @@ var _ = Describe("Test BlockDeviceReady condition", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, vd).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) err := vmResource.Fetch(ctx) Expect(err).NotTo(HaveOccurred()) @@ -1389,7 +1389,7 @@ var _ = Describe("Capacity check", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, kvvm).Build() - vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedName, fakeClient, vmFactoryByVM(vm), vmStatusGetter) _ = vmResource.Fetch(ctx) vmState := state.New(fakeClient, vmResource) @@ -1572,7 +1572,7 @@ var _ = Describe("Capacity check", func() { } fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithObjects(vm, kvvm, kvvmi, vi, cvi, vmbdaVi, vmbdaCvi).Build() - vmResource := reconciler.NewResource(namespacedVirtualMachine, fakeClient, vmFactoryByVm(vm), vmStatusGetter) + vmResource := reconciler.NewResource(namespacedVirtualMachine, fakeClient, vmFactoryByVM(vm), vmStatusGetter) _ = vmResource.Fetch(ctx) vmState := state.New(fakeClient, vmResource) @@ -1600,8 +1600,7 @@ var _ = Describe("Capacity check", func() { }) }) -//nolint:stylecheck // TODO: fix to vmFactoryByVM -func vmFactoryByVm(vm *virtv2.VirtualMachine) func() *virtv2.VirtualMachine { +func vmFactoryByVM(vm *virtv2.VirtualMachine) func() *virtv2.VirtualMachine { return func() *virtv2.VirtualMachine { return vm } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/interfaces.go b/images/virtualization-artifact/pkg/controller/vm/internal/interfaces.go index 16814bac7e..e7071b25a9 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/interfaces.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/interfaces.go @@ -29,5 +29,5 @@ import ( type EventRecorder = record.EventRecorder type BlockDeviceService interface { - CountBlockDevicesAttachedToVm(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) + CountBlockDevicesAttachedToVM(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go index c21df60a4d..1e6c68fa0e 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go @@ -42,7 +42,7 @@ const nameIpamHandler = "IPAMHandler" type IPAM interface { IsBound(vmName string, vmip *virtv2.VirtualMachineIPAddress) bool - CheckIpAddressAvailableForBinding(vmName string, vmip *virtv2.VirtualMachineIPAddress) error + CheckIPAddressAvailableForBinding(vmName string, vmip *virtv2.VirtualMachineIPAddress) error CreateIPAddress(ctx context.Context, vm *virtv2.VirtualMachine, client client.Client) error } @@ -151,7 +151,7 @@ func (h *IPAMHandler) Handle(ctx context.Context, s state.VirtualMachineState) ( } // 3. Check if possible to bind virtual machine with the found ip address. - err = h.ipam.CheckIpAddressAvailableForBinding(current.GetName(), ipAddress) + err = h.ipam.CheckIPAddressAvailableForBinding(current.GetName(), ipAddress) if err != nil { log.Info("Ip address is not available to be bound", "err", err, "vmipName", current.Spec.VirtualMachineIPAddress) reason := vmcondition.ReasonIPAddressNotAvailable diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/mock.go b/images/virtualization-artifact/pkg/controller/vm/internal/mock.go index 2e3af42eb2..634ecb1bd5 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/mock.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/mock.go @@ -273,7 +273,7 @@ type BlockDeviceServiceMock struct { } // CountBlockDevicesAttachedToVm calls CountBlockDevicesAttachedToVmFunc. -func (mock *BlockDeviceServiceMock) CountBlockDevicesAttachedToVm(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) { +func (mock *BlockDeviceServiceMock) CountBlockDevicesAttachedToVM(ctx context.Context, vm *virtv2.VirtualMachine) (int, error) { if mock.CountBlockDevicesAttachedToVmFunc == nil { panic("BlockDeviceServiceMock.CountBlockDevicesAttachedToVmFunc: method is nil but BlockDeviceService.CountBlockDevicesAttachedToVm was just called") } diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go b/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go index fb95d3d33b..f7e59cf725 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/validators/block_device_limiter_validator.go @@ -49,7 +49,7 @@ func (v *BlockDeviceLimiterValidator) ValidateUpdate(ctx context.Context, _, new } func (v *BlockDeviceLimiterValidator) validate(ctx context.Context, vm *virtv2.VirtualMachine) (admission.Warnings, error) { - count, err := v.service.CountBlockDevicesAttachedToVm(ctx, vm) + count, err := v.service.CountBlockDevicesAttachedToVM(ctx, vm) if err != nil { v.log.Error(err.Error()) return nil, err diff --git a/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go b/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go index 1b8da3966e..18a750f4b6 100644 --- a/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go +++ b/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go @@ -39,7 +39,7 @@ func NewBlockDeviceLimiter(service *service.BlockDeviceService) *BlockDeviceLimi } func (h *BlockDeviceLimiter) Handle(ctx context.Context, vmbda *virtv2.VirtualMachineBlockDeviceAttachment) (reconcile.Result, error) { - blockDeviceAttachedCount, err := h.service.CountBlockDevicesAttachedToVmName(ctx, vmbda.Spec.VirtualMachineName, vmbda.Namespace) + blockDeviceAttachedCount, err := h.service.CountBlockDevicesAttachedToVMName(ctx, vmbda.Spec.VirtualMachineName, vmbda.Namespace) if err != nil { return reconcile.Result{}, err } diff --git a/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go b/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go index 104deddb95..251fe2f282 100644 --- a/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go +++ b/images/virtualization-artifact/pkg/controller/vmbda/internal/validators/vm_connect_limiter_validator.go @@ -41,7 +41,7 @@ func NewVMConnectLimiterValidator(service *service.BlockDeviceService, log *log. } func (v *VMConnectLimiterValidator) ValidateCreate(ctx context.Context, vmbda *virtv2.VirtualMachineBlockDeviceAttachment) (admission.Warnings, error) { - count, err := v.service.CountBlockDevicesAttachedToVmName(ctx, vmbda.Spec.VirtualMachineName, vmbda.Namespace) + count, err := v.service.CountBlockDevicesAttachedToVMName(ctx, vmbda.Spec.VirtualMachineName, vmbda.Namespace) if err != nil { return nil, err } @@ -55,7 +55,7 @@ func (v *VMConnectLimiterValidator) ValidateCreate(ctx context.Context, vmbda *v } func (v *VMConnectLimiterValidator) ValidateUpdate(ctx context.Context, _, newVMBDA *virtv2.VirtualMachineBlockDeviceAttachment) (admission.Warnings, error) { - count, err := v.service.CountBlockDevicesAttachedToVmName(ctx, newVMBDA.Spec.VirtualMachineName, newVMBDA.Namespace) + count, err := v.service.CountBlockDevicesAttachedToVMName(ctx, newVMBDA.Spec.VirtualMachineName, newVMBDA.Namespace) if err != nil { v.log.Error(err.Error()) return nil, err diff --git a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go index 013d6e6345..c94d5445c0 100644 --- a/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go +++ b/images/virtualization-artifact/pkg/monitoring/metrics/virtualmachine/scraper.go @@ -38,11 +38,11 @@ type scraper struct { func (s *scraper) Report(m *dataMetric) { s.updateMetricVirtualMachineStatusPhase(m) - s.updateMetricVirtualMachineCpuCores(m) - s.updateMetricVirtualMachineConfigurationCpuCores(m) - s.updateMetricVirtualMachineCpuCoreFraction(m) - s.updateMetricVirtualMachineConfigurationCpuCoreFraction(m) - s.updateMetricVirtualMachineConfigurationCpuRuntimeOverhead(m) + s.updateMetricVirtualMachineCPUCores(m) + s.updateMetricVirtualMachineConfigurationCPUCores(m) + s.updateMetricVirtualMachineCPUCoreFraction(m) + s.updateMetricVirtualMachineConfigurationCPUCoreFraction(m) + s.updateMetricVirtualMachineConfigurationCPURuntimeOverhead(m) s.updateMetricVirtualMachineConfigurationMemoryRuntimeOverheadBytes(m) s.updateMetricVirtualMachineConfigurationMemorySizeBytes(m) s.updateMetricVirtualMachineAwaitingRestartToApplyConfiguration(m) @@ -80,32 +80,27 @@ func (s *scraper) updateMetricVirtualMachineStatusPhase(m *dataMetric) { } } -//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCores -func (s *scraper) updateMetricVirtualMachineCpuCores(m *dataMetric) { +func (s *scraper) updateMetricVirtualMachineCPUCores(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineCPUCores, m.CPUCores, m) } -//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCores -func (s *scraper) updateMetricVirtualMachineConfigurationCpuCores(m *dataMetric) { +func (s *scraper) updateMetricVirtualMachineConfigurationCPUCores(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCPUCores, m.CPUConfigurationCores, m) } -//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineCPUCoreFraction -func (s *scraper) updateMetricVirtualMachineCpuCoreFraction(m *dataMetric) { +func (s *scraper) updateMetricVirtualMachineCPUCoreFraction(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineCPUCoreFraction, m.CPUCoreFraction, m) } -//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPUCoreFraction -func (s *scraper) updateMetricVirtualMachineConfigurationCpuCoreFraction(m *dataMetric) { +func (s *scraper) updateMetricVirtualMachineConfigurationCPUCoreFraction(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCPUCoreFraction, m.CPUConfigurationCoreFraction, m) } -//nolint:stylecheck // TODO: fix to updateMetricVirtualMachineConfigurationCPURuntimeOverhead -func (s *scraper) updateMetricVirtualMachineConfigurationCpuRuntimeOverhead(m *dataMetric) { +func (s *scraper) updateMetricVirtualMachineConfigurationCPURuntimeOverhead(m *dataMetric) { s.defaultUpdate(MetricVirtualMachineConfigurationCPURuntimeOverhead, m.CPURuntimeOverhead, m) } From 56a1cb4652cc851a24ccd4949cb159b1185975bf Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 09:38:21 +0300 Subject: [PATCH 13/20] fix ci Signed-off-by: Nikita Korolev --- .github/workflows/dev_module_build.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index de8a9209a7..cd987a947b 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -199,8 +199,6 @@ jobs: echo "golangci-lint v${{ env.GOLANGCI_LINT_VERSION}} installed successfully!" - name: Lint all directories with golangci-lint - id: linters - continue-on-error: true shell: bash run: | set -eo pipefail @@ -240,8 +238,6 @@ jobs: echo "::endgroup::" done - echo "directory_count=$count" >> "$GITHUB_OUTPUT" - has_errors=$( [[ "$error_count" -gt 0 ]] && echo true || echo false) echo "has_errors=$has_errors" >> "$GITHUB_OUTPUT" @@ -250,16 +246,6 @@ jobs: exit 1 fi - - name: Final status check - if: always() - run: | - if ${{ steps.linters.outputs.has_errors }}; then - echo "::error::🔥 Lint errors found in $error_count directories. Check step 'Lint all directories with golangci-lint' for details." - exit 1 - else - echo "::notice::✅ All linters passed successfully in ${{ steps.linters.outputs.directory_count }} directories" - fi - lint_yaml: runs-on: ubuntu-latest name: Run yaml linter From 48cdb3efdf684b3e88d740c0884201823fe0ca35 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 09:42:47 +0300 Subject: [PATCH 14/20] test build with cacheVersion 03-06-2025.0 Signed-off-by: Nikita Korolev --- images/virtualization-artifact/werf.inc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/images/virtualization-artifact/werf.inc.yaml b/images/virtualization-artifact/werf.inc.yaml index 0f1803152c..062da77969 100644 --- a/images/virtualization-artifact/werf.inc.yaml +++ b/images/virtualization-artifact/werf.inc.yaml @@ -2,6 +2,7 @@ image: {{ $.ImageName }} final: false fromImage: builder/golang-bookworm-1.23 +cacheVersion: "03-06-2025.0" git: - add: /api to: /usr/local/go/api From bc663628fdc7084804de80562ee0780004d811fb Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 09:51:22 +0300 Subject: [PATCH 15/20] add dirs for skip Signed-off-by: Nikita Korolev --- .github/workflows/dev_module_build.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index cd987a947b..16f57ea2c7 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -201,10 +201,18 @@ jobs: - name: Lint all directories with golangci-lint shell: bash run: | - set -eo pipefail + # set -eo pipefail + set -e # Find directories containing .golangci.yaml - mapfile -t config_dirs < <(find . -type f -name '.golangci.yaml' -printf '%h\0' | xargs -0 -n1 | sort -u) + mapfile -t config_dirs < <( + find . \ + -path ./images/cdi-cloner/cloner-startup -prune -o \ + -path ./images/dvcr-artifact -prune -o \ + -path ./tests/performance/shatal -prune -o \ + -type f -name '.golangci.yaml' -printf '%h\0' | \ + xargs -0 -n1 | sort -u + ) count=${#config_dirs[@]} echo "::notice title=Lint Setup::🔍 Found $count directories with linter configurations" From ab52167e767f1d66f8a64052a62db7176213e125 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 10:26:22 +0300 Subject: [PATCH 16/20] rm cacheVersion Signed-off-by: Nikita Korolev --- images/virtualization-artifact/werf.inc.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/images/virtualization-artifact/werf.inc.yaml b/images/virtualization-artifact/werf.inc.yaml index 062da77969..0f1803152c 100644 --- a/images/virtualization-artifact/werf.inc.yaml +++ b/images/virtualization-artifact/werf.inc.yaml @@ -2,7 +2,6 @@ image: {{ $.ImageName }} final: false fromImage: builder/golang-bookworm-1.23 -cacheVersion: "03-06-2025.0" git: - add: /api to: /usr/local/go/api From c1ae2bec43380395f228498b09358780c77197cd Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 14:03:02 +0300 Subject: [PATCH 17/20] fix comments Signed-off-by: Nikita Korolev --- .../pkg/audit/events/vm/vm_access_test.go | 2 +- .../pkg/audit/events/vm/vm_control_test.go | 2 +- .../pkg/audit/events/vm/vm_event_log.go | 4 ++-- .../pkg/audit/events/vm/vm_manage_test.go | 2 +- .../pkg/audit/events/vm/vmop_control_test.go | 2 +- .../pkg/controller/vm/internal/class.go | 2 +- .../pkg/controller/vm/internal/ipam.go | 2 +- .../pkg/controller/vmclass/internal/util.go | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vm_access_test.go b/images/virtualization-artifact/pkg/audit/events/vm/vm_access_test.go index c83a9566ed..aebafdcbd0 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vm_access_test.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vm_access_test.go @@ -193,7 +193,7 @@ var _ = Describe("VMOP Events", func() { Expect(eventLog.eventLog.Level).To(Equal("info")) Expect(eventLog.eventLog.Name).To(Equal(args.expectedName)) Expect(eventLog.eventLog.Datetime).To(Equal(currentTime.Format(time.RFC3339))) - Expect(eventLog.eventLog.Uid).To(Equal("0000-0000-0000")) + Expect(eventLog.eventLog.UID).To(Equal("0000-0000-0000")) Expect(eventLog.eventLog.ActionType).To(Equal("get")) if args.isRequestReceived { diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vm_control_test.go b/images/virtualization-artifact/pkg/audit/events/vm/vm_control_test.go index 5e0989b683..87e81d9744 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vm_control_test.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vm_control_test.go @@ -234,7 +234,7 @@ var _ = Describe("VMOP Events", func() { Expect(eventLog.eventLog.Level).To(Equal(args.expectedLevel)) Expect(eventLog.eventLog.Name).To(Equal(args.expectedName)) Expect(eventLog.eventLog.Datetime).To(Equal(currentTime.Format(time.RFC3339))) - Expect(eventLog.eventLog.Uid).To(Equal("0000-0000-0000")) + Expect(eventLog.eventLog.UID).To(Equal("0000-0000-0000")) Expect(eventLog.eventLog.OperationResult).To(Equal("allow")) Expect(eventLog.eventLog.ActionType).To(Equal(args.expectedActionType)) diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go b/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go index 5e2badd05e..6fb895607a 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vm_event_log.go @@ -38,7 +38,7 @@ type VMEventLog struct { Level string `json:"level"` Name string `json:"name"` Datetime string `json:"datetime"` - Uid string `json:"uid"` //nolint:stylecheck //TODO: fix + UID string `json:"uid"` RequestSubject string `json:"request_subject"` ActionType string `json:"action_type"` @@ -60,7 +60,7 @@ func NewVMEventLog(event *audit.Event) *VMEventLog { Level: "info", Name: "unknown", Datetime: event.RequestReceivedTimestamp.Format(time.RFC3339), - Uid: string(event.AuditID), + UID: string(event.AuditID), RequestSubject: event.User.Username, OperationResult: "unknown", diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vm_manage_test.go b/images/virtualization-artifact/pkg/audit/events/vm/vm_manage_test.go index 4bf39d614c..b6b8843d86 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vm_manage_test.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vm_manage_test.go @@ -199,7 +199,7 @@ var _ = Describe("VMOP Events", func() { Expect(eventLog.eventLog.Level).To(Equal(args.expectedLevel)) Expect(eventLog.eventLog.Name).To(Equal(args.expectedName)) Expect(eventLog.eventLog.Datetime).To(Equal(currentTime.Format(time.RFC3339))) - Expect(eventLog.eventLog.Uid).To(Equal("0000-0000-0000")) + Expect(eventLog.eventLog.UID).To(Equal("0000-0000-0000")) Expect(eventLog.eventLog.RequestSubject).To(Equal("test-user")) Expect(eventLog.eventLog.OperationResult).To(Equal("allow")) diff --git a/images/virtualization-artifact/pkg/audit/events/vm/vmop_control_test.go b/images/virtualization-artifact/pkg/audit/events/vm/vmop_control_test.go index c7a7ce9b0e..6622ffde5d 100644 --- a/images/virtualization-artifact/pkg/audit/events/vm/vmop_control_test.go +++ b/images/virtualization-artifact/pkg/audit/events/vm/vmop_control_test.go @@ -217,7 +217,7 @@ var _ = Describe("VMOP Events", func() { Expect(eventLog.eventLog.Level).To(Equal(args.expectedLevel)) Expect(eventLog.eventLog.Name).To(Equal(args.expectedName)) Expect(eventLog.eventLog.Datetime).To(Equal(currentTime.Format(time.RFC3339))) - Expect(eventLog.eventLog.Uid).To(Equal("0000-0000-0000")) + Expect(eventLog.eventLog.UID).To(Equal("0000-0000-0000")) Expect(eventLog.eventLog.RequestSubject).To(Equal("test-user")) Expect(eventLog.eventLog.OperationResult).To(Equal("allow")) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/class.go b/images/virtualization-artifact/pkg/controller/vm/internal/class.go index f7af18b817..9fdc0a0923 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/class.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/class.go @@ -70,7 +70,7 @@ func (h *ClassHandler) Handle(ctx context.Context, s state.VirtualMachineState) return reconcile.Result{}, err } - //nolint:staticcheck //TODO: fix + //nolint:staticcheck //conditions.NewManager is deprecated: use direct SetCondition instead mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeClassReady). Generation(current.GetGeneration()) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go index 1e6c68fa0e..01022ec1ba 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go @@ -75,7 +75,7 @@ func (h *IPAMHandler) Handle(ctx context.Context, s state.VirtualMachineState) ( return reconcile.Result{Requeue: true}, nil } - //nolint:staticcheck //TODO: fix + //nolint:staticcheck //conditions.NewManager is deprecated: use direct SetCondition instead. mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeIPAddressReady). Generation(current.GetGeneration()) diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go index c772f538b6..0cc094af9c 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go @@ -29,7 +29,7 @@ func isDeletion(class *virtv2.VirtualMachineClass) bool { } func addAllUnknown(class *virtv2.VirtualMachineClass, conds ...vmclasscondition.Type) (update bool) { - //nolint:staticcheck //TODO: use direct SetCondition instead conditions.NewManage + //nolint:staticcheck // use direct SetCondition instead conditions.NewManage mgr := conditions.NewManager(class.Status.Conditions) for _, c := range conds { if add := mgr.Add(conditions.NewConditionBuilder(c). From 10d26279b564511e1dc2b1ae3dbd8624b28c36bd Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 17:44:12 +0300 Subject: [PATCH 18/20] fix coment for nolint Signed-off-by: Nikita Korolev --- .../pkg/common/humanize_bytes/humanize_bytes.go | 2 +- .../pkg/common/humanize_bytes/humanize_bytes_test.go | 2 +- .../pkg/common/resource_builder/builder.go | 2 +- .../pkg/controller/k8s-validation/validate-k8s-utils.go | 2 +- .../virtualization-artifact/pkg/controller/vm/internal/class.go | 2 +- .../virtualization-artifact/pkg/controller/vm/internal/ipam.go | 2 +- .../pkg/controller/vmclass/internal/util.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go index 93a6f4ad47..60e5948aa4 100644 --- a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go +++ b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package humanize_bytes //nolint:stylecheck // we don't care +package humanize_bytes //nolint:stylecheck,nolintlint import ( "fmt" diff --git a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go index aa2b8d4109..94880826a0 100644 --- a/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go +++ b/images/virtualization-artifact/pkg/common/humanize_bytes/humanize_bytes_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package humanize_bytes //nolint:stylecheck // we don't care +package humanize_bytes //nolint:stylecheck,nolintlint import ( "testing" diff --git a/images/virtualization-artifact/pkg/common/resource_builder/builder.go b/images/virtualization-artifact/pkg/common/resource_builder/builder.go index feec306327..a974d3e53a 100644 --- a/images/virtualization-artifact/pkg/common/resource_builder/builder.go +++ b/images/virtualization-artifact/pkg/common/resource_builder/builder.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package resource_builder //nolint:stylecheck // we don't care +package resource_builder //nolint:stylecheck,nolintlint import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go b/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go index 6a3d99eb89..edb405bc00 100644 --- a/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go +++ b/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go @@ -27,7 +27,7 @@ It makes it easier to copy and maintain instead of vendoring the whole kubernete creating dry runs of the pod object during admission validation. */ -package k8s_validation //nolint:stylecheck // we don't care +package k8s_validation //nolint:stylecheck,nolintlint import ( "fmt" diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/class.go b/images/virtualization-artifact/pkg/controller/vm/internal/class.go index 9fdc0a0923..5be674b0ba 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/class.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/class.go @@ -70,7 +70,7 @@ func (h *ClassHandler) Handle(ctx context.Context, s state.VirtualMachineState) return reconcile.Result{}, err } - //nolint:staticcheck //conditions.NewManager is deprecated: use direct SetCondition instead + //nolint:staticcheck // it's deprecated. mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeClassReady). Generation(current.GetGeneration()) diff --git a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go index 01022ec1ba..589507e55d 100644 --- a/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go +++ b/images/virtualization-artifact/pkg/controller/vm/internal/ipam.go @@ -75,7 +75,7 @@ func (h *IPAMHandler) Handle(ctx context.Context, s state.VirtualMachineState) ( return reconcile.Result{Requeue: true}, nil } - //nolint:staticcheck //conditions.NewManager is deprecated: use direct SetCondition instead. + //nolint:staticcheck // it's deprecated. mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeIPAddressReady). Generation(current.GetGeneration()) diff --git a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go index 0cc094af9c..7e9f8d91a7 100644 --- a/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go +++ b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go @@ -29,7 +29,7 @@ func isDeletion(class *virtv2.VirtualMachineClass) bool { } func addAllUnknown(class *virtv2.VirtualMachineClass, conds ...vmclasscondition.Type) (update bool) { - //nolint:staticcheck // use direct SetCondition instead conditions.NewManage + //nolint:staticcheck // it's deprecated. mgr := conditions.NewManager(class.Status.Conditions) for _, c := range conds { if add := mgr.Add(conditions.NewConditionBuilder(c). From f9c1c865aef9d71453c155a84b41420a3685520f Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 17:45:39 +0300 Subject: [PATCH 19/20] rm comment code in ci Signed-off-by: Nikita Korolev --- .github/workflows/dev_module_build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index 16f57ea2c7..1a2bb92b28 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -234,13 +234,7 @@ jobs: echo "::group::📂 Linting directory ✅: $dir" echo -e "✅ All check passed\n" fi - - # if [ $find_errors -ne 0 ]; then - # echo -e "❌ Errors:\n$output\n" - # else - # echo -e "✅ All check passed\n" - # fi - + cd - &>/dev/null echo "::endgroup::" From 848d4a213ef1b70f1146116f44c6152893262d89 Mon Sep 17 00:00:00 2001 From: Nikita Korolev Date: Tue, 3 Jun 2025 17:49:33 +0300 Subject: [PATCH 20/20] remove test branch Signed-off-by: Nikita Korolev --- .github/workflows/dev_module_build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index 1a2bb92b28..ce0b6fb960 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -38,9 +38,6 @@ on: type: number pull_request: types: [opened, reopened, synchronize, labeled, unlabeled] - branches: - - main - - chore/core/qemu-self-builded-binaries-to-images push: branches: - main