diff --git a/.github/workflows/dev_module_build.yml b/.github/workflows/dev_module_build.yml index 3cf8b9bbd3..ce0b6fb960 100644 --- a/.github/workflows/dev_module_build.yml +++ b/.github/workflows/dev_module_build.yml @@ -196,78 +196,55 @@ 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 + 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" 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" + echo -e "✅ All check passed\n" 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 - 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" if [ $error_count -gt 0 ]; then + echo "$error_count error more than 0, exit 1" 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 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/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/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 619553c05e..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,11 +194,11 @@ func AddVolumeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineAddVolume, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, 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..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,9 +109,9 @@ func CancelEvacuationRESTRESTLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineCancelEvacuation, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, 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..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,10 +34,10 @@ import ( type ConsoleREST struct { vmLister virtlisters.VirtualMachineLister proxyCertManager certmanager.CertificateManager - kubevirt KubevirtApiServerConfig + kubevirt KubevirtAPIServerConfig } -type KubevirtApiServerConfig struct { +type KubevirtAPIServerConfig struct { Endpoint string CaBundlePath string ServiceAccount types.NamespacedName @@ -48,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, @@ -93,14 +93,13 @@ func ConsoleLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineConsole, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( 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..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,14 +84,13 @@ func FreezeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineFreeze, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( 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..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) @@ -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..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,9 +121,9 @@ func RemoveVolumeRESTLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineRemoveVolume, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, 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..99907413c4 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,9 +82,8 @@ func streamLocation( ctx context.Context, getter virtlisters.VirtualMachineLister, name string, - opts runtime.Object, 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 cda3a5d732..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,14 +84,13 @@ func UnfreezeLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineUnfreeze, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( 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..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,14 +86,13 @@ func VNCLocation( getter virtlisters.VirtualMachineLister, name string, opts *subresources.VirtualMachineVNC, - kubevirt KubevirtApiServerConfig, + kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager, ) (*url.URL, *http.Transport, error) { return streamLocation( ctx, getter, name, - opts, newKVVMIPather("vnc"), kubevirt, proxyCertManager, 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/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_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 f954eb4cf3..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"` + 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/common/annotations/annotations.go b/images/virtualization-artifact/pkg/common/annotations/annotations.go index 0d9c82e9e2..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" + // 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" + // 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 9ddf507b03..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 + VMBlockDeviceAttachedLimit = 16 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..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 +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 782b8eec9b..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 +package humanize_bytes //nolint:stylecheck,nolintlint import ( "testing" diff --git a/images/virtualization-artifact/pkg/common/ip/ip.go b/images/virtualization-artifact/pkg/common/ip/ip.go index 31e43151fa..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 { +// 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 855bd7840b..b6e4640755 100644 --- a/images/virtualization-artifact/pkg/common/patch/patch.go +++ b/images/virtualization-artifact/pkg/common/patch/patch.go @@ -29,51 +29,51 @@ const ( PatchTestOp = "test" ) -type JsonPatch struct { - operations []JsonPatchOperation +type JSONPatch struct { + operations []JSONPatchOperation } -type JsonPatchOperation struct { +type JSONPatchOperation struct { Op string `json:"op"` Path string `json:"path"` Value interface{} `json:"value,omitempty"` } -func NewJsonPatch(patches ...JsonPatchOperation) *JsonPatch { - return &JsonPatch{ +func NewJSONPatch(patches ...JSONPatchOperation) *JSONPatch { + return &JSONPatch{ operations: patches, } } -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 { @@ -88,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 @@ -100,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/common/pod/pod.go b/images/virtualization-artifact/pkg/common/pod/pod.go index 2a1c19bff4..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) +// 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/common/resource_builder/builder.go b/images/virtualization-artifact/pkg/common/resource_builder/builder.go index 6c8fb2d3f8..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 +package resource_builder //nolint:stylecheck,nolintlint import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 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/config/load_gc_settings.go b/images/virtualization-artifact/pkg/config/load_gc_settings.go index aaafdfd04b..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" + GcVmopTTLVar = "GC_VMOP_TTL" GcVmopScheduleVar = "GC_VMOP_SCHEDULE" - GcVMIMigrationTtlVar = "GC_VMI_MIGRATION_TTL" + 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 fe5ebb9cc4..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" - VirtualizationApiAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" + VirtualizationAPIAuthServiceAccountNameVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAME" + VirtualizationAPIAuthServiceAccountNamespaceVar = "VIRTUALIZATION_API_AUTH_SERVICE_ACCOUNT_NAMESPACE" ) -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) - 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 226e45462b..20ca11dd89 100644 --- a/images/virtualization-artifact/pkg/controller/controller_suite_test.go +++ b/images/virtualization-artifact/pkg/controller/controller_suite_test.go @@ -52,7 +52,7 @@ func (m *MockIPAM) IsBound(_ string, _ *v1alpha2.VirtualMachineIPAddress) bool { return true } -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/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/ipam/ipam.go b/images/virtualization-artifact/pkg/controller/ipam/ipam.go index 54c30f70ae..89c84b0b3f 100644 --- a/images/virtualization-artifact/pkg/controller/ipam/ipam.go +++ b/images/virtualization-artifact/pkg/controller/ipam/ipam.go @@ -56,7 +56,7 @@ func (m IPAM) IsBound(vmName string, vmip *virtv2.VirtualMachineIPAddress) bool return vmip.Status.VirtualMachine == vmName } -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/k8s-validation/validate-k8s-utils.go b/images/virtualization-artifact/pkg/controller/k8s-validation/validate-k8s-utils.go index 40eddbbc99..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 +package k8s_validation //nolint:stylecheck,nolintlint import ( "fmt" diff --git a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go index 3594058648..ad900f5108 100644 --- a/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go +++ b/images/virtualization-artifact/pkg/controller/kvapi/kvapi.go @@ -33,30 +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. -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 } @@ -89,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 } @@ -108,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 } @@ -135,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 @@ -220,8 +220,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/kvbuilder/kvvm.go b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go index edab9bec1a..4c47df399a 100644 --- a/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go +++ b/images/virtualization-artifact/pkg/controller/kvbuilder/kvvm.go @@ -215,7 +215,7 @@ func (b *KVVM) SetTopologySpreadConstraint(topology []corev1.TopologySpreadConst b.Resource.Spec.Template.Spec.TopologySpreadConstraints = topology } -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/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/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/service/blockdevice_service.go b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go index f75b049a09..d0d6ee63c4 100644 --- a/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go +++ b/images/virtualization-artifact/pkg/controller/service/blockdevice_service.go @@ -36,7 +36,7 @@ func NewBlockDeviceService(client client.Client) *BlockDeviceService { } } -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 @@ -54,7 +54,7 @@ func (s *BlockDeviceService) CountBlockDevicesAttachedToVm(ctx context.Context, return count, nil } -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/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/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/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/block_device_handler.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_device_handler.go index 92a221597f..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,17 +175,17 @@ 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 } - 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/block_devices_test.go b/images/virtualization-artifact/pkg/controller/vm/internal/block_devices_test.go index 26896f3587..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,7 +1600,7 @@ var _ = Describe("Capacity check", func() { }) }) -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/class.go b/images/virtualization-artifact/pkg/controller/vm/internal/class.go index 759c3ba35d..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 + //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/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/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 df30746cee..589507e55d 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 } @@ -75,7 +75,7 @@ func (h *IPAMHandler) Handle(ctx context.Context, s state.VirtualMachineState) ( return reconcile.Result{Requeue: true}, nil } - //nolint:staticcheck + //nolint:staticcheck // it's deprecated. mgr := conditions.NewManager(changed.Status.Conditions) cb := conditions.NewConditionBuilder(vmcondition.TypeIPAddressReady). Generation(current.GetGeneration()) @@ -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/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/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/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_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/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 91042fd295..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 @@ -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( @@ -210,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 @@ -274,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 @@ -326,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 @@ -378,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 5d5dcc5a28..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 @@ -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" @@ -83,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() @@ -101,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() { @@ -119,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")) }) }) @@ -170,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{}, @@ -190,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( @@ -220,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() { @@ -241,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{}, @@ -291,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..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,14 +49,14 @@ 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 } - 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/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/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/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..3524681e30 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" @@ -52,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/controller/vmbda/internal/block_device_limiter.go b/images/virtualization-artifact/pkg/controller/vmbda/internal/block_device_limiter.go index 42ac972584..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 } @@ -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..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,28 +41,28 @@ 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 } // 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 } 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 } - 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/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) } 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/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/util.go b/images/virtualization-artifact/pkg/controller/vmclass/internal/util.go index fa6244fa90..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 + //nolint:staticcheck // it's deprecated. 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/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..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 @@ -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" @@ -72,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 6794821e9b..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 @@ -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,9 +139,9 @@ 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{}) + 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) @@ -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/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/internal/step/take_lease_step.go b/images/virtualization-artifact/pkg/controller/vmip/internal/step/take_lease_step.go index 7acdcf1844..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/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..99fd1c617f 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" @@ -47,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 002bccc1ac..49f99b77ec 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" @@ -39,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, @@ -50,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) { @@ -80,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) { @@ -168,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/controller/vmiplease/internal/watcher/vmip_watcher.go b/images/virtualization-artifact/pkg/controller/vmiplease/internal/watcher/vmip_watcher.go index 16785736f4..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 @@ -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" ) @@ -92,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/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/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/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.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 8e2860f288..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,10 +100,10 @@ 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 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..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,10 +67,10 @@ 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 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/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/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/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/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..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 @@ -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 { @@ -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 } 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 7411bc1674..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,29 +80,29 @@ func (s *scraper) updateMetricVirtualMachineStatusPhase(m *dataMetric) { } } -func (s *scraper) updateMetricVirtualMachineCpuCores(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineCpuCores, - m.CpuCores, m) +func (s *scraper) updateMetricVirtualMachineCPUCores(m *dataMetric) { + s.defaultUpdate(MetricVirtualMachineCPUCores, + m.CPUCores, m) } -func (s *scraper) updateMetricVirtualMachineConfigurationCpuCores(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuCores, - m.CpuConfigurationCores, m) +func (s *scraper) updateMetricVirtualMachineConfigurationCPUCores(m *dataMetric) { + s.defaultUpdate(MetricVirtualMachineConfigurationCPUCores, + m.CPUConfigurationCores, m) } -func (s *scraper) updateMetricVirtualMachineCpuCoreFraction(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineCpuCoreFraction, - m.CpuCoreFraction, m) +func (s *scraper) updateMetricVirtualMachineCPUCoreFraction(m *dataMetric) { + s.defaultUpdate(MetricVirtualMachineCPUCoreFraction, + m.CPUCoreFraction, m) } -func (s *scraper) updateMetricVirtualMachineConfigurationCpuCoreFraction(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuCoreFraction, - m.CpuConfigurationCoreFraction, m) +func (s *scraper) updateMetricVirtualMachineConfigurationCPUCoreFraction(m *dataMetric) { + s.defaultUpdate(MetricVirtualMachineConfigurationCPUCoreFraction, + m.CPUConfigurationCoreFraction, m) } -func (s *scraper) updateMetricVirtualMachineConfigurationCpuRuntimeOverhead(m *dataMetric) { - s.defaultUpdate(MetricVirtualMachineConfigurationCpuRuntimeOverhead, - m.CpuRuntimeOverhead, m) +func (s *scraper) updateMetricVirtualMachineConfigurationCPURuntimeOverhead(m *dataMetric) { + 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 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