Removing an Engine

When removing a MATRIXX Engine (s1e3) from a three-engine deployment (s1e1, s1e2, and s1e3), upgrading the master namespace is a two-step process.

First, upgrade using the topology-additional-engine.yaml configuration but with the engine to be removed (s1e3) configured with the ignore property set to true:

helm --kube-context context1 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-additional-engine.yaml -f cluster1.yaml --set global.topology.domains[0].subdomains[0].engines[2].ignore=true --version matrixx_version

This stops and deletes engine s1e3.

Next, upgrade the matrixx-operators namespace again using the topology-initial.yaml to perform final cleanup:

helm --kube-context context1 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-initial.yaml -f cluster1.yaml --version matrixx_version

This also upgrades engines s1e1 and s1e2 (standby first).

Note: If you attempt to upgrade the matrixx-operators namespace in one step, the engine-operator-s1e3 pod is deleted before it can finish cleaning up the s1e3 engine.

Upgrade and uninstall the agents and engine namespaces with the following commands:

helm --kube-context context2 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-initial.yaml -f cluster2.yaml --version matrixx_version
helm --kube-context context3 uninstall mtx-operators -n matrixx-operators
helm --kube-context context1 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-initial.yaml -f cluster1.yaml --version matrixx_version
helm --kube-context context2 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-initial.yaml -f cluster2.yaml --version matrixx_version
helm --kube-context context3 uninstall mtx-engine-s1 -n matrixx-engine-s1
kubectl --context context3 delete ns matrixx-operators
kubectl --context context3 delete ns matrixx-engine-s1

Finally, upgrade the Traffic Routing Agent (TRA) namespace:

helm --kube-context context1 upgrade mtx-tra matrixx/matrixx -n matrixx-tra -f base.yaml -f topology-initial.yaml -f cluster1.yaml -f tra.yaml --version matrixx_version