scylladb / scylla-operator

The Kubernetes Operator for ScyllaDB
https://operator.docs.scylladb.com/
Apache License 2.0
332 stars 162 forks source link

ci-deploy-release script should only deploy local-csi-driver if `SO_CSI_DRIVER_PATH` env var is not empty #1987

Closed rzetelskik closed 3 months ago

rzetelskik commented 3 months ago

What happened?

ci-deploy-release script times out waiting for local-csi-driver to roll out, despite SO_CSI_DRIVER_PATH being empty.

https://prow.scylla-operator.scylladb.com/view/gs/scylla-operator-prow/logs/ci-scylla-operator-latest-e2e-gke-arm64-serial/1805169160804634624#1:test-build-log.txt%3A306

/kind bug /priority important-soon /assign rzetelskik

What did you expect to happen?

local-csi-driver shouldn't be deployed and the script shouldn't wait for it to roll out.

How can we reproduce it (as minimally and precisely as possible)?

n/a

Scylla Operator version

master

Kubernetes platform name and version

n/a

Please attach the must-gather archive.

n/a

Anything else we need to know?

No response

rzetelskik commented 3 months ago

Alternatively, if we don't want to use SO_CSI_DRIVER_PATH there, it should skip local-csi-driver deployment if SO_NODECONFIG_PATH is empty.

tnozicka commented 3 months ago

empty string is a valid intention to skip and allows you to distinguish between forgetting to set the value and explicitly asking not to do it

rzetelskik commented 3 months ago

empty string is a valid intention to skip and allows you to distinguish between forgetting to set the value and explicitly asking not to do it

Looking at ci-deploy-release and run-e2e-gke-release there is no SO_CSI_DRIVER_PATH whatsoever so it looks like the intention was to always run it with local-csi-driver. This is wrong imo as it's not always desired, e.g. when running our serial suite.

tnozicka commented 3 months ago

I agree, for serial suite you have to delete the nodeconfig before starting the e2e, or make this conditional