Skip to content

Commit 083ebb0

Browse files
committed
add anexia changes from 1.59
Upstream PRs use virtio as nic kubermatic#1942 stop template resolving kubermatic#1943 Originally implemented in - 11e2b3c - 07f3827
1 parent c7a24ff commit 083ebb0

File tree

6 files changed

+100
-67
lines changed

6 files changed

+100
-67
lines changed

go.mod

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ require (
4242
github.com/vmware/go-vcloud-director/v2 v2.25.0
4343
github.com/vmware/govmomi v0.43.0
4444
github.com/vultr/govultr/v3 v3.9.1
45-
go.anx.io/go-anxcloud v0.7.3
45+
go.anx.io/go-anxcloud v0.7.8
4646
go.uber.org/zap v1.27.0
47-
golang.org/x/crypto v0.27.0
47+
golang.org/x/crypto v0.31.0
4848
golang.org/x/oauth2 v0.23.0
4949
gomodules.xyz/jsonpatch/v2 v2.4.0
5050
google.golang.org/api v0.197.0
@@ -118,7 +118,7 @@ require (
118118
github.com/google/go-cmp v0.6.0 // indirect
119119
github.com/google/go-querystring v1.1.0 // indirect
120120
github.com/google/gofuzz v1.2.0 // indirect
121-
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect
121+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
122122
github.com/google/s2a-go v0.1.8 // indirect
123123
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
124124
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
@@ -142,8 +142,8 @@ require (
142142
github.com/modern-go/reflect2 v1.0.2 // indirect
143143
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
144144
github.com/oklog/ulid v1.3.1 // indirect
145-
github.com/onsi/ginkgo/v2 v2.20.1 // indirect
146-
github.com/onsi/gomega v1.34.1 // indirect
145+
github.com/onsi/ginkgo/v2 v2.22.2 // indirect
146+
github.com/onsi/gomega v1.36.2 // indirect
147147
github.com/openshift/custom-resource-status v1.1.2 // indirect
148148
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
149149
github.com/peterhellberg/link v1.2.0 // indirect
@@ -163,18 +163,18 @@ require (
163163
go.uber.org/atomic v1.11.0 // indirect
164164
go.uber.org/multierr v1.11.0 // indirect
165165
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
166-
golang.org/x/net v0.29.0 // indirect
167-
golang.org/x/sync v0.8.0 // indirect
168-
golang.org/x/sys v0.25.0 // indirect
169-
golang.org/x/term v0.24.0 // indirect
170-
golang.org/x/text v0.18.0 // indirect
166+
golang.org/x/net v0.33.0 // indirect
167+
golang.org/x/sync v0.10.0 // indirect
168+
golang.org/x/sys v0.28.0 // indirect
169+
golang.org/x/term v0.27.0 // indirect
170+
golang.org/x/text v0.21.0 // indirect
171171
golang.org/x/time v0.6.0 // indirect
172-
golang.org/x/tools v0.25.0 // indirect
172+
golang.org/x/tools v0.28.0 // indirect
173173
google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect
174174
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect
175175
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
176176
google.golang.org/grpc v1.66.2 // indirect
177-
google.golang.org/protobuf v1.34.2 // indirect
177+
google.golang.org/protobuf v1.36.1 // indirect
178178
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect
179179
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
180180
gopkg.in/inf.v0 v0.9.1 // indirect

go.sum

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,8 @@ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
249249
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
250250
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
251251
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
252-
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
253-
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
252+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
253+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
254254
github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
255255
github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
256256
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -367,15 +367,15 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108
367367
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
368368
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
369369
github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
370-
github.com/onsi/ginkgo/v2 v2.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
371-
github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
370+
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
371+
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
372372
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
373373
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
374374
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
375375
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
376376
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
377-
github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
378-
github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
377+
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
378+
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
379379
github.com/openshift/custom-resource-status v1.1.2 h1:C3DL44LEbvlbItfd8mT5jWrqPfHnSOQoQf/sypqA6A4=
380380
github.com/openshift/custom-resource-status v1.1.2/go.mod h1:DB/Mf2oTeiAmVVX1gN+NEqweonAPY0TKUwADizj8+ZA=
381381
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A=
@@ -452,8 +452,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
452452
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
453453
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
454454
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
455-
go.anx.io/go-anxcloud v0.7.3 h1:NWkm4KAg0GyJALBbSgp++J2K563lHQGDDVJAcM6CgUU=
456-
go.anx.io/go-anxcloud v0.7.3/go.mod h1:RpJvC8ZmXNu9dSygIgZ0ossqPz0+6n9xDX9weeATmSo=
455+
go.anx.io/go-anxcloud v0.7.8 h1:FJk1CKBqFeBPLswSpfAGogPITkciXQ9N7Jd9adGNcH8=
456+
go.anx.io/go-anxcloud v0.7.8/go.mod h1:OlwFe0Kf3BTp3GphivKalBiElZPgsNEEN/tMsLymbX0=
457457
go.keploy.io/server v0.8.6 h1:czE9jaliyAkMMJcYnMPNuu6tun7UgwFbokxEG95vLN4=
458458
go.keploy.io/server v0.8.6/go.mod h1:t7BPuZQSiC3PNHZ9dbn3e3VB61HNWwiqVmaRujfDFUg=
459459
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
@@ -495,8 +495,8 @@ golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq
495495
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
496496
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
497497
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
498-
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
499-
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
498+
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
499+
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
500500
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
501501
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
502502
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -550,8 +550,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
550550
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
551551
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
552552
golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
553-
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
554-
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
553+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
554+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
555555
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
556556
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
557557
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
@@ -566,8 +566,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
566566
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
567567
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
568568
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
569-
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
570-
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
569+
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
570+
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
571571
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
572572
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
573573
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -601,8 +601,8 @@ golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
601601
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
602602
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
603603
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
604-
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
605-
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
604+
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
605+
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
606606
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
607607
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
608608
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -613,8 +613,8 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
613613
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
614614
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
615615
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
616-
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
617-
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
616+
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
617+
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
618618
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
619619
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
620620
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -627,8 +627,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
627627
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
628628
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
629629
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
630-
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
631-
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
630+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
631+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
632632
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
633633
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
634634
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -651,8 +651,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
651651
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
652652
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
653653
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
654-
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
655-
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
654+
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
655+
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
656656
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
657657
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
658658
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -697,8 +697,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
697697
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
698698
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
699699
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
700-
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
701-
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
700+
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
701+
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
702702
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY=
703703
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0/go.mod h1:OdE7CF6DbADk7lN8LIKRzRJTTZXIjtWgA5THM5lhBAw=
704704
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

pkg/cloudprovider/provider/anexia/network_provisioning.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,9 @@ func networkInterfacesForProvisioning(ctx context.Context, log *zap.SugaredLogge
7373
}
7474

7575
ret[netIndex] = anxvm.Network{
76-
VLAN: network.VlanID,
77-
IPs: addresses,
78-
79-
// the one NIC type supported by the ADC API
80-
NICType: anxtypes.VmxNet3NIC,
76+
VLAN: network.VlanID,
77+
IPs: addresses,
78+
NICType: anxtypes.VirtioNIC,
8179
}
8280
}
8381

pkg/cloudprovider/provider/anexia/provider.go

Lines changed: 58 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,33 @@ func ensureConditions(status *anxtypes.ProviderStatus) {
234234
}
235235
}
236236

237+
// getTokenFromSpec got extracted from getConfig in order to circumvent it.
238+
//
239+
// That allowed us to reduce [Cleanup] to the bare minimum and allowing tear
240+
// downs if the template no longer exists. (ANXKUBE-1361)
241+
func (p *provider) getTokenFromSpec(spec clusterv1alpha1.ProviderSpec) (string, error) {
242+
if spec.Value == nil {
243+
return "", fmt.Errorf("machine.spec.providerSpec.value is nil")
244+
}
245+
246+
pconfig, err := providerconfigtypes.GetConfig(spec)
247+
if err != nil {
248+
return "", err
249+
}
250+
251+
rawConfig, err := anxtypes.GetConfig(*pconfig)
252+
if err != nil {
253+
return "", fmt.Errorf("error parsing provider config: %w", err)
254+
}
255+
256+
token, err := p.configVarResolver.GetConfigVarStringValueOrEnv(rawConfig.Token, anxtypes.AnxTokenEnv)
257+
if err != nil {
258+
return "", fmt.Errorf("failed to get 'token': %w", err)
259+
}
260+
261+
return token, nil
262+
}
263+
237264
func (p *provider) getConfig(ctx context.Context, log *zap.SugaredLogger, provSpec clusterv1alpha1.ProviderSpec) (*resolvedConfig, *providerconfigtypes.Config, error) {
238265
pconfig, err := providerconfigtypes.GetConfig(provSpec)
239266
if err != nil {
@@ -323,12 +350,12 @@ func (p *provider) Validate(ctx context.Context, log *zap.SugaredLogger, machine
323350
}
324351

325352
func (p *provider) Get(ctx context.Context, log *zap.SugaredLogger, machine *clusterv1alpha1.Machine, pd *cloudprovidertypes.ProviderData) (instance.Instance, error) {
326-
config, _, err := p.getConfig(ctx, log, machine.Spec.ProviderSpec)
353+
token, err := p.getTokenFromSpec(machine.Spec.ProviderSpec)
327354
if err != nil {
328-
return nil, newError(common.InvalidConfigurationMachineError, "failed to retrieve config: %v", err)
355+
return nil, newError(common.InvalidConfigurationMachineError, "querying token: %v", err)
329356
}
330357

331-
_, cli, err := getClient(config.Token, &machine.Name)
358+
_, cli, err := getClient(token, &machine.Name)
332359
if err != nil {
333360
return nil, newError(common.InvalidConfigurationMachineError, "failed to create Anexia client: %v", err)
334361
}
@@ -346,21 +373,26 @@ func (p *provider) Get(ctx context.Context, log *zap.SugaredLogger, machine *clu
346373
}
347374

348375
if status.InstanceID == "" {
349-
progress, err := vsphereAPI.Provisioning().Progress().Get(ctx, status.ProvisioningID)
376+
p, err := vsphereAPI.Provisioning().Progress().Get(ctx, status.ProvisioningID)
350377
if err != nil {
351378
return nil, anexiaErrorToTerminalError(err, "failed to get provisioning progress")
352379
}
353-
if len(progress.Errors) > 0 {
354-
return nil, fmt.Errorf("vm provisioning had errors: %s", strings.Join(progress.Errors, ","))
355-
}
356-
if progress.Progress < 100 || progress.VMIdentifier == "" {
357-
return &anexiaInstance{isCreating: true}, nil
358-
}
359380

360-
status.InstanceID = progress.VMIdentifier
361-
362-
if err := updateMachineStatus(machine, status, pd.Update); err != nil {
363-
return nil, fmt.Errorf("failed updating machine status: %w", err)
381+
switch p.Status {
382+
// First, check whether the request is successful. We have to do this ahead of the error checking,
383+
// because the errors field does not seem to get cleared if the same provisioning task was successful
384+
// in the next run.
385+
//
386+
// See also: VSD-1473
387+
case progress.StatusSuccess:
388+
status.InstanceID = p.VMIdentifier
389+
if err := updateMachineStatus(machine, status, pd.Update); err != nil {
390+
return nil, fmt.Errorf("failed updating machine status: %w", err)
391+
}
392+
case progress.StatusFailed:
393+
return nil, fmt.Errorf("vm provisioning had errors: %s", strings.Join(p.Errors, ","))
394+
case progress.StatusInProgress:
395+
return &anexiaInstance{isCreating: true}, nil
364396
}
365397
}
366398

@@ -399,12 +431,12 @@ func (p *provider) Cleanup(ctx context.Context, log *zap.SugaredLogger, machine
399431
}()
400432

401433
ensureConditions(&status)
402-
config, _, err := p.getConfig(ctx, log, machine.Spec.ProviderSpec)
434+
token, err := p.getTokenFromSpec(machine.Spec.ProviderSpec)
403435
if err != nil {
404-
return false, newError(common.InvalidConfigurationMachineError, "failed to parse MachineSpec: %v", err)
436+
return false, fmt.Errorf("querying token from MachineSpec failed: %w", err)
405437
}
406438

407-
_, cli, err := getClient(config.Token, &machine.Name)
439+
_, cli, err := getClient(token, &machine.Name)
408440
if err != nil {
409441
return false, newError(common.InvalidConfigurationMachineError, "failed to create Anexia client: %v", err)
410442
}
@@ -446,16 +478,18 @@ func isTaskDone(ctx context.Context, cli anxclient.Client, progressIdentifier st
446478
return false, err
447479
}
448480

449-
if len(response.Errors) != 0 {
481+
switch response.Status {
482+
case progress.StatusSuccess:
483+
return true, nil
484+
case progress.StatusInProgress:
485+
return false, nil
486+
case progress.StatusCancelled,
487+
progress.StatusFailed:
450488
taskErrors, _ := json.Marshal(response.Errors)
451489
return true, fmt.Errorf("task failed with: %s", taskErrors)
490+
default:
491+
panic(fmt.Sprintf("unexpected progress.Status: %#v", response.Status))
452492
}
453-
454-
if response.Progress == 100 {
455-
return true, nil
456-
}
457-
458-
return false, nil
459493
}
460494

461495
func (p *provider) MigrateUID(_ context.Context, _ *zap.SugaredLogger, _ *clusterv1alpha1.Machine, _ k8stypes.UID) error {

0 commit comments

Comments
 (0)