diff --git a/.github/ISSUE_TEMPLATE/pre-release-chart-updates.md b/.github/ISSUE_TEMPLATE/pre-release-chart-updates.md index 1a64b6f6..30296890 100644 --- a/.github/ISSUE_TEMPLATE/pre-release-chart-updates.md +++ b/.github/ISSUE_TEMPLATE/pre-release-chart-updates.md @@ -1,7 +1,7 @@ --- name: Pre-Release Demo Chart Updates about: This template can be used to track the Helm chart updates for all demos. -title: "chore(tracking): Update Helm charts for XX.(X)X" +title: "chore(tracking): Update Helm charts for YY.M.X" labels: [] assignees: '' --- diff --git a/.github/ISSUE_TEMPLATE/pre-release-nightly-testing.md b/.github/ISSUE_TEMPLATE/pre-release-upgrade-testing.md similarity index 66% rename from .github/ISSUE_TEMPLATE/pre-release-nightly-testing.md rename to .github/ISSUE_TEMPLATE/pre-release-upgrade-testing.md index 2e1f6f4a..eba389ff 100644 --- a/.github/ISSUE_TEMPLATE/pre-release-nightly-testing.md +++ b/.github/ISSUE_TEMPLATE/pre-release-upgrade-testing.md @@ -1,21 +1,21 @@ --- -name: Pre-Release Demo Upgrade Testing from Stable to Nightly +name: Pre-Release Demo and Upgrade Testing about: | - This template can be used to track the upgrade testing of demos from stable to nightly leading - up to the next Stackable release -title: "chore(tracking): Test demos on nightly versions for XX.(X)X" + This template can be used to track the upgrade testing of demos from stable to + nightly and nightly from scratch leading up to the next Stackable release. +title: "chore(tracking): Test demos on nightly versions for YY.M.X" labels: ['epic'] assignees: '' --- ## Pre-Release Demo Testing on Nightly @@ -24,9 +24,9 @@ Part of This is testing: -1. The demos documented in nightly (with the updated product versions) still work. -2. That the operators can be upgraded from the current release to the nightly release and do not - negatively impact the products. +1. That upgrades from the _stable_ release to the _nightly_ release of the operators and products do + not negatively impact the products. +2. That _nightly_ demos work as documented from scratch. > [!NOTE] > Record any issues or anomalies during the process in a comment on this issue. @@ -67,24 +67,30 @@ Replace the items in the task lists below with the applicable Pull Requests (if - [ ] [trino-taxi-data](https://docs.stackable.tech/home/nightly/demos/trino-taxi-data) ``` -### Testing Instructions +### Stable to Nightly Upgrade Testing Instructions -These instructions are for deploying the nightly demo, as well as upgrading the operators and CRDS. +These instructions are for deploying and completing the stable demo, and then +upgading operators, CRDs, and products to the nightly versions well as upgrading +the operators and CRDS. +> [!TIP] +> Be sure to select the _stable_ docs version on . + ```shell -# Install demo (stable operators) for the previous release (24.7) -# For now, we have to deploy from the release branch, otherwise we get new changes. -# Stackablectl doesn't yet support deploying a demo from a branch -git checkout release-24.7 +# Install demo (stable operators) for the stable release (YY.M). +# Until https://github.com/stackabletech/stackable-cockpit/issues/310 is merged, +# this will need to be done by pointing stackablectl to local files checked out +# from the stable release branch. +git checkout release-YY.M git pull stackablectl --stack-file=stacks/stacks-v2.yaml --demo-file=demos/demos-v2.yaml demo install # --- IMPORTANT --- -# Run through the nightly demo instructions (refer to the tasklist below). +# Run through the stable demo instructions (refer to the tasklist above). # Get a list of installed operators stackablectl operator installed --output=plain @@ -107,8 +113,8 @@ helm upgrade minio minio/minio --version x.x.x helm upgrade postgresql-hive bitnami/postgresql --version x.x.x # --- OPTIONAL END --- -# Uninstall operators -stackablectl release uninstall 24.7 +# Uninstall operators for the stable release (YY.M) +stackablectl release uninstall YY.M # Update CRDs to nightly version (on main) # Repeat this for every operator used by the demo (use the list from the earlier step before deleting the operators) @@ -121,3 +127,27 @@ stackablectl operator install commons ... # Optionally update the product versions in the CRDs (to the latest non-experimental version for the new release), e.g.: kubectl patch hbaseclusters/hbase --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"x.x.x"}]' # changed ``` + +### Nightly from Scratch Testing Instructions + +These instructions are for deploying and completing the nightly demo from scratch. + + + +> [!TIP] +> Be sure to select the _nightly_ docs version on . + +```shell +# Install demo (stable operators) for the nightly release. +# Until https://github.com/stackabletech/stackable-cockpit/issues/310 is merged, +# this will need to be done by pointing stackablectl to local files checked out +# from the main branch. +git checkout main +git pull +stackablectl --stack-file=stacks/stacks-v2.yaml --demo-file=demos/demos-v2.yaml demo install + +# --- IMPORTANT --- +# Run through the nightly demo instructions (refer to the tasklist above). +``` diff --git a/.github/ISSUE_TEMPLATE/release-upgrade-testing.md b/.github/ISSUE_TEMPLATE/release-upgrade-testing.md new file mode 100644 index 00000000..af35f036 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release-upgrade-testing.md @@ -0,0 +1,159 @@ +--- +name: Release Demo and Upgrade Testing +about: | + This template can be used to track the upgrade testing of demos from the outgoing stable to + the new release, and new release from scratch before officially marking the new release as stable. +title: "chore(tracking): Test demos on nightly versions for YY.M.X" +labels: ['epic'] +assignees: '' +--- + + + + + +## Pre-Release Demo Testing + +Part of + +This is testing: + +1. That upgrades from the outgoing _stable_ release to the new release of the operators and products do + not negatively impact the products. +2. That the new release demos work as documented from scratch. + +> [!NOTE] +> Record any issues or anomalies during the process in a comment on this issue. +> Eg: +> +> ```plain +> :green_circle: **airflow-scheduled-job** +> +> The CRD had been updated and I needed to change the following in the manifest: +> ... +> ``` + +Replace the items in the task lists below with the applicable Pull Requests (if any). + + + +> [!NOTE] +> At this point, the new release docs are still versoined as _nightly_. + +```[tasklist] +### Testing Demos on Nightly +- [ ] [airflow-scheduled-job](https://docs.stackable.tech/home/nightly/demos/airflow-scheduled-job) +- [ ] [data-lakehouse-iceberg-trino-spark](https://docs.stackable.tech/home/nightly/demos/data-lakehouse-iceberg-trino-spark) +- [ ] [end-to-end-security](https://docs.stackable.tech/home/nightly/demos/end-to-end-security) +- [ ] [hbase-hdfs-load-cycling-data](https://docs.stackable.tech/home/nightly/demos/hbase-hdfs-load-cycling-data) +- [ ] [jupyterhub-pyspark-hdfs-anomaly-detection-taxi-data](https://docs.stackable.tech/home/nightly/demos/jupyterhub-pyspark-hdfs-anomaly-detection-taxi-data) +- [ ] [logging](https://docs.stackable.tech/home/nightly/demos/logging) +- [ ] [nifi-kafka-druid-earthquake-data](https://docs.stackable.tech/home/nightly/demos/nifi-kafka-druid-earthquake-data) +- [ ] [nifi-kafka-druid-water-level-data](https://docs.stackable.tech/home/nightly/demos/nifi-kafka-druid-water-level-data) +- [ ] [signal-processing](https://docs.stackable.tech/home/nightly/demos/signal-processing) +- [ ] [spark-k8s-anomaly-detection-taxi-data](https://docs.stackable.tech/home/nightly/demos/spark-k8s-anomaly-detection-taxi-data) +- [ ] [trino-iceberg](https://docs.stackable.tech/home/nightly/demos/trino-iceberg) +- [ ] [trino-taxi-data](https://docs.stackable.tech/home/nightly/demos/trino-taxi-data) +``` + +### Outgoing Stable to new YY.M Upgrade Testing Instructions + +These instructions are for deploying and completing the outgoing stable demo, and then +upgading operators, CRDs, and products to the nightly versions well as upgrading +the operators and CRDS. + + + +> [!TIP] +> Be sure to select the _stable_ docs version on . + +```shell +# Install demo (stable operators) for the stable release (YY.M). +# Until https://github.com/stackabletech/stackable-cockpit/issues/310 is merged, +# this will need to be done by pointing stackablectl to local files checked out +# from the outgoing stable release branch. +git checkout release-OUTGOING_STABLE +git pull +stackablectl --stack-file=stacks/stacks-v2.yaml --demo-file=demos/demos-v2.yaml demo install + +# --- IMPORTANT --- +# Run through the stable demo instructions (refer to the tasklist above). + +# Get a list of installed operators +stackablectl operator installed --output=plain + +# --- OPTIONAL --- +# Sometimes it is necessary to upgrade Helm charts. Look for other Helm Charts +# which might need updating. + +# First, see which charts are installed. You can ignore the stackable-operator +# charts, or anything that might have been installed outside of this demo. +helm list + +# Next, add the applicable Helm Chart repositories. For example: +helm repo add minio https://charts.min.io/ +helm repo add bitnami https://charts.bitnami.com/bitnami + +# Finally, upgrade the Charts to what is defined in `main`. +# For example: +helm upgrade minio minio/minio --version x.x.x +helm upgrade postgresql-hive bitnami/postgresql --version x.x.x +# --- OPTIONAL END --- + +# Uninstall operators for the stable release (OUTGOING_STABLE) +stackablectl release uninstall OUTGOING_STABLE + +# At this point, we assume release.yml has been updated with the new YY.M release. +# if it hasn't, you will need to point stackablectl at a locally updated file using --release-file + +# Update CRDs to nightly version (on release-YY.M) +# Repeat this for every operator used by the demo (use the list from the earlier step before deleting the operators) +kubectl replace -f https://raw.githubusercontent.com/stackabletech/commons-operator/release-YY.M/deploy/helm/commons-operator/crds/crds.yaml +kubectl replace -f https://raw.githubusercontent.com/stackabletech/...-operator/release-YY.M/deploy/helm/...-operator/crds/crds.yaml + +# Install new release operators (use the list from the earlier step before deleting the operators) +stackablectl operator install commons=YY.M ... + +# Optionally update the product versions in the CRDs (to the latest non-experimental version for the new release), e.g.: +kubectl patch hbaseclusters/hbase --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"x.x.x"}]' # changed +``` + +### YY.M from Scratch Testing Instructions + +These instructions are for deploying and completing the YY.M demo from scratch. + + + +> [!TIP] +> Be sure to select the _nightly_ docs version on . + +```shell +# Install demo (stable operators) for the nightly release. +# Until https://github.com/stackabletech/stackable-cockpit/issues/310 is merged, +# this will need to be done by pointing stackablectl to local files checked out +# from the release-YY.M branch. +git checkout release-YY.M +git pull +stackablectl --stack-file=stacks/stacks-v2.yaml --demo-file=demos/demos-v2.yaml demo install + +# --- IMPORTANT --- +# Run through the nightly demo instructions (refer to the tasklist above). +```