Skip to content

Commit

Permalink
chore: Add release-upgrade-testing tracking issue template (#136)
Browse files Browse the repository at this point in the history
* chore: add release-upgrade-testing tracking issue template. Make existing templates consistent

* Apply suggestions

Co-authored-by: Techassi <[email protected]>

* Apply suggestions

Co-authored-by: Techassi <[email protected]>

---------

Co-authored-by: Techassi <[email protected]>
  • Loading branch information
NickLarsenNZ and Techassi authored Dec 12, 2024
1 parent 507d02f commit 20400ab
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/pre-release-chart-updates.md
Original file line number Diff line number Diff line change
@@ -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: ''
---
Expand Down
Original file line number Diff line number Diff line change
@@ -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: ''
---

<!--
Make sure to update the link in '.github/ISSUE_TEMPLATE/release.md' when
Make sure to update the link in 'stackabletech/issues/.github/ISSUE_TEMPLATE/release.md' when
you change the filename.
-->

<!--
DO NOT REMOVE THIS COMMENT. It is intended for people who might copy/paste from the previous release issue.
This was created by an issue template: https://github.com/stackabletech/issues/issues/new/choose.
This was created by an issue template: https://github.com/stackabletech/demos/issues/new/choose.
-->

## Pre-Release Demo Testing on Nightly
Expand All @@ -24,9 +24,9 @@ Part of <https://github.com/stackabletech/issues/issues/TRACKING_ISSUE>

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.
Expand Down Expand Up @@ -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.

<!--
Make sure to update the version mentioned below when creating the issue.
-->

> [!TIP]
> Be sure to select the _stable_ docs version on <https://docs.stackable.tech/home/stable/demos/>.
```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 <DEMO_NAME>

# --- 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
Expand All @@ -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)
Expand All @@ -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.

<!--
Make sure to update the version mentioned below when creating the issue.
-->

> [!TIP]
> Be sure to select the _nightly_ docs version on <https://docs.stackable.tech/home/nightly/demos/>.
```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 <DEMO_NAME>

# --- IMPORTANT ---
# Run through the nightly demo instructions (refer to the tasklist above).
```
159 changes: 159 additions & 0 deletions .github/ISSUE_TEMPLATE/release-upgrade-testing.md
Original file line number Diff line number Diff line change
@@ -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: ''
---

<!--
Make sure to update the link in 'stackabletech/issues/.github/ISSUE_TEMPLATE/release.md' when
you change the filename.
-->

<!--
DO NOT REMOVE THIS COMMENT. It is intended for people who might copy/paste from the previous release issue.
This was created by an issue template: https://github.com/stackabletech/demos/issues/new/choose.
-->

## Pre-Release Demo Testing

Part of <https://github.com/stackabletech/issues/issues/TRACKING_ISSUE>

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).
<!--
The following list was generated by:
# go to the demos repository, then run:
yq '.demos | keys' demos/demos-v2.yaml \
| sed -e 's/- //g' \
| sort \
| xargs -I {} echo "- [ ] [{}](https://docs.stackable.tech/home/nightly/demos/{})"
-->
> [!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.

<!--
Make sure to update the YY.M.X and YY.M versions mentioned below when creating the issue.
-->

> [!TIP]
> Be sure to select the _stable_ docs version on <https://docs.stackable.tech/home/stable/demos/>.
```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 <DEMO_NAME>

# --- 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.

<!--
Make sure to update the version mentioned below when creating the issue.
-->

> [!TIP]
> Be sure to select the _nightly_ docs version on <https://docs.stackable.tech/home/nightly/demos/>.
```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 <DEMO_NAME>

# --- IMPORTANT ---
# Run through the nightly demo instructions (refer to the tasklist above).
```

0 comments on commit 20400ab

Please sign in to comment.