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:
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 }}
|
||||
|
||||
|
||||
@@ -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**
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
File diff suppressed because it is too large.
Load diff
@@ -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
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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{}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()))
|
||||
|
||||
|
||||
Reference in new issue
Block a user