diff --git a/images/virt-artifact/werf.inc.yaml b/images/virt-artifact/werf.inc.yaml index f76dcf3163..da92a49d00 100644 --- a/images/virt-artifact/werf.inc.yaml +++ b/images/virt-artifact/werf.inc.yaml @@ -1,7 +1,7 @@ --- # Source https://github.com/kubevirt/kubevirt/blob/v1.3.1/hack/dockerized#L15 {{- $gitRepoName := "3p-kubevirt" }} -{{- $tag := get $.Core $gitRepoName }} +{{- $tag := print "v1.3.1-virtualization-hot-unplug-cloud-init" }} {{- $version := (split "-" $tag)._0 }} --- @@ -13,7 +13,7 @@ secrets: value: {{ $.SOURCE_REPO }} shell: install: - - git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/deckhouse/3p-kubevirt --branch {{ $tag }} /kubevirt + - git clone --depth=1 https://github.com/deckhouse/3p-kubevirt --branch v1.3.1-virtualization-hot-unplug-cloud-init /kubevirt --- @@ -66,9 +66,15 @@ shell: {{ $builderDependencies.altPackages | join " " }} {{- include "alt packages clean" . | nindent 2 }} - + installCacheVersion: "{{ now | date "Mon Jan 2 15:04:05 MST 2006" }}" # <--- для пересборки install: - | + echo "$date" + echo kek + + rm -rf /kubevirt + git clone --depth=1 https://github.com/deckhouse/3p-kubevirt --branch v1.3.1-virtualization-hot-unplug-cloud-init /kubevirt + # Install packages PKGS="{{ $builderDependencies.packages | join " " }}" for pkg in $PKGS; do diff --git a/images/virtualization-artifact/pkg/controller/vmchange/comparators.go b/images/virtualization-artifact/pkg/controller/vmchange/comparators.go index 8c44383fe9..828549ad8c 100644 --- a/images/virtualization-artifact/pkg/controller/vmchange/comparators.go +++ b/images/virtualization-artifact/pkg/controller/vmchange/comparators.go @@ -159,6 +159,19 @@ func compareMemory(current, desired *v1alpha2.VirtualMachineSpec) []FieldChange } func compareProvisioning(current, desired *v1alpha2.VirtualMachineSpec) []FieldChange { + // Special case: if we're removing provisioning (desired is nil), don't require restart + if current.Provisioning != nil && desired.Provisioning == nil { + return []FieldChange{ + { + Operation: ChangeRemove, + Path: "provisioning", + CurrentValue: current.Provisioning, + DesiredValue: nil, + ActionRequired: ActionApplyImmediate, + }, + } + } + changes := compareEmpty( "provisioning", NewPtrValue(current.Provisioning, current.Provisioning == nil), diff --git a/images/virtualization-artifact/pkg/controller/vmchange/compare_test.go b/images/virtualization-artifact/pkg/controller/vmchange/compare_test.go index 7d3951b293..4a95c3b3af 100644 --- a/images/virtualization-artifact/pkg/controller/vmchange/compare_test.go +++ b/images/virtualization-artifact/pkg/controller/vmchange/compare_test.go @@ -267,7 +267,7 @@ provisioning: ), }, { - "restart on provisioning remove", + "apply immediate on provisioning remove", ` provisioning: type: UserDataRef @@ -277,7 +277,7 @@ provisioning: `, "", assertChanges( - actionRequired(ActionRestart), + actionRequired(ActionApplyImmediate), requirePathOperation("provisioning", ChangeRemove), ), },