Skip to content

Commit f028cc0

Browse files
committed
Ensure E2E cleanup
Signed-off-by: Huy Mai <[email protected]>
1 parent acc680d commit f028cc0

File tree

4 files changed

+86
-8
lines changed

4 files changed

+86
-8
lines changed

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/onsi/gomega v1.30.0
1717
github.com/prometheus/client_golang v1.17.0
1818
github.com/spf13/pflag v1.0.5
19-
golang.org/x/crypto v0.16.0
19+
golang.org/x/crypto v0.22.0
2020
golang.org/x/text v0.14.0
2121
gopkg.in/ini.v1 v1.67.0
2222
k8s.io/api v0.28.4
@@ -135,14 +135,14 @@ require (
135135
go.uber.org/multierr v1.11.0 // indirect
136136
go.uber.org/zap v1.25.0 // indirect
137137
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
138-
golang.org/x/mod v0.14.0 // indirect
139-
golang.org/x/net v0.19.0 // indirect
138+
golang.org/x/mod v0.17.0 // indirect
139+
golang.org/x/net v0.24.0 // indirect
140140
golang.org/x/oauth2 v0.14.0 // indirect
141-
golang.org/x/sync v0.5.0 // indirect
142-
golang.org/x/sys v0.15.0 // indirect
143-
golang.org/x/term v0.15.0 // indirect
141+
golang.org/x/sync v0.7.0 // indirect
142+
golang.org/x/sys v0.19.0 // indirect
143+
golang.org/x/term v0.19.0 // indirect
144144
golang.org/x/time v0.3.0 // indirect
145-
golang.org/x/tools v0.16.1 // indirect
145+
golang.org/x/tools v0.20.0 // indirect
146146
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
147147
google.golang.org/appengine v1.6.7 // indirect
148148
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect

go.sum

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,8 @@ golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0
493493
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
494494
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
495495
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
496+
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
497+
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
496498
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
497499
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
498500
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -532,6 +534,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
532534
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
533535
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
534536
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
537+
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
538+
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
535539
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
536540
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
537541
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -569,6 +573,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
569573
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
570574
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
571575
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
576+
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
577+
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
572578
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
573579
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
574580
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -594,6 +600,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
594600
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
595601
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
596602
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
603+
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
604+
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
597605
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
598606
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
599607
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -642,11 +650,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
642650
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
643651
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
644652
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
653+
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
654+
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
645655
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
646656
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
647657
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
648658
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
649659
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
660+
golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
661+
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
650662
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
651663
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
652664
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -717,6 +729,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
717729
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
718730
golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
719731
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
732+
golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY=
733+
golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
720734
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
721735
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
722736
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

test/e2e/shared/openstack.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"github.com/gophercloud/gophercloud/openstack/compute/v2/flavors"
4040
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
4141
"github.com/gophercloud/gophercloud/openstack/imageservice/v2/images"
42+
"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/loadbalancers"
4243
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers"
4344
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups"
4445
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules"
@@ -865,3 +866,28 @@ func GetFlavorFromName(e2eCtx *E2EContext, name string) (*flavors.Flavor, error)
865866

866867
return flavors.Get(computeClient, flavorID).Extract()
867868
}
869+
870+
func DumpOpenStackLoadBalancers(e2eCtx *E2EContext, filter loadbalancers.ListOpts) ([]loadbalancers.LoadBalancer, error) {
871+
providerClient, clientOpts, _, err := GetTenantProviderClient(e2eCtx)
872+
if err != nil {
873+
_, _ = fmt.Fprintf(GinkgoWriter, "error creating provider client: %s\n", err)
874+
return nil, err
875+
}
876+
877+
loadBalancerClient, err := openstack.NewLoadBalancerV2(providerClient, gophercloud.EndpointOpts{
878+
Region: clientOpts.RegionName,
879+
})
880+
if err != nil {
881+
return nil, fmt.Errorf("error creating network client: %s", err)
882+
}
883+
884+
allPages, err := loadbalancers.List(loadBalancerClient, filter).AllPages()
885+
if err != nil {
886+
return nil, fmt.Errorf("error getting load balancers: %s", err)
887+
}
888+
loadBalancersList, err := loadbalancers.ExtractLoadBalancers(allPages)
889+
if err != nil {
890+
return nil, fmt.Errorf("error getting load balancers: %s", err)
891+
}
892+
return loadBalancersList, nil
893+
}

