diff --git a/.drone.yml b/.drone.yml index 227c2b332e..61d782130b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,6 +7,9 @@ platform: os: linux arch: amd64 +clone: + retries: 3 + steps: - name: skipfiles image: plugins/git @@ -206,6 +209,9 @@ platform: os: linux arch: arm64 +clone: + retries: 3 + steps: - name: skipfiles image: plugins/git @@ -371,6 +377,9 @@ platform: node: arch: s390x +clone: + retries: 3 + steps: - name: skipfiles image: alpine/git:v2.30.2-s390x @@ -474,6 +483,9 @@ platform: os: linux arch: amd64 +clone: + retries: 3 + steps: - name: skipfiles image: plugins/git @@ -532,6 +544,9 @@ platform: os: linux arch: amd64 +clone: + retries: 3 + steps: - name: skipfiles image: plugins/git diff --git a/go.mod b/go.mod index 058ab675c5..b7e0aa275b 100644 --- a/go.mod +++ b/go.mod @@ -50,39 +50,39 @@ replace ( google.golang.org/genproto => google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 google.golang.org/grpc => google.golang.org/grpc v1.51.0 gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.6.0 - k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.2-k3s1 - k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.2-k3s1 - k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.2-k3s1 - k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.2-k3s1 - k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.27.2-k3s1 - k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.2-k3s1 - k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.2-k3s1 - k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.2-k3s1 - k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.27.2-k3s1 - k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.2-k3s1 - k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.2-k3s1 - k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.2-k3s1 - k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.2-k3s1 - k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.2-k3s1 - k8s.io/dynamic-resource-allocation => github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.2-k3s1 + k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.3-k3s1 + k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.3-k3s1 + k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.3-k3s1 + k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.3-k3s1 + k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.27.3-k3s1 + k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.3-k3s1 + k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.3-k3s1 + k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.3-k3s1 + k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.27.3-k3s1 + k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.3-k3s1 + k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.3-k3s1 + k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.3-k3s1 + k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.3-k3s1 + k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.3-k3s1 + k8s.io/dynamic-resource-allocation => github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.3-k3s1 k8s.io/klog => github.com/k3s-io/klog v1.0.0-k3s2 // k3s-release-1.x k8s.io/klog/v2 => github.com/k3s-io/klog/v2 v2.90.1-k3s1 // k3s-main - k8s.io/kms => github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.2-k3s1 - k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.2-k3s1 - k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.2-k3s1 - k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.2-k3s1 - k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.2-k3s1 - k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.2-k3s1 - k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.2-k3s1 - k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.27.2-k3s1 - k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.2-k3s1 - k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.2-k3s1 - k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.2-k3s1 - k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.27.2-k3s1 - k8s.io/pod-security-admission => github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.2-k3s1 - k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.27.2-k3s1 - k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.27.2-k3s1 - k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.27.2-k3s1 + k8s.io/kms => github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.3-k3s1 + k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.3-k3s1 + k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.3-k3s1 + k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.3-k3s1 + k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.3-k3s1 + k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.3-k3s1 + k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.3-k3s1 + k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.27.3-k3s1 + k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.3-k3s1 + k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.3-k3s1 + k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.3-k3s1 + k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.27.3-k3s1 + k8s.io/pod-security-admission => github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.3-k3s1 + k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.27.3-k3s1 + k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.27.3-k3s1 + k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.27.3-k3s1 mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7 ) @@ -92,8 +92,8 @@ require ( github.com/containerd/continuity v0.3.0 // indirect github.com/google/go-containerregistry v0.12.2-0.20230106184643-b063f6aeac72 github.com/iamacarpet/go-win64api v0.0.0-20210311141720-fe38760bed28 - github.com/k3s-io/helm-controller v0.15.0 - github.com/k3s-io/k3s v1.27.3-0.20230612175249-b66a118362ba // master + github.com/k3s-io/helm-controller v0.15.2 + github.com/k3s-io/k3s v1.27.4-0.20230707183357-2eddfe6cf4e6 // master github.com/libp2p/go-netroute v0.2.0 github.com/natefinch/lumberjack v2.0.0+incompatible github.com/onsi/ginkgo/v2 v2.9.4 @@ -110,14 +110,14 @@ require ( golang.org/x/sync v0.1.0 golang.org/x/sys v0.7.0 google.golang.org/grpc v1.53.0 - k8s.io/api v0.27.2 - k8s.io/apimachinery v0.27.2 - k8s.io/apiserver v0.27.2 + k8s.io/api v0.27.3 + k8s.io/apimachinery v0.27.3 + k8s.io/apiserver v0.27.3 k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible - k8s.io/component-base v0.27.2 - k8s.io/cri-api v0.27.2 + k8s.io/component-base v0.27.3 + k8s.io/cri-api v0.27.3 k8s.io/klog/v2 v2.90.1 - k8s.io/kubernetes v1.27.2 + k8s.io/kubernetes v1.27.3 k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 sigs.k8s.io/yaml v1.3.0 ) @@ -369,9 +369,9 @@ require ( honnef.co/go/tools v0.2.2 // indirect inet.af/tcpproxy v0.0.0-20200125044825-b6bb9b5b8252 // indirect k8s.io/apiextensions-apiserver v0.25.4 // indirect - k8s.io/cloud-provider v0.27.2 // indirect + k8s.io/cloud-provider v0.27.3 // indirect k8s.io/cluster-bootstrap v0.0.0 // indirect - k8s.io/component-helpers v0.27.2 // indirect + k8s.io/component-helpers v0.27.3 // indirect k8s.io/controller-manager v0.25.4 // indirect k8s.io/csi-translation-lib v0.0.0 // indirect k8s.io/dynamic-resource-allocation v0.0.0 // indirect @@ -385,7 +385,7 @@ require ( k8s.io/kubelet v0.0.0 // indirect k8s.io/legacy-cloud-providers v0.0.0 // indirect k8s.io/metrics v0.0.0 // indirect - k8s.io/mount-utils v0.27.2 // indirect + k8s.io/mount-utils v0.27.3 // indirect k8s.io/pod-security-admission v0.0.0 // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 // indirect sigs.k8s.io/controller-runtime v0.10.1 // indirect diff --git a/go.sum b/go.sum index e3054a8d0a..798d48bc31 100644 --- a/go.sum +++ b/go.sum @@ -851,10 +851,10 @@ github.com/k3s-io/etcd/raft/v3 v3.5.7-k3s1 h1:C2FlzI9JcwUhxoT7KSvxcK3aLyzy9bMM5z github.com/k3s-io/etcd/raft/v3 v3.5.7-k3s1/go.mod h1:TflkAb/8Uy6JFBxcRaH2Fr6Slm9mCPVdI2efzxY96yU= github.com/k3s-io/etcd/server/v3 v3.5.7-k3s1 h1:T4VGL9jq4WvxAd7Jiilt7f3ZBPkqPTqa0GZD9t5j50A= github.com/k3s-io/etcd/server/v3 v3.5.7-k3s1/go.mod h1:gxBgT84issUVBRpZ3XkW1T55NjOb4vZZRI4wVvNhf4A= -github.com/k3s-io/helm-controller v0.15.0 h1:ZKpgkq4TX/EAebCoJhPfGRF7w1F8Kz1Kb4ugbkKZoic= -github.com/k3s-io/helm-controller v0.15.0/go.mod h1:BgCPBQblj/Ect4Q7/Umf86WvyDjdG/34D+n8wfXtoeM= -github.com/k3s-io/k3s v1.27.3-0.20230612175249-b66a118362ba h1:OWnIuW4gYGZNq2xoMThH59POBCBt8WxrfdzoJdQ9940= -github.com/k3s-io/k3s v1.27.3-0.20230612175249-b66a118362ba/go.mod h1:CKIK6Wr3liDne5+uUKwg2nowpbgfp4Crnw2E6qUUrxk= +github.com/k3s-io/helm-controller v0.15.2 h1:H5OWiNPhp9ZoyZOldt0ewq7wTy4UnU9j7DHdb7swi0Q= +github.com/k3s-io/helm-controller v0.15.2/go.mod h1:BgCPBQblj/Ect4Q7/Umf86WvyDjdG/34D+n8wfXtoeM= +github.com/k3s-io/k3s v1.27.4-0.20230707183357-2eddfe6cf4e6 h1:J4tqpuQLvpe2WZT63nVQIEuTkajkRt+G9Bh4ibkIREE= +github.com/k3s-io/k3s v1.27.4-0.20230707183357-2eddfe6cf4e6/go.mod h1:ctmq7hCsSiF6cWWv3vA9OaT3J4C3SfeXGPWdwxRwIu0= github.com/k3s-io/kine v0.10.1 h1:HdpG84WaZvIYYzFB+kT8grNhtlsGzLLYN/MohV+r7+U= github.com/k3s-io/kine v0.10.1/go.mod h1:TU8mr4oByeEPKChQBUpSdGc1mZk+Txr2yZhRY+Jch1Q= github.com/k3s-io/klog v1.0.0-k3s2/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= @@ -862,57 +862,57 @@ github.com/k3s-io/klog/v2 v2.90.1-k3s1 h1:QOJ/1xi4ERgpPGmSI3n1f989XjII+OvPdgdiMO github.com/k3s-io/klog/v2 v2.90.1-k3s1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= github.com/k3s-io/kube-router/v2 v2.0.1-0.20230508174102-b42e5faded1c h1:7IaKAByGXNvZAmhYlaHH2LiqOGWtPNVg8vKV1Xvlrek= github.com/k3s-io/kube-router/v2 v2.0.1-0.20230508174102-b42e5faded1c/go.mod h1:zhLSRTL1M+0BqeDTRzT42ZtlFJH/d9xaGvXGQR4c2Gc= -github.com/k3s-io/kubernetes v1.27.2-k3s1 h1:Z4dvj7HvIGrIbQRHdIevZnBifl3bFD8ehJfmbVld0lE= -github.com/k3s-io/kubernetes v1.27.2-k3s1/go.mod h1:U8ZXeKBAPxeb4J4/HOaxjw1A9K6WfSH+fY2SS7CR6IM= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.2-k3s1 h1:QlOqFCCZ9MFR6M05TUpGtE83WJUK3Q0VHoYyY1OOLDc= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.2-k3s1/go.mod h1:BkLIWuLYarkyXCgyBapJTaVKh6Y6dtizkSS6yaOw90A= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.2-k3s1 h1:ue8/FGmuoVf6CzlS+cZev1SRiD+NQnw5q6PyMBsN4Pg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.2-k3s1/go.mod h1:zSDJGTKUDaXJ9QVqPPhOdv4Mc4o9sRF2kHG+8CariCg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.2-k3s1 h1:k+scylONIlB9jwl2DT0hy2uC8ht4XlXma/ORuq4b+NA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.2-k3s1/go.mod h1:Osfbq0FOlZe3tVCZPzx7nqzX6fBVrXwQbLq5+63kKzU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.2-k3s1 h1:Q9wSvJfkENM0zf5xyRiBvCYKvslmsPyvxltyrdhldeQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.2-k3s1/go.mod h1:F8MLr0HHTdIguLLfPPPfHjSHnFfxxT+g9VN+SXnAz30= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.2-k3s1 h1:l8xnU+e8br0Z6BBzEaR6HXNN7tWWfHuY6ah5Yceu5QQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.2-k3s1/go.mod h1:imCCbwtdkqQq1e48br+TMMKRQWA1b2dcnb3yuAZRQ0E= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.2-k3s1 h1:7OnGNNY0wgMdSYtZ/q3o3ImDt7LhBvn5UQOIyxWIcxE= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.2-k3s1/go.mod h1:KDPXcl6hV3rFC8wffq2cNbO7epPc7usxhER/5g4Cc+w= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.2-k3s1 h1:CcuEcEZOAeHgxg4dttDhOVfIv3EGxjy/1MDItd2StjU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.2-k3s1/go.mod h1:IcPB/5jKQQI4ebDXsQigmOZIiAqlwgtQvIzmxHy3pGQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.27.2-k3s1/go.mod h1:0dF6zBk2bqVelXoKV8HzTSqggL8VwRWGT1IyJ2VmCbs= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.2-k3s1 h1:KKlxtHroX6+sD69WQV3FD4fD7Rd9b3mcOOAonVSM7g4= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.2-k3s1/go.mod h1:J1XjMts5nmpmjnMkgWENknKJZz5XvN82A7S1AJ4qCZ0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.2-k3s1 h1:3fiPNphBdJsHdFdBMKlHzTlnQ8tuGO/HG5SspEZoC7k= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.2-k3s1/go.mod h1:XH/mT02C+kohuNtjlyY/eSIUIKuaeiNC3wX9xkcRW+s= -github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.2-k3s1 h1:HEd0QgQxwsgrEATm6Ehpzx8d6MOZeHbIUu7hcRKqCCk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.2-k3s1/go.mod h1:OhS2nNvxcwT4yrlk1UZL6pJsonPhxwlTLioArEyEDRQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.2-k3s1 h1:jDysp9LdywMOrhu2Epmxon6k8vQiHr8ihJIG9qUUdnI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.2-k3s1/go.mod h1:P3jQ0JFCbQmHTNdnpQ6+rgpBvHW5jRJdpY13LRFk9MY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.2-k3s1 h1:pBbsGh5PLk1YyE48O7i4Ytf/L2obXO6uV0crAgNpkNQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.2-k3s1/go.mod h1:5/8Rts1Y3RdeLXtENn7Nhrqgej8paDoX3np17JAZOyU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.2-k3s1 h1:DWULsFuyi/zP+nQA9pVBedXQ5SUy4eW01nLVnhCUsWs= -github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.2-k3s1/go.mod h1:hyAEWqqvYYt7l3JT/F21wp4ziNW+hb1z+fEuUZnCm1A= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.2-k3s1 h1:7ah7xIrhxJx6OrAK2nixvWl69aA/0fzHJB4R4HC8fZ8= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.2-k3s1/go.mod h1:M2kROdqx5g0WIu2Jx9CjNbWGFoPtoEYxJKqCPT9/784= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.2-k3s1 h1:KiBMpPztBUZ02IIZa5OwWXAVVHsgNwTnB2l2aijwiqw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.2-k3s1/go.mod h1:/TvCEFq8Hu960DruMf5qfYN4YJtbJL3pXGq/CIZ7Ilo= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.2-k3s1 h1:xCA7dgT4lCoAVgXm2Yg6sSkln1rKCrIG1qnDUm8k84g= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.2-k3s1/go.mod h1:ZPAIqj7PFvKQQ+3PwB82p1ssc9ryMHc3N1UHFm3afJQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.2-k3s1 h1:4uYDZVE652d/dyj4Wu/P1qGJgKV+40vbHn8zvFtkAcI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.2-k3s1/go.mod h1:WsvRzdiYtqnl7oxA/kSrtvk66nQSuHSALTvhYMPc714= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.2-k3s1 h1:dn0rlVE8YQhHbv9B/qQdM8ywB5ylvMqUpId+wBzVKpA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.2-k3s1/go.mod h1:NWuiMd69LXorPCzxKYhVjLJahLlbiC5c9mraIIXnnVw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.2-k3s1 h1:AZyp9WPveNyZPXQXkm1ep9NoclnMB53ehiToQC53Vus= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.2-k3s1/go.mod h1:InWdUp1J2Mrby+8Z3eW/WFrCqJzJMYryv8wowSuCZfA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.2-k3s1 h1:swEq2f4/SO/BBPgraaJyV1fLlptT9dch5dxbqDS6DSc= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.2-k3s1/go.mod h1:+2PiYOYH7dkJbgE5wPq8Kw0GQxWYvtccHJ2L5fX0vsc= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.2-k3s1 h1:337gA8Yjkdyidv/Z1IKXvnaIUyGqUSTJzCZeq3jdTxs= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.2-k3s1/go.mod h1:mwIOl2Auu81bClSDUHsLATcGs0qyhaWWKqEGnqpfPdg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.2-k3s1 h1:vHfJswh254u2omwss1s+td3npdN8zcV0ygCGutnNZyY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.2-k3s1/go.mod h1:+soUGPSCPRv4nKEQeGq3Ky0JLCZMWJXWMYoClMcwh5o= -github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.2-k3s1 h1:Dm2R9jhkd+ID9OqZ2fQQjqi5oC6e+TehADbF0tN5n7c= -github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.2-k3s1/go.mod h1:vEIRbmVN0BaNdmQw/4ZJx+/j2+Y4Fq6eij7TYGKITOA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.2-k3s1 h1:224kK4qLH6aQivU0puHEwqTQj+Ukd4YOAwwvldXEt4I= -github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.2-k3s1/go.mod h1:zLV1t5ZWb7sFP6sJQAS3vPZ3lWY9ACXoDSL2y5BDR8g= +github.com/k3s-io/kubernetes v1.27.3-k3s1 h1:3Ff7GgPgmRKFAXRPJGvzZFVVCBSIFjF3tsLLDe/fDg4= +github.com/k3s-io/kubernetes v1.27.3-k3s1/go.mod h1:U8ZXeKBAPxeb4J4/HOaxjw1A9K6WfSH+fY2SS7CR6IM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.3-k3s1 h1:rUbaU3X3HQQLyEjnQmIQZXQYPaOllH4IxAcYuZHjpVU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.27.3-k3s1/go.mod h1:BkLIWuLYarkyXCgyBapJTaVKh6Y6dtizkSS6yaOw90A= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.3-k3s1 h1:z9xB+77porupE3Gj/gmVzHcBHPdO+zl5m6+i0YzBYys= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.27.3-k3s1/go.mod h1:zSDJGTKUDaXJ9QVqPPhOdv4Mc4o9sRF2kHG+8CariCg= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.3-k3s1 h1:DBayNuD4C91wUI5cU7ziXHY3WyTatoU4uw6jRCMZfYM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.27.3-k3s1/go.mod h1:Osfbq0FOlZe3tVCZPzx7nqzX6fBVrXwQbLq5+63kKzU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.3-k3s1 h1:Dd5FzgpftNrKwkmFdtfyuAMexf+MdZFYadREW2E5yTI= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.27.3-k3s1/go.mod h1:F8MLr0HHTdIguLLfPPPfHjSHnFfxxT+g9VN+SXnAz30= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.3-k3s1 h1:4/g7Ayz3SvWPSKpGjeB0H7OXxYFy53vwkk/hijkon+c= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.27.3-k3s1/go.mod h1:imCCbwtdkqQq1e48br+TMMKRQWA1b2dcnb3yuAZRQ0E= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.3-k3s1 h1:RBRQ7jUmPe+/kgFI5COOssM6ff10mBSVnkieoJDTQp8= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.27.3-k3s1/go.mod h1:KDPXcl6hV3rFC8wffq2cNbO7epPc7usxhER/5g4Cc+w= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.3-k3s1 h1:AFWpIlXR/5WG7yXsGqmTmcqb+NF09BfC0CSoe38qA5I= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.27.3-k3s1/go.mod h1:IcPB/5jKQQI4ebDXsQigmOZIiAqlwgtQvIzmxHy3pGQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.27.3-k3s1/go.mod h1:0dF6zBk2bqVelXoKV8HzTSqggL8VwRWGT1IyJ2VmCbs= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.3-k3s1 h1:oHRoyX3LJERBxADExEF9naNSmqxRJiKc7KnT+30PPCc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.27.3-k3s1/go.mod h1:J1XjMts5nmpmjnMkgWENknKJZz5XvN82A7S1AJ4qCZ0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.3-k3s1 h1:oqs2WMmCAV+8WbFijw4ucCzbN0dBfV4AcVS/QNpjlUw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.27.3-k3s1/go.mod h1:XH/mT02C+kohuNtjlyY/eSIUIKuaeiNC3wX9xkcRW+s= +github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.3-k3s1 h1:NATRPJ1ihcAgZmd0n1wz0GazMfCKgGtc3u2JGI1oOjc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.27.3-k3s1/go.mod h1:OhS2nNvxcwT4yrlk1UZL6pJsonPhxwlTLioArEyEDRQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.3-k3s1 h1:KWuPepU8rQxqV1MARXSDy7XDApRHT+JK7xkkFjYly1I= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.27.3-k3s1/go.mod h1:P3jQ0JFCbQmHTNdnpQ6+rgpBvHW5jRJdpY13LRFk9MY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.3-k3s1 h1:IduTUD8ewjhYlH0UhYYrz2Dyo3t/HEJ4AhgOKVZrdWo= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.27.3-k3s1/go.mod h1:5/8Rts1Y3RdeLXtENn7Nhrqgej8paDoX3np17JAZOyU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.3-k3s1 h1:EmjVYz88iH6mwKJXMm8SGA3IxbPlICO+qD2mrSEyzQc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.27.3-k3s1/go.mod h1:hyAEWqqvYYt7l3JT/F21wp4ziNW+hb1z+fEuUZnCm1A= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.3-k3s1 h1:KiKhfPhxUHWVvdW2OZbwSWNQV2QMBw2pP0kaGHZrjpU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.27.3-k3s1/go.mod h1:M2kROdqx5g0WIu2Jx9CjNbWGFoPtoEYxJKqCPT9/784= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.3-k3s1 h1:EMDGc+uYJJ9ZmY6uY6a5/OzYUvPv1rbl/C8d0O66BUY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.27.3-k3s1/go.mod h1:/TvCEFq8Hu960DruMf5qfYN4YJtbJL3pXGq/CIZ7Ilo= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.3-k3s1 h1:KS2FmFdQGkGNVZGxjSa5aIURh6Y+JJGtWn8dDmje2/I= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.27.3-k3s1/go.mod h1:ZPAIqj7PFvKQQ+3PwB82p1ssc9ryMHc3N1UHFm3afJQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.3-k3s1 h1:kBiRdU7kATcycY15PUqpmwdRdHHKrqR4YReTMDZCgBE= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.27.3-k3s1/go.mod h1:WsvRzdiYtqnl7oxA/kSrtvk66nQSuHSALTvhYMPc714= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.3-k3s1 h1:/CCdTxWa+xPU/zlKzU7wBXxVJ2y616GXCGtrZvtfJjw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.27.3-k3s1/go.mod h1:NWuiMd69LXorPCzxKYhVjLJahLlbiC5c9mraIIXnnVw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.3-k3s1 h1:Qny1YmuCovHAtyQO9bhEjkByCF31o4FkA3hqGw/IU88= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.27.3-k3s1/go.mod h1:InWdUp1J2Mrby+8Z3eW/WFrCqJzJMYryv8wowSuCZfA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.3-k3s1 h1:sFOlOoNrvkYxp1lZ8X/6X7l5SgKJm3Bqcebwl6aX3V8= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.27.3-k3s1/go.mod h1:+2PiYOYH7dkJbgE5wPq8Kw0GQxWYvtccHJ2L5fX0vsc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.3-k3s1 h1:sX5cvoJmxXZW7yGVIp++0KrjPVavy0yTem+XZtT2PhA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.27.3-k3s1/go.mod h1:mwIOl2Auu81bClSDUHsLATcGs0qyhaWWKqEGnqpfPdg= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.3-k3s1 h1:DiOMhdklTctyePaM5qPCrgXZhveDGp4MQct3bBclMVk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.27.3-k3s1/go.mod h1:+soUGPSCPRv4nKEQeGq3Ky0JLCZMWJXWMYoClMcwh5o= +github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.3-k3s1 h1:BHpMwKt80JEnKvmiXcJj7Sit+1iwpNwBzOvj3OsdiuU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.27.3-k3s1/go.mod h1:vEIRbmVN0BaNdmQw/4ZJx+/j2+Y4Fq6eij7TYGKITOA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.3-k3s1 h1:A6aumz1+lMkGDlGNeyECSz0eQUYNuivM+ynKJpIKImA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.27.3-k3s1/go.mod h1:zLV1t5ZWb7sFP6sJQAS3vPZ3lWY9ACXoDSL2y5BDR8g= github.com/k3s-io/stargz-snapshotter v0.13.0-k3s1 h1:Kxs7Y1kayAX3hr3X+rkSBCaDwaWR/OfbWy+oESiBnN0= github.com/k3s-io/stargz-snapshotter v0.13.0-k3s1/go.mod h1:k+OjA93AK1owz6DgNIpxuiepp/SGrSZ0HX6lWjA3CVI= github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI= diff --git a/pkg/cli/cmds/cert.go b/pkg/cli/cmds/cert.go index 4aa774b803..8dd2d79b71 100644 --- a/pkg/cli/cmds/cert.go +++ b/pkg/cli/cmds/cert.go @@ -48,6 +48,10 @@ func NewCertCommand() cli.Command { "server": copyFlag, "path": copyFlag, "force": copyFlag, + "data-dir": { + Usage: "(data) Folder to hold state", + Default: rke2Path, + }, }, } diff --git a/pkg/cli/cmds/server.go b/pkg/cli/cmds/server.go index 6adab7953c..cf3ea547d0 100644 --- a/pkg/cli/cmds/server.go +++ b/pkg/cli/cmds/server.go @@ -141,6 +141,7 @@ var ( "etcd-s3-insecure": copyFlag, "etcd-s3-timeout": copyFlag, "disable-helm-controller": dropFlag, + "helm-job-image": copyFlag, "enable-pprof": copyFlag, "servicelb-namespace": copyFlag, }) diff --git a/pkg/podexecutor/staticpod.go b/pkg/podexecutor/staticpod.go index 5dfc71affc..a8ff5f8246 100644 --- a/pkg/podexecutor/staticpod.go +++ b/pkg/podexecutor/staticpod.go @@ -280,10 +280,11 @@ func (s *StaticPodConfig) APIServer(_ context.Context, etcdReady <-chan struct{} "--audit-log-maxbackup=10", "--audit-log-maxsize=100", } - args = append(extraArgs, args...) if auditLogFile == "" { auditLogFile = filepath.Join(s.DataDir, "server/logs/audit.log") + extraArgs = append(extraArgs, "--audit-log-path="+auditLogFile) } + args = append(extraArgs, args...) } args = append([]string{"--admission-control-config-file=" + s.PSAConfigFile}, args...) diff --git a/tests/acceptance/README.md b/tests/acceptance/README.md index 2ace9d74bd..431e62b37a 100644 --- a/tests/acceptance/README.md +++ b/tests/acceptance/README.md @@ -119,7 +119,8 @@ Available arguments to create your command with examples: Example of an execution with multiple values: ```bash - go test -v -timeout=45m -tags=coredns ./entrypoint/versionbump/... \ + go test -v -timeout=45m -tags=versionbump ./entrypoint/versionbump/... \ + -cmd "(find /var/lib/rancher/rke2/data/ -type f -name runc -exec {} --version \\;), rke2 -v" \ -expectedValue "v1.9.3, v1.25.9+rke2r1" \ -expectedValueUpgrade "v1.10.1, v1.26.4-rc1+rke2r1" \ -installVersionOrCommit INSTALL_RKE2_VERSION=v1.25.9+rke2r1 \ diff --git a/tests/acceptance/core/service/assert/node.go b/tests/acceptance/core/service/assert/node.go index 08d8296d6b..d21040090d 100644 --- a/tests/acceptance/core/service/assert/node.go +++ b/tests/acceptance/core/service/assert/node.go @@ -15,27 +15,49 @@ type NodeAssertFunc func(g Gomega, node shared.Node) // NodeAssertVersionTypeUpgrade custom assertion func that asserts that node version is as expected func NodeAssertVersionTypeUpgrade(installType customflag.FlagConfig) NodeAssertFunc { - fullCmd := customflag.ServiceFlag.InstallUpgrade.String() - version := strings.Split(fullCmd, "=") + if installType.InstallUpgrade != nil { + if strings.HasPrefix(customflag.ServiceFlag.InstallUpgrade.String(), "v") { + return assertVersion(installType) + } + return assertCommit(installType) + } + + return func(g Gomega, node shared.Node) { + GinkgoT().Errorf("no version or commit specified for upgrade assertion") + } +} +// assertVersion returns the NodeAssertFunc for asserting version +func assertVersion(installType customflag.FlagConfig) NodeAssertFunc { if installType.InstallUpgrade != nil { - if strings.HasPrefix(fullCmd, "v") { - fmt.Printf("Asserting Version: %s\n", version[1]) + if strings.HasPrefix(customflag.ServiceFlag.InstallUpgrade.String(), "v") { + fmt.Printf("Asserting Version: %s\n", installType.InstallUpgrade.String()) return func(g Gomega, node shared.Node) { - g.Expect(node.Version).Should(Equal(version[1]), + g.Expect(node.Version).Should(ContainSubstring(installType.InstallUpgrade.String()), "Nodes should all be upgraded to the specified version", node.Name) } } + } + + return func(g Gomega, node shared.Node) { + GinkgoT().Errorf("no version specified for upgrade assertion") + } +} + +// assertCommit returns the NodeAssertFunc for asserting commit +func assertCommit(installType customflag.FlagConfig) NodeAssertFunc { + if installType.InstallUpgrade != nil { upgradedVersion := shared.GetRke2Version() - fmt.Printf("Asserting Commit: %s\n Version: %s", version[1], upgradedVersion) + fmt.Printf("Asserting Commit: %s\n Version: %s", + installType.InstallUpgrade.String(), upgradedVersion) return func(g Gomega, node shared.Node) { - g.Expect(upgradedVersion).Should(ContainSubstring(node.Version), + g.Expect(upgradedVersion).Should(ContainSubstring(installType.InstallUpgrade.String()), "Nodes should all be upgraded to the specified commit", node.Name) } } return func(g Gomega, node shared.Node) { - GinkgoT().Errorf("no version or commit specified for upgrade assertion") + GinkgoT().Errorf("no commit specified for upgrade validation") } } diff --git a/tests/acceptance/core/service/template/processor.go b/tests/acceptance/core/service/template/processor.go index d44ac3c34f..ec0ac6082c 100644 --- a/tests/acceptance/core/service/template/processor.go +++ b/tests/acceptance/core/service/template/processor.go @@ -16,7 +16,8 @@ import ( // it will spawn a go routine per testCombination and ip. func processCmds(resultChan chan error, wg *sync.WaitGroup, ip string, cmds []string, expectedValues []string) { if len(cmds) != len(expectedValues) { - resultChan <- fmt.Errorf("mismatched length commands x expected values") + resultChan <- fmt.Errorf("mismatched length commands x expected values:"+ + " %s x %s", cmds, expectedValues) return } diff --git a/tests/acceptance/core/service/template/versiontemplate.go b/tests/acceptance/core/service/template/versiontemplate.go index 9d47c85a70..6ed00faac0 100644 --- a/tests/acceptance/core/service/template/versiontemplate.go +++ b/tests/acceptance/core/service/template/versiontemplate.go @@ -30,26 +30,28 @@ func VersionTemplate(test VersionTestTemplate) { return } - for _, version := range test.InstallUpgrade { - if GinkgoT().Failed() { - fmt.Println("checkVersion failed, upgrade not performed") - return - } - - err = upgradeVersion(test, version) - if err != nil { - GinkgoT().Errorf("error upgrading: %v\n", err) - return - } - - err = checkVersion(test) - if err != nil { - GinkgoT().Errorf(err.Error()) - return - } - - if test.TestConfig != nil { - TestCaseWrapper(test) + if test.InstallUpgrade != nil { + for _, version := range test.InstallUpgrade { + if GinkgoT().Failed() { + fmt.Println("checkVersion failed, upgrade not performed") + return + } + + err = upgradeVersion(test, version) + if err != nil { + GinkgoT().Errorf("error upgrading: %v\n", err) + return + } + + err = checkVersion(test) + if err != nil { + GinkgoT().Errorf(err.Error()) + return + } + + if test.TestConfig != nil { + TestCaseWrapper(test) + } } } } diff --git a/tests/acceptance/core/testcase/node.go b/tests/acceptance/core/testcase/node.go index 52bfd86dcf..88f250f8b6 100644 --- a/tests/acceptance/core/testcase/node.go +++ b/tests/acceptance/core/testcase/node.go @@ -32,7 +32,11 @@ func TestNodeStatus( } if nodeAssertVersion != nil { nodeAssertVersion(g, node) + } } - }, "800s", "3s").Should(Succeed()) + }, "800s", "5s").Should(Succeed()) + + _, err := shared.ParseNodes(true) + Expect(err).NotTo(HaveOccurred()) } diff --git a/tests/acceptance/core/testcase/pod.go b/tests/acceptance/core/testcase/pod.go index 033a1edf39..a014943c23 100644 --- a/tests/acceptance/core/testcase/pod.go +++ b/tests/acceptance/core/testcase/pod.go @@ -28,7 +28,8 @@ func TestPodStatus( } else if strings.Contains(pod.Name, "apply") && strings.Contains(pod.NameSpace, "system-upgrade") { g.Expect(pod.Status).Should(SatisfyAny( - ContainSubstring("Error"), + ContainSubstring("Unknown"), + ContainSubstring("Init:Error"), Equal("Completed"), ), pod.Name) } else { @@ -44,7 +45,7 @@ func TestPodStatus( } } } - }, "600s", "3s").Should(Succeed()) + }, "900s", "5s").Should(Succeed()) } func testCrossNodeServiceRequest(services, ports, expected []string) error { diff --git a/tests/acceptance/core/testcase/upgradecluster.go b/tests/acceptance/core/testcase/upgradecluster.go index cd771dd558..20862f45b3 100644 --- a/tests/acceptance/core/testcase/upgradecluster.go +++ b/tests/acceptance/core/testcase/upgradecluster.go @@ -84,23 +84,23 @@ func TestUpgradeClusterManually(version string) error { // upgradeNode upgrades a node server or agent type to the specified version func upgradeNode(nodeType string, installType string, ips []string) error { var wg sync.WaitGroup - var channel string + var installFlag string errCh := make(chan error, len(ips)) - switch { - case customflag.ServiceFlag.InstallType.Version != nil: - installType = fmt.Sprintf("INSTALL_RKE2_VERSION=%s", customflag.ServiceFlag.InstallType.Version) - case customflag.ServiceFlag.InstallType.Commit != nil: - installType = fmt.Sprintf("INSTALL_RKE2_COMMIT=%s", customflag.ServiceFlag.InstallType.Commit) - case customflag.ServiceFlag.InstallType.Channel != "": + if strings.HasPrefix(installType, "v") { + installFlag = fmt.Sprintf("INSTALL_RKE2_VERSION=%s", installType) + } else { + installFlag = fmt.Sprintf("INSTALL_RKE2_COMMIT=%s", installType) + } + + channel := fmt.Sprintf("INSTALL_RKE2_CHANNEL=%s", "stable") + if customflag.ServiceFlag.InstallType.Channel != "" { channel = fmt.Sprintf("INSTALL_RKE2_CHANNEL=%s", customflag.ServiceFlag.InstallType.Channel) - case customflag.ServiceFlag.InstallType.Channel == "": - channel = fmt.Sprintf("INSTALL_RKE2_CHANNEL=%s", "stable") } installRke2Command := "sudo curl -sfL https://get.rke2.io | sudo %s %s INSTALL_RKE2_TYPE=" + nodeType + " sh - " for _, ip := range ips { - upgradeCommand := fmt.Sprintf(installRke2Command, installType, channel) + upgradeCommand := fmt.Sprintf(installRke2Command, installFlag, channel) wg.Add(1) go func(ip, installFlag string) { defer wg.Done() diff --git a/tests/acceptance/entrypoint/versionbump/version_suite_test.go b/tests/acceptance/entrypoint/versionbump/version_suite_test.go index 3bd25c07f8..5861b3eb96 100644 --- a/tests/acceptance/entrypoint/versionbump/version_suite_test.go +++ b/tests/acceptance/entrypoint/versionbump/version_suite_test.go @@ -28,8 +28,14 @@ func TestMain(m *testing.M) { flag.StringVar(&customflag.ServiceFlag.TestConfig.Description, "description", "", "Description of the test") flag.Parse() - installVersionOrCommit := strings.Split(customflag.ServiceFlag.InstallUpgrade.String(), ",") - customflag.ServiceFlag.InstallUpgrade = installVersionOrCommit + if flag.Parsed() { + installVersionOrCommit := strings.Split(customflag.ServiceFlag.InstallUpgrade.String(), ",") + if len(installVersionOrCommit) == 1 && installVersionOrCommit[0] == "" { + customflag.ServiceFlag.InstallUpgrade = nil + } else { + customflag.ServiceFlag.InstallUpgrade = installVersionOrCommit + } + } customflag.ServiceFlag.TestConfig.TestFuncNames = customflag.TestCaseNameFlag testFuncs, err := template.AddTestCases(customflag.ServiceFlag.TestConfig.TestFuncNames) diff --git a/tests/acceptance/shared/aux.go b/tests/acceptance/shared/aux.go index e438c38ffc..38d48f6555 100644 --- a/tests/acceptance/shared/aux.go +++ b/tests/acceptance/shared/aux.go @@ -23,9 +23,13 @@ func RunCommandHost(cmds ...string) (string, error) { c := exec.Command("bash", "-c", cmd) c.Stdout = &output c.Stderr = &errOut + if errOut.Len() > 0 { + fmt.Println("returning Stderr if not null, this might not be an error", + errOut.String()) + } + err := c.Run() if err != nil { - fmt.Println(errOut.String()) return output.String(), fmt.Errorf("executing command: %s: %w", cmd, err) } }