Upgrading One Engine at a Time

When upgrading, you may want to have some additional control over when each individual MATRIXX Engine is upgraded. This requires some additional steps.

Procedure

  1. Upgrade the s1e1 engine.
    1. Upgrade the s1e1 engine namespace:
      helm --kube-context context1 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version
    2. Upgrade the namespace containing the agents, but not the masters:
      helm --kube-context context2 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
    3. Then upgrade the namespace containing the masters, skipping the s1e2 MtxEngine CR:
      helm --kube-context context1 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --set global.topology.domains[0].subdomains[0].engines[1].skip=true --version upgrade_version

      The Helm --set option allows you to temporarily modify configuration values from the command prompt rather than editing topology-upgrade_version.yaml.

      Subdomain-operator-s1updates only the s1e1 MtxEngine CR, skipping the s1e2 MtxEngine CR. Engine-operator-s1e1 instance acts upon the updated s1e1 MtxEngine CR to upgrade the engine.

  2. Upgrade the s1e2 engine.
    1. Upgrade the s1e2 engine namespace:
      helm --kube-context context2 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
    2. Upgrade the namespace containing the masters:
      helm --kube-context context1 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version

      Subdomain-operator-s1 updates the s1e2 MtxEngine CR. Engine-operator-s1e2 acts upon the updated s1e2 MtxEngine CR to upgrade the engine.