build: update k8s version to 1.26.1

Update the Kubernetes API version used to 1.26.1, and start testing
against Kubernetes version 1.26.1 in CI.

Co-authored-by: parth-gr <paarora@redhat.com>
Co-authored-by: Blaine Gardner <blaine.gardner@redhat.com>

Signed-off-by: parth-gr <paarora@redhat.com>
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
This commit is contained in:
parth-grandBlaine Gardner authored and Blaine Gardner committed 2023-02-23 20:18:47 -07:00
1 parent d7f84c960d
commit 69ae9569cd
23 files changed
+1178 -421

No files matched your search

@@ -1348,7 +1348,7 @@ jobs:
uses: manusa/actions-setup-minikube@v2.7.2
with:
minikube version: "v1.26.1"
kubernetes version: "v1.23.0"
kubernetes version: "v1.26.1"
start args: --memory 6g --cpus=2 --addons ingress --cni=calico
github token: ${{ secrets.GITHUB_TOKEN }}
+2 -2
View File
@@ -78,7 +78,7 @@ section for instructions on how to change the default namespaces in `common.yaml
Then apply the latest changes from v1.11 and update the Rook Operator image.
```console
kubectl apply -f common.yaml -f crds.yaml
kubectl apply --server-side -f common.yaml -f crds.yaml
kubectl -n rook-ceph set image deploy/rook-ceph-operator rook-ceph-operator=rook/ceph:v1.11.1
```
@@ -158,7 +158,7 @@ sed -i.bak \
**Apply the resources.**
```console
kubectl apply -f common.yaml -f crds.yaml
kubectl apply --server-side -f common.yaml -f crds.yaml
```
#### **Prometheus Updates**
+1 -1
View File
@@ -32,7 +32,7 @@ all: build
# Controller-gen version
# f284e2e8... is master ahead of v0.5.0 which has ability to generate embedded objectmeta in CRDs
CONTROLLER_GEN_VERSION=v0.6.2
CONTROLLER_GEN_VERSION=v0.11.3
# Set GOBIN
ifeq (,$(shell go env GOBIN))
+7 -7
View File
@@ -20,12 +20,12 @@ set -o pipefail
# set BUILD_CRDS_INTO_DIR to build the CRD results into the given dir instead of in-place
: "${BUILD_CRDS_INTO_DIR:=}"
SCRIPT_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd -P)
SCRIPT_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)
CONTROLLER_GEN_BIN_PATH=$1
YQ_BIN_PATH=$2
: "${MAX_DESC_LEN:=-1}"
# allowDangerousTypes is used to accept float64
CRD_OPTIONS="crd:maxDescLen=$MAX_DESC_LEN,trivialVersions=true,generateEmbeddedObjectMeta=true,allowDangerousTypes=true"
CRD_OPTIONS="crd:maxDescLen=$MAX_DESC_LEN,generateEmbeddedObjectMeta=true,allowDangerousTypes=true"
DESTINATION_ROOT="$SCRIPT_ROOT"
if [[ -n "$BUILD_CRDS_INTO_DIR" ]]; then
@@ -59,9 +59,9 @@ generating_crds_v1() {
}
generating_main_crd() {
true > "$CEPH_CRDS_FILE_PATH"
true > "$CEPH_HELM_CRDS_FILE_PATH"
cat <<EOF > "$CEPH_CRDS_FILE_PATH"
true >"$CEPH_CRDS_FILE_PATH"
true >"$CEPH_HELM_CRDS_FILE_PATH"
cat <<EOF >"$CEPH_CRDS_FILE_PATH"
##############################################################################
# Create the CRDs that are necessary before creating your Rook cluster.
# These resources *must* be created before the cluster.yaml or their variants.
@@ -110,7 +110,7 @@ while read -r line; do
CRD_FILES+=("$line")
done < <(find "$OLM_CATALOG_DIR" -type f -name '*.yaml' | sort)
echo "---" >> "$CEPH_CRDS_FILE_PATH" # yq doesn't output the first doc separator
$YQ_BIN_PATH eval-all '.' "${CRD_FILES[@]}" >> "$CEPH_CRDS_FILE_PATH"
echo "---" >>"$CEPH_CRDS_FILE_PATH" # yq doesn't output the first doc separator
$YQ_BIN_PATH eval-all '.' "${CRD_FILES[@]}" >>"$CEPH_CRDS_FILE_PATH"
build_helm_resources
File diff suppressed because it is too large. Load diff
+539 -160
View File
File diff suppressed because it is too large. Load diff
+9 -9
View File
@@ -30,12 +30,12 @@ require (
golang.org/x/sync v0.1.0
gopkg.in/ini.v1 v1.67.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.25.4
k8s.io/apimachinery v0.25.4
k8s.io/client-go v0.25.4
k8s.io/cloud-provider v0.25.4
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
sigs.k8s.io/controller-runtime v0.13.1
k8s.io/api v0.26.1
k8s.io/apimachinery v0.26.1
k8s.io/client-go v0.26.1
k8s.io/cloud-provider v0.26.1
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
sigs.k8s.io/controller-runtime v0.14.1
sigs.k8s.io/yaml v1.3.0
)
@@ -207,7 +207,7 @@ require (
github.com/posener/complete v1.2.3 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/pquerna/otp v1.2.1-0.20191009055518-468c2dd2b58d // indirect
github.com/prometheus/client_golang v1.13.0 // indirect
github.com/prometheus/client_golang v1.14.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
@@ -249,8 +249,8 @@ require (
gopkg.in/resty.v1 v1.12.0 // indirect
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.25.4 // indirect
k8s.io/component-base v0.25.4 // indirect
k8s.io/apiextensions-apiserver v0.26.0 // indirect
k8s.io/component-base v0.26.1 // indirect
k8s.io/klog/v2 v2.80.1 // indirect
k8s.io/kube-openapi v0.0.0-20221110221610-a28e98eb7c70 // indirect
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
+20 -22
View File
@@ -1275,7 +1275,6 @@ github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2/go.mod h
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
@@ -1293,7 +1292,7 @@ github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU=
github.com/onsi/ginkgo/v2 v2.6.0 h1:9t9b9vRUbFq3C4qKFCGkVuq/fIHji802N1nrtkh1mNc=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -1302,7 +1301,7 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q=
github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E=
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
@@ -1391,8 +1390,8 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU=
github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ=
github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -2280,7 +2279,6 @@ gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76
gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI=
gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -2320,13 +2318,13 @@ k8s.io/api v0.20.0/go.mod h1:HyLC5l5eoS/ygQYl1BXBgFzWNlkHiAuyNAbevIn+FKg=
k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo=
k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ=
k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8=
k8s.io/api v0.25.4 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs=
k8s.io/api v0.25.4/go.mod h1:IG2+RzyPQLllQxnhzD8KQNEu4c4YvyDTpSMztf4A0OQ=
k8s.io/api v0.26.1 h1:f+SWYiPd/GsiWwVRz+NbFyCgvv75Pk9NK6dlkZgpCRQ=
k8s.io/api v0.26.1/go.mod h1:xd/GBNgR0f707+ATNyPmQ1oyKSgndzXij81FzWGsejg=
k8s.io/apiextensions-apiserver v0.0.0-20190409022649-727a075fdec8/go.mod h1:IxkesAMoaCRoLrPJdZNZUQp9NfZnzqaVzLhb2VEQzXE=
k8s.io/apiextensions-apiserver v0.18.3/go.mod h1:TMsNGs7DYpMXd+8MOCX8KzPOCx8fnZMoIGB24m03+JE=
k8s.io/apiextensions-apiserver v0.20.1/go.mod h1:ntnrZV+6a3dB504qwC5PN/Yg9PBiDNt1EVqbW2kORVk=
k8s.io/apiextensions-apiserver v0.25.4 h1:7hu9pF+xikxQuQZ7/30z/qxIPZc2J1lFElPtr7f+B6U=
k8s.io/apiextensions-apiserver v0.25.4/go.mod h1:bkSGki5YBoZWdn5pWtNIdGvDrrsRWlmnvl9a+tAw5vQ=
k8s.io/apiextensions-apiserver v0.26.0 h1:Gy93Xo1eg2ZIkNX/8vy5xviVSxwQulsnUdQ00nEdpDo=
k8s.io/apiextensions-apiserver v0.26.0/go.mod h1:7ez0LTiyW5nq3vADtK6C3kMESxadD51Bh6uz3JOlqWQ=
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
k8s.io/apimachinery v0.0.0-20190409092423-760d1845f48b/go.mod h1:FW86P8YXVLsbuplGMZeb20J3jYHscrDqw4jELaFJvRU=
k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA=
@@ -2337,8 +2335,8 @@ k8s.io/apimachinery v0.20.0/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRp
k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM=
k8s.io/apimachinery v0.25.4 h1:CtXsuaitMESSu339tfhVXhQrPET+EiWnIY1rcurKnAc=
k8s.io/apimachinery v0.25.4/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo=
k8s.io/apimachinery v0.26.1 h1:8EZ/eGJL+hY/MYCNwhmDzVqq2lPl3N3Bo8rvweJwXUQ=
k8s.io/apimachinery v0.26.1/go.mod h1:tnPmbONNJ7ByJNz9+n9kMjNP8ON+1qoAIIC70lztu74=
k8s.io/apiserver v0.18.3/go.mod h1:tHQRmthRPLUtwqsOnJJMoI8SW3lnoReZeE861lH8vUw=
k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU=
k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU=
@@ -2348,18 +2346,18 @@ k8s.io/client-go v0.19.2/go.mod h1:S5wPhCqyDNAlzM9CnEdgTGV4OqhsW3jGO1UM1epwfJA=
k8s.io/client-go v0.20.0/go.mod h1:4KWh/g+Ocd8KkCwKF8vUNnmqgv+EVnQDK4MBF4oB5tY=
k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y=
k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4=
k8s.io/client-go v0.25.4 h1:3RNRDffAkNU56M/a7gUfXaEzdhZlYhoW8dgViGy5fn8=
k8s.io/client-go v0.25.4/go.mod h1:8trHCAC83XKY0wsBIpbirZU4NTUpbuhc2JnI7OruGZw=
k8s.io/cloud-provider v0.25.4 h1:juIfru1jVX6BlDWcJ18sv6aWxMSMmcjWf2HNXUtnkiI=
k8s.io/cloud-provider v0.25.4/go.mod h1:L018fvnYxHrJP93UNSu8ODZYd/HCukliBzzNsV4TqC0=
k8s.io/client-go v0.26.1 h1:87CXzYJnAMGaa/IDDfRdhTzxk/wzGZ+/HUQpqgVSZXU=
k8s.io/client-go v0.26.1/go.mod h1:IWNSglg+rQ3OcvDkhY6+QLeasV4OYHDjdqeWkDQZwGE=
k8s.io/cloud-provider v0.26.1 h1:qEZmsGWGptOtVSpeMdTsapHX2BEqIk7rc5MA4caBqE0=
k8s.io/cloud-provider v0.26.1/go.mod h1:6PheIxRySYuRBBxtTUADya8S2rbr18xKi+fhGbLkduc=
k8s.io/code-generator v0.18.3/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
k8s.io/code-generator v0.19.0/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk=
k8s.io/code-generator v0.20.0/go.mod h1:UsqdF+VX4PU2g46NC2JRs4gc+IfrctnwHb76RNbWHJg=
k8s.io/code-generator v0.20.1/go.mod h1:UsqdF+VX4PU2g46NC2JRs4gc+IfrctnwHb76RNbWHJg=
k8s.io/component-base v0.18.3/go.mod h1:bp5GzGR0aGkYEfTj+eTY0AN/vXTgkJdQXjNTTVUaa3k=
k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk=
k8s.io/component-base v0.25.4 h1:n1bjg9Yt+G1C0WnIDJmg2fo6wbEU1UGMRiQSjmj7hNQ=
k8s.io/component-base v0.25.4/go.mod h1:nnZJU8OP13PJEm6/p5V2ztgX2oyteIaAGKGMYb2L2cY=
k8s.io/component-base v0.26.1 h1:4ahudpeQXHZL5kko+iDHqLj/FSGAEUnSVO0EBbgDd+4=
k8s.io/component-base v0.26.1/go.mod h1:VHrLR0b58oC035w6YQiBSbtsf0ThuSwXP+p5dD/kAWU=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
@@ -2392,8 +2390,8 @@ k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/
k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 h1:KTgPnR10d5zhztWptI952TNtt/4u5h3IzDXkdIMuo2Y=
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
layeh.com/radius v0.0.0-20190322222518-890bc1058917 h1:BDXFaFzUt5EIqe/4wrTc4AcYZWP6iC6Ult+jQWLh5eU=
layeh.com/radius v0.0.0-20190322222518-890bc1058917/go.mod h1:fywZKyu//X7iRzaxLgPWsvc0L26IUpVvE/aeIL2JtIQ=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
@@ -2402,8 +2400,8 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
sigs.k8s.io/controller-runtime v0.2.2/go.mod h1:9dyohw3ZtoXQuV1e766PHUn+cmrRCIcBh6XIMFNMZ+I=
sigs.k8s.io/controller-runtime v0.13.1 h1:tUsRCSJVM1QQOOeViGeX3GMT3dQF1eePPw6sEE3xSlg=
sigs.k8s.io/controller-runtime v0.13.1/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI=
sigs.k8s.io/controller-runtime v0.14.1 h1:vThDes9pzg0Y+UbCPY3Wj34CGIYPgdmspPm2GIpxpzM=
sigs.k8s.io/controller-runtime v0.14.1/go.mod h1:GaRkrY8a7UZF0kqFFbUKG7n9ICiTY5T55P1RiE3UZlU=
sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs=
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
+2 -2
View File
@@ -363,7 +363,7 @@ func CreateRBDMirrorBootstrapPeerWithoutPool(context *clusterd.Context, clusterI
}
logger.Infof("successfully created rbd-mirror bootstrap peer token for cluster %q", clusterInfo.NamespacedName().Name)
mons := sets.NewString()
mons := sets.New[string]()
for _, mon := range clusterInfo.Monitors {
mons.Insert(mon.Endpoint)
}
@@ -372,7 +372,7 @@ func CreateRBDMirrorBootstrapPeerWithoutPool(context *clusterd.Context, clusterI
ClusterFSID: clusterInfo.FSID,
ClientID: rbdMirrorPeerKeyringID,
Key: key,
MonHost: strings.Join(mons.List(), ","),
MonHost: strings.Join(sets.List(mons), ","),
Namespace: clusterInfo.Namespace,
}
+1 -1
View File
@@ -218,7 +218,7 @@ func (c *ClusterController) waitForCephDaemonCleanUp(context context.Context, cl
// getCephHosts returns a list of host names where ceph daemon pods are running
func (c *ClusterController) getCephHosts(namespace string) ([]string, error) {
cephAppNames := []string{mon.AppName, mgr.AppName, osd.AppName, object.AppName, mds.AppName, rbd.AppName, mirror.AppName}
nodeNameList := sets.NewString()
nodeNameList := sets.New[string]()
hostNameList := []string{}
var b strings.Builder
+2 -1
View File
@@ -33,6 +33,7 @@ import (
kerrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
)
var (
@@ -168,7 +169,7 @@ func (c *Cluster) checkHealth(ctx context.Context) error {
return errors.Wrap(err, "failed to check for mons to skip reconcile")
}
if monsToSkipReconcile.Len() > 0 {
logger.Warningf("skipping mon health check since mons are labeled with %s: %v", cephv1.SkipReconcileLabelKey, monsToSkipReconcile.List())
logger.Warningf("skipping mon health check since mons are labeled with %s: %v", cephv1.SkipReconcileLabelKey, sets.List(monsToSkipReconcile))
return nil
}
+3 -3
View File
@@ -206,7 +206,7 @@ func (c *Cluster) Start(clusterInfo *cephclient.ClusterInfo, rookVersion string,
return nil, errors.Wrap(err, "failed to check for mons to skip reconcile")
}
if monsToSkipReconcile.Len() > 0 {
logger.Warningf("skipping mon reconcile since mons are labeled with %s: %v", cephv1.SkipReconcileLabelKey, monsToSkipReconcile.List())
logger.Warningf("skipping mon reconcile since mons are labeled with %s: %v", cephv1.SkipReconcileLabelKey, sets.List(monsToSkipReconcile))
return c.ClusterInfo, nil
}
@@ -1485,7 +1485,7 @@ func (c *Cluster) releaseOrchestrationLock() {
logger.Debugf("Released lock for mon orchestration")
}
func (c *Cluster) getMonsToSkipReconcile() (sets.String, error) {
func (c *Cluster) getMonsToSkipReconcile() (sets.Set[string], error) {
listOpts := metav1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s,%s", k8sutil.AppAttr, AppName, cephv1.SkipReconcileLabelKey)}
deployments, err := c.context.Clientset.AppsV1().Deployments(c.ClusterInfo.Namespace).List(c.ClusterInfo.Context, listOpts)
@@ -1493,7 +1493,7 @@ func (c *Cluster) getMonsToSkipReconcile() (sets.String, error) {
return nil, errors.Wrap(err, "failed to query mons to skip reconcile")
}
result := sets.NewString()
result := sets.New[string]()
for _, deployment := range deployments.Items {
if monID, ok := deployment.Labels[config.MonType]; ok {
logger.Infof("found mon %q pod to skip reconcile", monID)
+16 -16
View File
@@ -32,9 +32,9 @@ import (
type createConfig struct {
cluster *Cluster
provisionConfig *provisionConfig
awaitingStatusConfigMaps sets.String // These status configmaps were created for OSD prepare jobs
finishedStatusConfigMaps sets.String // Status configmaps are added here as provisioning is completed for them
deployments *existenceList // these OSDs have existing deployments
awaitingStatusConfigMaps sets.Set[string] // These status configmaps were created for OSD prepare jobs
finishedStatusConfigMaps sets.Set[string] // Status configmaps are added here as provisioning is completed for them
deployments *existenceList // these OSDs have existing deployments
}
// allow overriding these functions for unit tests
@@ -47,17 +47,17 @@ var (
func (c *Cluster) newCreateConfig(
provisionConfig *provisionConfig,
awaitingStatusConfigMaps sets.String,
awaitingStatusConfigMaps sets.Set[string],
deployments *existenceList,
) *createConfig {
if awaitingStatusConfigMaps == nil {
awaitingStatusConfigMaps = sets.NewString()
awaitingStatusConfigMaps = sets.New[string]()
}
return &createConfig{
c,
provisionConfig,
awaitingStatusConfigMaps,
sets.NewString(),
sets.New[string](),
deployments,
}
}
@@ -122,23 +122,23 @@ func (c *createConfig) doneWithStatus(nodeOrPVCName string) {
//
// Creation of prepare jobs is most directly related to creating new OSDs. And we want to keep all
// usage of awaitingStatusConfigMaps in this file.
func (c *Cluster) startProvisioningOverPVCs(config *provisionConfig, errs *provisionErrors) (sets.String, error) {
func (c *Cluster) startProvisioningOverPVCs(config *provisionConfig, errs *provisionErrors) (sets.Set[string], error) {
// Parsing storageClassDeviceSets and parsing it to volume sources
c.prepareStorageClassDeviceSets(errs)
// no valid VolumeSource is ready to run an osd
if len(c.deviceSets) == 0 {
logger.Info("no storageClassDeviceSets defined to configure OSDs on PVCs")
return sets.NewString(), nil
return sets.New[string](), nil
}
existingDeployments, err := c.getExistingOSDDeploymentsOnPVCs()
if err != nil {
errs.addError("failed to provision OSDs on PVCs. failed to query existing OSD deployments on PVCs. %v", err)
return sets.NewString(), nil
return sets.New[string](), nil
}
awaitingStatusConfigMaps := sets.NewString()
awaitingStatusConfigMaps := sets.New[string]()
for _, volume := range c.deviceSets {
if c.clusterInfo.Context.Err() != nil {
return awaitingStatusConfigMaps, c.clusterInfo.Context.Err()
@@ -244,10 +244,10 @@ func (c *Cluster) startProvisioningOverPVCs(config *provisionConfig, errs *provi
//
// Creation of prepare jobs is most directly related to creating new OSDs. And we want to keep all
// usage of awaitingStatusConfigMaps in this file.
func (c *Cluster) startProvisioningOverNodes(config *provisionConfig, errs *provisionErrors) (sets.String, error) {
func (c *Cluster) startProvisioningOverNodes(config *provisionConfig, errs *provisionErrors) (sets.Set[string], error) {
if !c.spec.Storage.UseAllNodes && len(c.spec.Storage.Nodes) == 0 {
logger.Info("no nodes are defined for configuring OSDs on raw devices")
return sets.NewString(), nil
return sets.New[string](), nil
}
if c.spec.Storage.UseAllNodes {
@@ -259,7 +259,7 @@ func (c *Cluster) startProvisioningOverNodes(config *provisionConfig, errs *prov
hostnameMap, err := k8sutil.GetNodeHostNames(c.clusterInfo.Context, c.context.Clientset)
if err != nil {
errs.addError("failed to provision OSDs on nodes. failed to get node hostnames. %v", err)
return sets.NewString(), nil
return sets.New[string](), nil
}
c.spec.Storage.Nodes = nil
for _, hostname := range hostnameMap {
@@ -281,15 +281,15 @@ func (c *Cluster) startProvisioningOverNodes(config *provisionConfig, errs *prov
// no valid node is ready to run an osd
if len(validNodes) == 0 {
logger.Warningf("no valid nodes available to run osds on nodes in namespace %q", c.clusterInfo.Namespace)
return sets.NewString(), nil
return sets.New[string](), nil
}
if len(c.spec.DataDirHostPath) == 0 {
errs.addError("failed to provision OSDs on nodes. user has specified valid nodes for storage, but dataDirHostPath is empty. user must set CephCluster dataDirHostPath")
return sets.NewString(), nil
return sets.New[string](), nil
}
awaitingStatusConfigMaps := sets.NewString()
awaitingStatusConfigMaps := sets.New[string]()
for _, node := range c.ValidStorage.Nodes {
if c.clusterInfo.Context.Err() != nil {
return awaitingStatusConfigMaps, c.clusterInfo.Context.Err()
+9 -9
View File
@@ -92,7 +92,7 @@ func Test_createNewOSDsFromStatus(t *testing.T) {
spec := cephv1.ClusterSpec{}
var status *OrchestrationStatus
awaitingStatusConfigMaps := sets.NewString()
awaitingStatusConfigMaps := sets.New[string]()
var c *Cluster
var createConfig *createConfig
@@ -101,7 +101,7 @@ func Test_createNewOSDsFromStatus(t *testing.T) {
// none of this code should ever add or remove deployments from the existence list
assert.Equal(t, 3, deployments.Len())
// Simulate environment where provision jobs were created for node0, node2, pvc1, and pvc2
awaitingStatusConfigMaps = sets.NewString()
awaitingStatusConfigMaps = sets.New[string]()
awaitingStatusConfigMaps.Insert(
statusNameNode0, statusNameNode2,
statusNamePVC1, statusNamePVC2)
@@ -321,7 +321,7 @@ func Test_startProvisioningOverPVCs(t *testing.T) {
var errs *provisionErrors
var c *Cluster
var config *provisionConfig
var awaitingStatusConfigMaps sets.String
var awaitingStatusConfigMaps sets.Set[string]
var err error
doSetup := func() {
errs = newProvisionErrors()
@@ -459,7 +459,7 @@ func Test_startProvisioningOverNodes(t *testing.T) {
var errs *provisionErrors
var c *Cluster
var config *provisionConfig
var prepareJobsRun sets.String
var prepareJobsRun sets.Set[string]
var err error
var cms *corev1.ConfigMapList
doSetup := func() {
@@ -517,7 +517,7 @@ func Test_startProvisioningOverNodes(t *testing.T) {
assert.Zero(t, errs.len())
assert.ElementsMatch(t,
[]string{statusNameNode0, statusNameNode1, statusNameNode2},
prepareJobsRun.List(),
sets.List(prepareJobsRun),
)
// all result configmaps should have been created
cms, err = clientset.CoreV1().ConfigMaps(namespace).List(context.TODO(), metav1.ListOptions{})
@@ -536,7 +536,7 @@ func Test_startProvisioningOverNodes(t *testing.T) {
assert.Zero(t, errs.len())
assert.ElementsMatch(t,
[]string{statusNameNode0, statusNameNode1, statusNameNode2},
prepareJobsRun.List(),
sets.List(prepareJobsRun),
)
})
@@ -563,7 +563,7 @@ func Test_startProvisioningOverNodes(t *testing.T) {
assert.Zero(t, errs.len())
assert.ElementsMatch(t,
[]string{statusNameNode0, statusNameNode2},
prepareJobsRun.List(),
sets.List(prepareJobsRun),
)
})
@@ -629,13 +629,13 @@ func Test_startProvisioningOverNodes(t *testing.T) {
assert.Equal(t, 1, errs.len())
assert.ElementsMatch(t,
[]string{statusNameNode0},
prepareJobsRun.List(),
sets.List(prepareJobsRun),
)
// with a fresh clientset, only the one results ConfigMap should exist
cms, err = clientset.CoreV1().ConfigMaps(namespace).List(context.TODO(), metav1.ListOptions{})
assert.NoError(t, err)
assert.Len(t, cms.Items, 1)
assert.Equal(t, prepareJobsRun.List()[0], cms.Items[0].Name)
assert.Equal(t, sets.List(prepareJobsRun)[0], cms.Items[0].Name)
})
}
+4 -4
View File
@@ -141,7 +141,7 @@ func (c *Cluster) createDeviceSetPVCsForIndex(newDeviceSet cephv1.StorageClassDe
var crushDeviceClass string
var crushInitialWeight string
var crushPrimaryAffinity string
typesFound := sets.NewString()
typesFound := sets.New[string]()
for _, pvcTemplate := range newDeviceSet.VolumeClaimTemplates {
if pvcTemplate.Name == "" {
// For backward compatibility a blank name must be treated as a data volume
@@ -257,14 +257,14 @@ func makeDeviceSetPVC(deviceSetName, pvcID string, setIndex int, pvcTemplate v1.
}
// GetExistingPVCs fetches the list of OSD PVCs
func GetExistingPVCs(ctx context.Context, clusterdContext *clusterd.Context, namespace string) (map[string]*v1.PersistentVolumeClaim, map[string]sets.String, error) {
func GetExistingPVCs(ctx context.Context, clusterdContext *clusterd.Context, namespace string) (map[string]*v1.PersistentVolumeClaim, map[string]sets.Set[string], error) {
selector := metav1.ListOptions{LabelSelector: CephDeviceSetPVCIDLabelKey}
pvcs, err := clusterdContext.Clientset.CoreV1().PersistentVolumeClaims(namespace).List(ctx, selector)
if err != nil {
return nil, nil, errors.Wrap(err, "failed to detect PVCs")
}
result := map[string]*v1.PersistentVolumeClaim{}
uniqueOSDsPerDeviceSet := map[string]sets.String{}
uniqueOSDsPerDeviceSet := map[string]sets.Set[string]{}
for i, pvc := range pvcs.Items {
// Populate the PVCs based on their unique name across all the device sets
pvcID := pvc.Labels[CephDeviceSetPVCIDLabelKey]
@@ -274,7 +274,7 @@ func GetExistingPVCs(ctx context.Context, clusterdContext *clusterd.Context, nam
deviceSet := pvc.Labels[CephDeviceSetLabelKey]
pvcIndex := pvc.Labels[CephSetIndexLabelKey]
if _, ok := uniqueOSDsPerDeviceSet[deviceSet]; !ok {
uniqueOSDsPerDeviceSet[deviceSet] = sets.NewString()
uniqueOSDsPerDeviceSet[deviceSet] = sets.New[string]()
}
uniqueOSDsPerDeviceSet[deviceSet].Insert(pvcIndex)
}
+5 -5
View File
@@ -204,7 +204,7 @@ func (c *Cluster) Start() error {
updateConfig := c.newUpdateConfig(config, updateQueue, deployments, osdsToSkipReconcile)
// prepare for creating new OSDs
statusConfigMaps := sets.NewString()
statusConfigMaps := sets.New[string]()
logger.Info("start provisioning the OSDs on PVCs, if needed")
pvcConfigMaps, err := c.startProvisioningOverPVCs(config, errs)
@@ -244,7 +244,7 @@ func (c *Cluster) Start() error {
return nil
}
func (c *Cluster) getExistingOSDDeploymentsOnPVCs() (sets.String, error) {
func (c *Cluster) getExistingOSDDeploymentsOnPVCs() (sets.Set[string], error) {
listOpts := metav1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s,%s", k8sutil.AppAttr, AppName, OSDOverPVCLabelKey)}
deployments, err := c.context.Clientset.AppsV1().Deployments(c.clusterInfo.Namespace).List(c.clusterInfo.Context, listOpts)
@@ -252,7 +252,7 @@ func (c *Cluster) getExistingOSDDeploymentsOnPVCs() (sets.String, error) {
return nil, errors.Wrap(err, "failed to query existing OSD deployments")
}
result := sets.NewString()
result := sets.New[string]()
for _, deployment := range deployments.Items {
if pvcID, ok := deployment.Labels[OSDOverPVCLabelKey]; ok {
result.Insert(pvcID)
@@ -262,7 +262,7 @@ func (c *Cluster) getExistingOSDDeploymentsOnPVCs() (sets.String, error) {
return result, nil
}
func (c *Cluster) getOSDsToSkipReconcile() (sets.String, error) {
func (c *Cluster) getOSDsToSkipReconcile() (sets.Set[string], error) {
listOpts := metav1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s,%s", k8sutil.AppAttr, AppName, cephv1.SkipReconcileLabelKey)}
deployments, err := c.context.Clientset.AppsV1().Deployments(c.clusterInfo.Namespace).List(c.clusterInfo.Context, listOpts)
@@ -270,7 +270,7 @@ func (c *Cluster) getOSDsToSkipReconcile() (sets.String, error) {
return nil, errors.Wrap(err, "failed to query OSDs to skip reconcile")
}
result := sets.NewString()
result := sets.New[string]()
for _, deployment := range deployments.Items {
if osdID, ok := deployment.Labels[OsdIdLabelKey]; ok {
result.Insert(osdID)
+5 -5
View File
@@ -45,17 +45,17 @@ var (
type updateConfig struct {
cluster *Cluster
provisionConfig *provisionConfig
queue *updateQueue // these OSDs need updated
numUpdatesNeeded int // the number of OSDs that needed updating
deployments *existenceList // these OSDs have existing deployments
osdsToSkipReconcile sets.String // these OSDs should not be updated during reconcile
queue *updateQueue // these OSDs need updated
numUpdatesNeeded int // the number of OSDs that needed updating
deployments *existenceList // these OSDs have existing deployments
osdsToSkipReconcile sets.Set[string] // these OSDs should not be updated during reconcile
}
func (c *Cluster) newUpdateConfig(
provisionConfig *provisionConfig,
queue *updateQueue,
deployments *existenceList,
osdsToSkipReconcile sets.String,
osdsToSkipReconcile sets.Set[string],
) *updateConfig {
return &updateConfig{
c,
+1 -1
View File
@@ -111,7 +111,7 @@ func Test_updateExistingOSDs(t *testing.T) {
}
c = New(ctx, clusterInfo, spec, "rook/rook:master")
config := c.newProvisionConfig()
updateConfig = c.newUpdateConfig(config, updateQueue, existingDeployments, sets.NewString())
updateConfig = c.newUpdateConfig(config, updateQueue, existingDeployments, sets.New[string]())
// prepare outputs
deploymentsUpdated = []string{}
+1 -1
View File
@@ -41,7 +41,7 @@ type clientCluster struct {
context *clusterd.Context
}
var nodesCheckedForReconcile = sets.NewString()
var nodesCheckedForReconcile = sets.New[string]()
func newClientCluster(client client.Client, namespace string, context *clusterd.Context) *clientCluster {
return &clientCluster{
@@ -528,9 +528,9 @@ func (r *ReconcileClusterDisruption) getOSDFailureDomains(clusterInfo *cephclien
return nil, nil, nil, errors.Wrap(err, "failed to list osd deployments")
}
allFailureDomains := sets.NewString()
nodeDrainFailureDomains := sets.NewString()
osdDownFailureDomains := sets.NewString()
allFailureDomains := sets.New[string]()
nodeDrainFailureDomains := sets.New[string]()
osdDownFailureDomains := sets.New[string]()
for _, deployment := range osdDeploymentList.Items {
labels := deployment.Spec.Template.ObjectMeta.GetLabels()
@@ -565,7 +565,7 @@ func (r *ReconcileClusterDisruption) getOSDFailureDomains(clusterInfo *cephclien
allFailureDomains.Insert(failureDomainName)
}
}
return allFailureDomains.List(), nodeDrainFailureDomains.List(), osdDownFailureDomains.List(), nil
return sets.List(allFailureDomains), sets.List(nodeDrainFailureDomains), sets.List(osdDownFailureDomains), nil
}
func (r *ReconcileClusterDisruption) hasPGHealthCheckTimedout(pdbStateMap *corev1.ConfigMap) bool {
+1 -1
View File
@@ -711,7 +711,7 @@ func missingPools(context *Context) ([]string, error) {
if err != nil {
return []string{}, errors.Wrapf(err, "failed to determine if pools are missing. failed to list pools")
}
existingPools := sets.NewString()
existingPools := sets.New[string]()
for _, summary := range existingPoolSummaries {
existingPools.Insert(summary.Name)
}
+5 -5
View File
@@ -61,7 +61,7 @@ type RemotePodCommandExecutor struct {
// ExecWithOptions executes a command in the specified container,
// returning stdout, stderr and error. `options` allowed for
// additional parameters to be passed.
func (e *RemotePodCommandExecutor) ExecWithOptions(options ExecOptions) (string, string, error) {
func (e *RemotePodCommandExecutor) ExecWithOptions(ctx context.Context, options ExecOptions) (string, string, error) {
const tty = false
logger.Debugf("ExecWithOptions %+v", options)
@@ -82,7 +82,7 @@ func (e *RemotePodCommandExecutor) ExecWithOptions(options ExecOptions) (string,
}, scheme.ParameterCodec)
var stdout, stderr bytes.Buffer
err := execute(http.MethodPost, req.URL(), e.RestClient, options.Stdin, &stdout, &stderr, tty)
err := execute(ctx, http.MethodPost, req.URL(), e.RestClient, options.Stdin, &stdout, &stderr, tty)
if options.PreserveWhitespace {
return stdout.String(), stderr.String(), err
@@ -103,7 +103,7 @@ func (e *RemotePodCommandExecutor) ExecCommandInContainerWithFullOutput(ctx cont
return "", "", errors.Errorf("no pods found with selector %q", appLabel)
}
return e.ExecWithOptions(ExecOptions{
return e.ExecWithOptions(ctx, ExecOptions{
Command: cmd,
Namespace: namespace,
// Always pick the first pod, it's always 1 unless stretched cluster is enabled
@@ -117,12 +117,12 @@ func (e *RemotePodCommandExecutor) ExecCommandInContainerWithFullOutput(ctx cont
})
}
func execute(method string, url *url.URL, config *rest.Config, stdin io.Reader, stdout, stderr io.Writer, tty bool) error {
func execute(ctx context.Context, method string, url *url.URL, config *rest.Config, stdin io.Reader, stdout, stderr io.Writer, tty bool) error {
exec, err := remotecommand.NewSPDYExecutor(config, method, url)
if err != nil {
return err
}
return exec.Stream(remotecommand.StreamOptions{
return exec.StreamWithContext(ctx, remotecommand.StreamOptions{
Stdin: stdin,
Stdout: stdout,
Stderr: stderr,
+1 -1
View File
@@ -446,7 +446,7 @@ func (s *UpgradeSuite) upgradeToMaster() {
return
}
require.NoError(s.T(), s.k8sh.ResourceOperation("apply", s.installer.Manifests.GetCRDs(s.k8sh)))
require.NoError(s.T(), s.k8sh.ResourceOperation("replace", s.installer.Manifests.GetCRDs(s.k8sh)))
require.NoError(s.T(), s.k8sh.ResourceOperation("apply", s.installer.Manifests.GetCommon()))