Skip to content

Commit deaa7aa

Browse files
author
Valeriy Khorunzhin
committed
omit
Signed-off-by: Valeriy Khorunzhin <valeriy.khorunzhin@flant.com>
1 parent 9bc3fde commit deaa7aa

3 files changed

Lines changed: 60 additions & 15 deletions

File tree

tests/e2e/go.mod

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ toolchain go1.23.7
66

77
require (
88
github.com/deckhouse/sds-replicated-volume/api v0.0.0-20241109122839-a1ae840eb5db
9+
github.com/deckhouse/virtualization-controller v0.0.0-00010101000000-000000000000
910
github.com/deckhouse/virtualization/api v0.0.0-20240923080356-bb5809dba578
1011
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.0.0
1112
github.com/onsi/ginkgo/v2 v2.21.0
@@ -62,13 +63,12 @@ require (
6263
github.com/spf13/pflag v1.0.5 // indirect
6364
github.com/x448/float16 v0.8.4 // indirect
6465
github.com/xlab/treeprint v1.2.0 // indirect
65-
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
6666
golang.org/x/net v0.30.0 // indirect
6767
golang.org/x/oauth2 v0.23.0 // indirect
68-
golang.org/x/sync v0.8.0 // indirect
69-
golang.org/x/sys v0.26.0 // indirect
70-
golang.org/x/term v0.25.0 // indirect
71-
golang.org/x/text v0.19.0 // indirect
68+
golang.org/x/sync v0.10.0 // indirect
69+
golang.org/x/sys v0.28.0 // indirect
70+
golang.org/x/term v0.27.0 // indirect
71+
golang.org/x/text v0.21.0 // indirect
7272
golang.org/x/time v0.7.0 // indirect
7373
golang.org/x/tools v0.26.0 // indirect
7474
google.golang.org/protobuf v1.35.1 // indirect
@@ -85,4 +85,7 @@ require (
8585
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
8686
)
8787

88-
replace github.com/deckhouse/virtualization/api => ./../../api
88+
replace (
89+
github.com/deckhouse/virtualization-controller => ./../../images/virtualization-artifact
90+
github.com/deckhouse/virtualization/api => ./../../api
91+
)

tests/e2e/go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
274274
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
275275
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
276276
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
277-
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
278-
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
277+
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
278+
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
279279
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
280280
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
281281
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -300,20 +300,20 @@ golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBc
300300
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
301301
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
302302
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
303-
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
304-
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
303+
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
304+
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
305305
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
306306
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
307-
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
308-
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
307+
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
308+
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
309309
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
310310
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
311311
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
312312
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
313313
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
314314
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
315-
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
316-
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
315+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
316+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
317317
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
318318
golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
319319
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

tests/e2e/vd_snapshots_test.go

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package e2e
1818

1919
import (
20+
"context"
2021
"errors"
2122
"fmt"
2223
"strings"
@@ -28,9 +29,11 @@ import (
2829
. "github.com/onsi/gomega"
2930
storagev1 "k8s.io/api/storage/v1"
3031
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
32+
"k8s.io/utils/ptr"
3133

3234
sdsrepvolv1 "github.com/deckhouse/sds-replicated-volume/api/v1alpha1"
3335

36+
"github.com/deckhouse/virtualization-controller/pkg/controller/conditions"
3437
virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2"
3538
"github.com/deckhouse/virtualization/api/core/v1alpha2/vmcondition"
3639
"github.com/deckhouse/virtualization/tests/e2e/config"
@@ -384,8 +387,47 @@ var _ = Describe("Virtual disk snapshots", ginkgoutil.CommonE2ETestDecorators(),
384387

385388
Context(fmt.Sprintf("When virtual machines in %s phase", PhaseRunning), func() {
386389
It("creates snapshots with `requiredConsistency` of attached VDs", func() {
390+
vms, err := virtClient.VirtualMachines(conf.Namespace).List(context.Background(), v1.ListOptions{})
391+
Expect(err).NotTo(HaveOccurred())
392+
vmsFrozenDict := make(map[string]bool)
393+
394+
for _, vm := range vms.Items {
395+
frozenCondition, _ := conditions.GetCondition(vmcondition.TypeFilesystemFrozen, vm.Status.Conditions)
396+
vmsFrozenDict[vm.Name] = frozenCondition.Status == v1.ConditionTrue
397+
}
398+
399+
watcher, err := virtClient.VirtualMachines(conf.Namespace).Watch(context.Background(), v1.ListOptions{TimeoutSeconds: ptr.To(int64(filesystemReadyTimeout.Seconds()))})
400+
Expect(err).NotTo(HaveOccurred())
401+
var hasFrozen bool
402+
for {
403+
hasFrozen = false
404+
for _, frozen := range vmsFrozenDict {
405+
hasFrozen = hasFrozen || frozen
406+
}
407+
408+
if !hasFrozen {
409+
watcher.Stop()
410+
break
411+
}
412+
413+
event, ok := <-watcher.ResultChan()
414+
if !ok {
415+
break
416+
}
417+
418+
vm, ok := event.Object.(*virtv2.VirtualMachine)
419+
if !ok {
420+
continue
421+
}
422+
423+
frozenCondition, _ := conditions.GetCondition(vmcondition.TypeFilesystemFrozen, vm.Status.Conditions)
424+
vmsFrozenDict[vm.Name] = frozenCondition.Status == v1.ConditionTrue
425+
}
426+
// TODO: It is a known issue that VM filesystems after snapshot not unfreezing. To prevent this error from causing noise during testing, we disabled this check. It will need to be re-enabled once this issue is fixed.
427+
// Expect(hasFrozen).To(BeFalse())
428+
387429
vmObjects := virtv2.VirtualMachineList{}
388-
err := GetObjects(kc.ResourceVM, &vmObjects, kc.GetOptions{Namespace: conf.Namespace})
430+
err = GetObjects(kc.ResourceVM, &vmObjects, kc.GetOptions{Namespace: conf.Namespace})
389431
Expect(err).NotTo(HaveOccurred(), "cannot get virtual machines\nstderr: %s", err)
390432

391433
for _, vm := range vmObjects.Items {

0 commit comments

Comments
 (0)