diff --git a/hack/.ci/lib/e2e.sh b/hack/.ci/lib/e2e.sh index ea5e075f069..4fdc793db5c 100755 --- a/hack/.ci/lib/e2e.sh +++ b/hack/.ci/lib/e2e.sh @@ -211,15 +211,6 @@ function run-e2e { kubectl create clusterrolebinding e2e --clusterrole=cluster-admin --serviceaccount=e2e:default --dry-run=client -o=yaml | kubectl_create -f=- kubectl create -n=e2e pdb my-pdb --selector='app=e2e' --min-available=1 --dry-run=client -o=yaml | kubectl_create -f=- - - # Raise loglevel in CI. - # TODO: Replace it with ScyllaOperatorConfig field when available. - kubectl -n=scylla-operator patch --field-manager="${FIELD_MANAGER}" deployment/scylla-operator --type=json -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--loglevel=4"}]' - kubectl -n=scylla-operator rollout status deployment/scylla-operator - - kubectl -n=scylla-manager patch --field-manager="${FIELD_MANAGER}" deployment/scylla-manager-controller --type=json -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--loglevel=4"}]' - kubectl -n=scylla-manager rollout status deployment/scylla-manager-controller - kubectl create -n=e2e secret generic kubeconfigs ${KUBECONFIGS[@]/#/--from-file=} --dry-run=client -o=yaml | kubectl_create -f=- kubeconfigs_in_container_path=$( IFS=','; basenames=( "${KUBECONFIGS[@]##*/}" ) && in_container_paths="${basenames[@]/#//var/run/secrets/kubeconfigs/}" && echo "${in_container_paths[*]}" ) diff --git a/hack/ci-deploy-release.sh b/hack/ci-deploy-release.sh index 3ff7b30eeda..e041a6341d3 100755 --- a/hack/ci-deploy-release.sh +++ b/hack/ci-deploy-release.sh @@ -53,6 +53,11 @@ for d in cert-manager{,-cainjector,-webhook}; do done wait-for-object-creation cert-manager secret/cert-manager-webhook-ca +# TODO: Replace it with ScyllaOperatorConfig field when available. +# Ref: https://github.com/scylladb/scylla-operator/issues/2314. +SO_SCYLLA_OPERATOR_LOGLEVEL="${SO_SCYLLA_OPERATOR_LOGLEVEL:-4}" +export SO_SCYLLA_OPERATOR_LOGLEVEL + cat > "${ARTIFACTS_DEPLOY_DIR}/operator/kustomization.yaml" << EOF resources: - ${source_url}/${revision}/deploy/operator.yaml @@ -72,7 +77,17 @@ patches: env: - name: SCYLLA_OPERATOR_IMAGE value: "${operator_image_ref}" +- patch: |- + - op: add + path: /spec/template/spec/containers/0/args/- + value: "--loglevel=${SO_SCYLLA_OPERATOR_LOGLEVEL}" + target: + group: apps + version: v1 + kind: Deployment + name: scylla-operator EOF + kubectl kustomize "${ARTIFACTS_DEPLOY_DIR}/operator" | kubectl_create -n=scylla-operator -f=- # Manager needs scylla CRD registered and the webhook running @@ -96,41 +111,52 @@ else echo "Skipping CSI driver creation" fi -if [[ -z "${SO_SCYLLACLUSTER_STORAGECLASS_NAME+x}" ]]; then - kubectl_create -n=scylla-manager -f="${source_url}/${revision}/deploy/manager-prod.yaml" -elif [[ -n "${SO_SCYLLACLUSTER_STORAGECLASS_NAME}" ]]; then - cat > "${ARTIFACTS_DEPLOY_DIR}/manager/kustomization.yaml" << EOF +cat > "${ARTIFACTS_DEPLOY_DIR}/manager/kustomization.yaml" << EOF resources: - ${source_url}/${revision}/deploy/manager-prod.yaml patches: -- target: - group: scylla.scylladb.com +- patch: |- + - op: add + path: /spec/template/spec/containers/0/args/- + value: "--loglevel=${SO_SCYLLA_OPERATOR_LOGLEVEL}" + target: + group: apps version: v1 - kind: ScyllaCluster - name: scylla-manager-cluster - patch: | - - op: replace - path: /spec/datacenter/racks/0/storage/storageClassName - value: "${SO_SCYLLACLUSTER_STORAGECLASS_NAME}" + kind: Deployment + name: scylla-manager-controller EOF - kubectl kustomize "${ARTIFACTS_DEPLOY_DIR}/manager" | kubectl_create -n=scylla-manager -f=- -else - cat > "${ARTIFACTS_DEPLOY_DIR}/manager/kustomization.yaml" << EOF -resources: -- ${source_url}/${revision}/deploy/manager-prod.yaml -patches: -- target: - group: scylla.scylladb.com - version: v1 - kind: ScyllaCluster - name: scylla-manager-cluster - patch: | - - op: remove - path: /spec/datacenter/racks/0/storage/storageClassName + +if [[ -n "${SO_SCYLLACLUSTER_STORAGECLASS_NAME:-}" ]]; then + # SO_SCYLLACLUSTER_STORAGECLASS_NAME is set and nonempty. + cat << EOF | \ +yq eval-all --inplace 'select(fileIndex == 0) as $f | select(fileIndex == 1) as $p | with( $f.patches; . += $p | ... style="") | $f' "${ARTIFACTS_DEPLOY_DIR}/manager/kustomization.yaml" - +patch: |- + - op: replace + path: /spec/datacenter/racks/0/storage/storageClassName + value: "${SO_SCYLLACLUSTER_STORAGECLASS_NAME}" +target: + group: scylla.scylladb.com + version: v1 + kind: ScyllaCluster + name: scylla-manager-cluster +EOF +elif [[ -n "${SO_SCYLLACLUSTER_STORAGECLASS_NAME+x}" ]]; then + # SO_SCYLLACLUSTER_STORAGECLASS_NAME is set and empty. + cat << EOF | \ +yq eval-all --inplace 'select(fileIndex == 0) as $f | select(fileIndex == 1) as $p | with( $f.patches; . += $p | ... style="") | $f' "${ARTIFACTS_DEPLOY_DIR}/manager/kustomization.yaml" - +patch: |- + - op: remove + path: /spec/datacenter/racks/0/storage/storageClassName +target: + group: scylla.scylladb.com + version: v1 + kind: ScyllaCluster + name: scylla-manager-cluster EOF - kubectl kustomize "${ARTIFACTS_DEPLOY_DIR}/manager" | kubectl_create -n=scylla-manager -f=- fi +kubectl kustomize "${ARTIFACTS_DEPLOY_DIR}/manager" | kubectl_create -n=scylla-manager -f=- + kubectl -n=scylla-manager wait --timeout=5m --for='condition=Progressing=False' scyllaclusters.scylla.scylladb.com/scylla-manager-cluster kubectl -n=scylla-manager wait --timeout=5m --for='condition=Degraded=False' scyllaclusters.scylla.scylladb.com/scylla-manager-cluster kubectl -n=scylla-manager wait --timeout=5m --for='condition=Available=True' scyllaclusters.scylla.scylladb.com/scylla-manager-cluster diff --git a/hack/ci-deploy.sh b/hack/ci-deploy.sh index d4dae040a9d..70e9578ee49 100755 --- a/hack/ci-deploy.sh +++ b/hack/ci-deploy.sh @@ -37,6 +37,13 @@ for f in $( find "${DEPLOY_DIR}"/ -type f -name '*.yaml' ); do sed -i -E -e "s~docker\.io/scylladb/scylla-operator:[^ @]+$~${OPERATOR_IMAGE_REF}~" "${f}" done +# TODO: Replace it with ScyllaOperatorConfig field when available. +# Ref: https://github.com/scylladb/scylla-operator/issues/2314. +SO_SCYLLA_OPERATOR_LOGLEVEL="${SO_SCYLLA_OPERATOR_LOGLEVEL:-4}" +export SO_SCYLLA_OPERATOR_LOGLEVEL +yq e --inplace '.spec.template.spec.containers[0].args += "--loglevel=" + env(SO_SCYLLA_OPERATOR_LOGLEVEL)' "${DEPLOY_DIR}/operator/50_operator.deployment.yaml" +yq e --inplace '.spec.template.spec.containers[0].args += "--loglevel=" + env(SO_SCYLLA_OPERATOR_LOGLEVEL)' "${DEPLOY_DIR}/manager/50_controller_deployment.yaml" + yq e --inplace '.spec.template.spec.containers[0].args += ["--qps=200", "--burst=400"]' "${DEPLOY_DIR}/operator/50_operator.deployment.yaml" yq e --inplace '.spec.template.spec.containers[0].args += ["--crypto-key-buffer-size-min=3", "--crypto-key-buffer-size-max=6", "--crypto-key-buffer-delay=2s"]' "${DEPLOY_DIR}/operator/50_operator.deployment.yaml"