test/e2e/suites/e2e/e2e_suite_test.go

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,23 @@ import (
2828
"k8s.io/klog/v2"
2929
ctrl "sigs.k8s.io/controller-runtime"
3030

31+
"github.com/gophercloud/gophercloud/openstack/blockstorage/v3/volumes"
32+
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
33+
"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/loadbalancers"
34+
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups"
35+
"github.com/gophercloud/gophercloud/openstack/networking/v2/networks"
3136
"sigs.k8s.io/cluster-api-provider-openstack/test/e2e/shared"
3237
)
3338

34-
var e2eCtx *shared.E2EContext
39+
var (
40+
e2eCtx *shared.E2EContext
41+
initialServers []servers.Server
42+
initialNetworks []networks.Network
43+
initialSecurityGroups []groups.SecGroup
44+
initialLoadBalancers []loadbalancers.LoadBalancer
45+
initialVolumes []volumes.Volume
46+
err error
47+
)
3548

3649
func init() {
3750
e2eCtx = shared.NewE2EContext()
@@ -54,11 +67,36 @@ var _ = SynchronizedBeforeSuite(func() []byte {
5467
data := shared.Node1BeforeSuite(e2eCtx)
5568
return data
5669
}, func(data []byte) {
70+
initialServers, err = shared.DumpOpenStackServers(e2eCtx, servers.ListOpts{})
71+
Expect(err).NotTo(HaveOccurred())
72+
initialNetworks, err = shared.DumpOpenStackNetworks(e2eCtx, networks.ListOpts{})
73+
Expect(err).NotTo(HaveOccurred())
74+
initialSecurityGroups, err = shared.DumpOpenStackSecurityGroups(e2eCtx, groups.ListOpts{})
75+
Expect(err).NotTo(HaveOccurred())
76+
initialLoadBalancers, err = shared.DumpOpenStackLoadBalancers(e2eCtx, loadbalancers.ListOpts{})
77+
Expect(err).NotTo(HaveOccurred())
78+
initialVolumes, err = shared.DumpOpenStackVolumes(e2eCtx, volumes.ListOpts{})
79+
Expect(err).NotTo(HaveOccurred())
5780
shared.AllNodesBeforeSuite(e2eCtx, data)
5881
})
5982

6083
var _ = SynchronizedAfterSuite(func() {
6184
shared.AllNodesAfterSuite(e2eCtx)
6285
}, func() {
6386
shared.Node1AfterSuite(e2eCtx)
87+
endServers, err := shared.DumpOpenStackServers(e2eCtx, servers.ListOpts{})
88+
Expect(err).NotTo(HaveOccurred())
89+
Expect(endServers).To(Equal(initialServers))
90+
endNetworks, err := shared.DumpOpenStackNetworks(e2eCtx, networks.ListOpts{})
91+
Expect(err).NotTo(HaveOccurred())
92+
Expect(endNetworks).To(Equal(initialNetworks))
93+
endSecurityGroups, err := shared.DumpOpenStackSecurityGroups(e2eCtx, groups.ListOpts{})
94+
Expect(err).NotTo(HaveOccurred())
95+
Expect(endSecurityGroups).To(Equal(initialSecurityGroups))
96+
endLoadBalancers, err := shared.DumpOpenStackLoadBalancers(e2eCtx, loadbalancers.ListOpts{})
97+
Expect(err).NotTo(HaveOccurred())
98+
Expect(endLoadBalancers).To(Equal(initialLoadBalancers))
99+
endVolumes, err := shared.DumpOpenStackVolumes(e2eCtx, volumes.ListOpts{})
100+
Expect(err).NotTo(HaveOccurred())
101+
Expect(endVolumes).To(Equal(initialVolumes))
64102
})

0 commit comments

Comments
 (0)