-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Check demos and upgrade from 24.3 to dev release #59
Comments
airflow-scheduled-job
Ran following steps for testing upgrade:
And then went through the demo steps in https://docs.stackable.tech/home/nightly/demos/airflow-scheduled-job |
hbase-hdfs-load-cycling-data
Ran following steps for testing upgrade:
And then went through the demo steps in https://docs.stackable.tech/home/nightly/demos/hbase-hdfs-load-cycling-data |
nifi-kafka-druid-earthquake-data
Ran following steps for testing upgrade:
And then went through the demo steps in https://docs.stackable.tech/home/stable/demos/nifi-kafka-druid-earthquake-data nifi-kafka-druid-water-level-data demoThis demo has exactly the same steps as the nifi-kafka-druid-earthquake-data demo, except for the installation step
And then went through the demo steps in https://docs.stackable.tech/home/nightly/demos/nifi-kafka-druid-water-level-data |
I created this overview for me for visualization of what operators, products and additional tools are used where and which version to upgrade to. Maybe it helps out someone else as well (it's not complete or anything, just a work in progress to help me out having an overview) -> it looks better in obsidian (where I created it) but just added it here to share Maybe it's a little bit better here: https://app.nuclino.com/Stackable/Engineering/Release-247-61295855-9e7a-49aa-bd90-3453c7a7a6e8 Operators
Products
Additional Tools
|
jupyterhub-pyspark-hdfs-anomaly-detection-taxi-data
Ran following steps for testing upgrade:
And then went through the demo steps in https://docs.stackable.tech/home/nightly/demos/jupyterhub-pyspark-hdfs-anomaly-detection-taxi-data |
🟢 signal-processing
I ran following steps for testing the upgrade:
I went through the demo steps in https://docs.stackable.tech/home/stable/demos/signal-processing before the upgrade, and wanted to validate it afterwards. Required changes: |
logging
Ran following steps for testing upgrade: # install demo
stackablectl demo install logging
# add helm repos for upgrades
helm repo add vector https://helm.vector.dev
# upgrade Vector versions
helm upgrade vector-aggregator vector/vector --version 0.34.0
# uninstall operators
stackablectl release uninstall 24.3
# copy the secret `secret-provisioner-tls-ca` to the operator's namespace
kubectl get secrets secret-provisioner-tls-ca --output=yaml | \
sed 's/namespace: .*/namespace: stackable-operators/' | \
kubectl create --filename=-
# update crds
kubectl replace -f https://raw.githubusercontent.com/stackabletech/commons-operator/main/deploy/helm/commons-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/listener-operator/main/deploy/helm/listener-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/secret-operator/main/deploy/helm/secret-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/zookeeper-operator/main/deploy/helm/zookeeper-operator/crds/crds.yaml
# install dev version of operators
stackablectl operator install commons listener secret zookeeper And then went through the demo steps in https://docs.stackable.tech/home/nightly/demos/logging |
🟢 spark-k8s-anomaly-detection-taxi-data
|
🟢 trino-iceberg
|
🟢 data-lakehouse-iceberg-trino-spark It basically worked, just some demo docs to update. See the outcome at the end. # install demo
stackablectl demo install data-lakehouse-iceberg-trino-spark
# add helm repos for upgrades
helm repo add minio https://charts.min.io/
helm repo add bitnami https://charts.bitnami.com/bitnami
# upgrade postgresql and redis versions
helm upgrade minio minio/minio --version 5.2.0
helm upgrade postgresql-hive bitnami/postgresql --version 15.5.16
helm upgrade postgresql-hive-iceberg bitnami/postgresql --version 15.5.16
helm upgrade postgresql-superset bitnami/postgresql --version 15.5.16
# Postgres gave the following warnings:
# WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs:
# - primary.resources
# - readReplicas.resources
# uninstall operators
stackablectl release uninstall 24.3
# copy the secret `secret-provisioner-tls-ca` to the operator's namespace
# Thanks @siegfriedweber. See: https://github.com/stackabletech/secret-operator/issues/453
kubectl -n default get secrets secret-provisioner-tls-ca --output=yaml | \
sed 's/namespace: .*/namespace: stackable-operators/' | \
kubectl create --filename=-
# update crds
kubectl replace -f https://raw.githubusercontent.com/stackabletech/commons-operator/main/deploy/helm/commons-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/listener-operator/main/deploy/helm/listener-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/secret-operator/main/deploy/helm/secret-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hive-operator/main/deploy/helm/hive-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/kafka-operator/main/deploy/helm/kafka-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/nifi-operator/main/deploy/helm/nifi-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/opa-operator/main/deploy/helm/opa-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/spark-k8s-operator/main/deploy/helm/spark-k8s-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/superset-operator/main/deploy/helm/superset-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/trino-operator/main/deploy/helm/trino-operator/crds/crds.yaml
kubectl replace -f https://raw.githubusercontent.com/stackabletech/zookeeper-operator/main/deploy/helm/zookeeper-operator/crds/crds.yaml
# install dev version of operators
stackablectl operator install commons listener secret hive kafka nifi opa spark-k8s superset trino zookeeper
# deployments and statefulsets rolled out
# edit 'productVersion' for products
kubectl patch opaclusters/opa --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"0.66.0"}]' # changed
kubectl patch zookeeperclusters/zookeeper --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"3.9.2"}]'
kubectl patch hiveclusters/hive --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"3.1.3"}]'
kubectl patch hiveclusters/hive-iceberg --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"3.1.3"}]'
kubectl patch kafkaclusters/kafka --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"3.7.1"}]'
kubectl patch nificlusters/nifi --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"1.27.0"}]'
kubectl patch trinoclusters/trino --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"451"}]' # changed
kubectl patch supersetclusters/superset --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"4.0.2"}]' # changed
# kubectl patch sparkapplications/spark-ingest-into-lakehouse --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"3.5.1"}]' # Was already done Had scheduling issues, and scaled up the node pool to 12. Then I ran the demo based on the instructions in the nightly docs (in case there were any updates since stable). OutcomeNode poolPods with anti-affinity constraints that come up last (eg: bigger images to pull) do not get scheduled because there are no nodes left. In this case, Trino has 2 nodes that couldn't be placed (hence two extra nodes). Outcome: Update the docs to require 12 nodes. We probably need to talk about prioritisation and preemption, as IMO, the services with anti-affinity constraints should have a higher priority than those without. Done in 914cedd secret-operatorNeed to copy the Outcome: This needs documenting in the release notes. Unless stackabletech/secret-operator#453 is completed first. postgresGot some warnings:
Outcome: Do nothing, but perhaps look at it later in more detail. See #62 minioThe text "You can see that Trino has placed a single file into the selected folder containing all the house sales of that particular year." doesn't match the image which shows 4 files. Outcome: Update the docs to avoid mentioning how many files to expect. Done in 52eb86d sparkNo visualization information available for the streaming job run. but that seems to only be because the jobs completed. The active job show a visualisation, as does the completed water_level job.
Outcome: This doesn't block the release (the upgrade worked), but the demo does need looking at again. Fix it after the release. See #62 trinoThe text tpch: "TPCH connector providing a set of schemas to support the TPC Benchmark™ DS" link points to TPCDS. Outcome: Update the link to point to TPCH. Done in 9b5df59 supersetThere is a table preview bug, and it is documented, but I only saw it later
Outcome: Upgrade the NOTE to a WARNING, and move it before the image. Done in 904148d |
🟢 end-to-end-securityInstall 24.3 demo:
Bump vector:
Uninstall operators:
CRD changes:
Breaking secret changes:
Then bump the demo (product versions adapted in demos-v2 and stacks-v2.yaml, release switched to 0.0.0-dev):
Delete "create-tables-in-trino" job due to:
All comes up again with bumped versions. |
🟢 trino-taxi-data
|
This issue is now just waiting on the demos PR to be merged. #60 |
All done! |
Description
For each demo: test the upgrading process from 24.3 to dev release and document necessary changes for upgrading if necessary. Also check the steps in the demo documentation to ensure the proper functionality of the demo with the dev release.
Tasks
The text was updated successfully, but these errors were encountered: