Skip to content

tracking: Test demo upgrades on nightly versions for 26.7.0 #425

Description

@Techassi

Part of stackabletech/issues#847

This is testing that upgrades from the stable release to the nightly release of the operators
and products do not negatively impact the products.

Note

Record the results (issues, anomalies, or success) during the process in a comment on this issue.
Eg:

:green_circle: **airflow-scheduled-job**

The CRD had been updated and I needed to change the following in the manifest:
...

The following emojis can be used to indicate the status:

  • hourglass: In progress / waiting
  • red_circle: In progress with errors
  • orange_circle: Completed with minor issues or anomalies
  • green_circle: Completed without issues or errors

List of demos

Replace the items in the lists below with the applicable Pull Requests (if any). Also put your
GitHub handle next to the demo to indicate a particular demo was picked up for testing.

List of stacks

Similar to the demos above we need to test all stacks that don't have a demo.
Replace the items in the lists below with the applicable Pull Requests (if any). Also put your
GitHub handle next to the stack to indicate a particular stack was picked up for testing.

Tip

Some of the stacks have a tutorial to follow.

  • monitoring
  • observability @NickLarsenNZ
  • openldap
  • tutorial-openldap

Stable to Nightly Upgrade Testing Instructions

These instructions are for deploying and completing the stable demo, and then
upgrading 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 https://docs.stackable.tech/home/stable/demos/.

# For demo testing, , install demo (stable operators) for the stable release (26.3).
stackablectl demo install <DEMO_NAME>

# For stack testing, install stack via
stackablectl stack install <STACK_NAME>

# --- IMPORTANT ---
# Run through the stable demo/stack instructions (refer to the list above).

# Install nightly version of operators
stackablectl release upgrade dev

# Bump every stacklet to the version that used by the nightly demo.
# Typically, this is the latest supported version.
kubectl patch hbaseclusters/hbase --type='json' -p='[{"op": "replace", "path": "/spec/image/productVersion", "value":"x.x.x"}]' # changed

# Check that the operator logs look good (no unexpected errors etc.)

# Run through the (still) nightly demo/stack instructions again.
HDFS rolling upgrade instructions

For demos that use HDFS, also test a rolling upgrade.
Also see https://docs.stackable.tech/home/nightly/hdfs/usage-guide/upgrading/

# In some cases (eg. in the end-to-end-security demo), HDFS is kerberized.
# This requires these commands to be run first.
# Pick "nn/..."
klist -kt /stackable/kerberos/keytab
kinit -kt /stackable/kerberos/keytab <PRINCIPAL_FROM_ABOVE>

# These commands need to be executed in a superuser environment (eg. the namenode pod)
hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query  # repeat until "Proceed with rolling upgrade"

# Now patch the productVersion in your regular shell
kubectl patch hdfs/<CLUSTER_NAME> --type=merge \
  --patch '{"spec": {"image": {"productVersion": "<NEW_VERSION>"}}}'

# Finalize the upgrade in the namenode pod
# Needs another kinit because the container was restarted
hdfs dfsadmin -rollingUpgrade finalize

kubectl patch hdfs/<CLUSTER_NAME> --subresource=status --type=merge \
  --patch '{"status": {"deployedProductVersion": "<NEW_VERSION>"}}'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Development: In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions