Skip to content

Commit

Permalink
Merge pull request #2297 from rzetelskik/operator-loglevel-ci-script
Browse files Browse the repository at this point in the history
Move overriding Scylla Operator's log level to CI scripts and make it configurable
  • Loading branch information
scylla-operator-bot[bot] authored Jan 13, 2025
2 parents 857ba50 + e981aa9 commit 7ed4ab4
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 36 deletions.
9 changes: 0 additions & 9 deletions hack/.ci/lib/e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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[*]}" )

Expand Down
80 changes: 53 additions & 27 deletions hack/ci-deploy-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
7 changes: 7 additions & 0 deletions hack/ci-deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down

0 comments on commit 7ed4ab4

Please sign in to comment.