Upgrade to Operator 3.2.2 on Red Hat OpenShift using Command Line
This is the procedure to upgrade the Operator installed on Red Hat OpenShift to version 3.2.2 using the command line tools. If you are running Operator version 3.0.0, you must first Upgrade to 3.1.0.
The following instructions also apply to oc
, the OpenShift command line tool.
Verify that version 3.4.0 of the operator is availableโ
Verify that the following command lists 3.4.0 as the current CSV version:
kubectl get packagemanifests -l catalog=redhat-marketplace,provider=Aerospike -o yaml | grep currentCSV:
The following appears:
- currentCSV: aerospike-kubernetes-operator.v2.5.0
- currentCSV: aerospike-kubernetes-operator.v3.4.0
Upgrade the operatorโ
Based on the installPlanApproval mode, the upgrade of the Operator can be one of
- Automatic - the default when installing the Operator from OperatorHub.io.
- Manual - if the OperatorHub.io subscription has been edited to use Manual approval.
Automaticโ
The standard install procedure sets up Automatic upgrade approval for the operator. In this case OLM automatically installs operator version 3.4.0. You do not need to perform any manual steps to upgrade the operator.
You can skip ahead to verification.
Manualโ
If the OperatorHub.io subscription has been edited to use Manual approval, then you need to approve the upgrade as follows:
Verify that the InstallPlan for version 3.4.0 has been created.
kubectl get installplan -n openshift-operators | grep aerospike
Sample output with an InstallPlan for version 3.4.0.
NAME CSV APPROVAL APPROVED
install-2tg7p aerospike-kubernetes-operator.v3.4.0 Manual false
install-fn297 aerospike-kubernetes-operator.v3.1.0 Manual true
The upgrade is not applied, since the approved status is false
.
To approve the upgrade, set the approved
field in the InstallPlan to true
:
kubectl patch installplan -n openshift-operators --type merge --patch '{"spec":{"approved":true}}' $(kubectl get installplan -n openshift-operators | grep "aerospike-kubernetes-operator.v3.4.0" | cut -f 1 -d " ")
Verify that the Operator is upgradedโ
Run the following command
kubectl get csv -n openshift-operators | grep aerospike
The operator upgrade can take some time. The CSV for version 3.4.0 goes through phases like Pending
, Installing
,
InstallReady
and finally on Succeeded
.
Sample output on success:
NAME DISPLAY VERSION REPLACES PHASE
aerospike-kubernetes-operator.v3.4.0 Aerospike Kubernetes Operator 3.4.0 aerospike-kubernetes-operator.v3.1.0 Succeeded
Check Operator Logsโ
The Operator runs as two replicas by default, for higher availability. Run the following command to follow the logs for the Operator pods.
kubectl -n openshift-operators logs -f deployment/aerospike-operator-controller-manager manager
Output:
2023-08-01T09:07:02Z INFO setup legacy OLM < 0.17 directory is present - initializing webhook server
2023-08-01T09:07:03Z INFO controller-runtime.metrics Metrics server is starting to listen {"addr": "127.0.0.1:8080"}
2023-08-01T09:07:03Z INFO setup Init aerospike-server config schemas
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.2"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.6.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.7.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.7.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.1"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.6.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.3"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.5.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.3.1"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.8.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.9.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "7.0.0"}
2023-08-01T09:07:03Z INFO aerospikecluster-resource Registering mutating webhook to the webhook server
2023-08-01T09:07:03Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO controller-runtime.builder skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster"}
2023-08-01T09:07:03Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster", "path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO setup Starting manager
2023-08-01T09:07:03Z INFO controller-runtime.webhook.webhooks Starting webhook server
2023-08-01T09:07:03Z INFO Starting server {"path": "/metrics", "kind": "metrics", "addr": "127.0.0.1:8080"}
2023-08-01T09:07:03Z INFO controller-runtime.certwatcher Updated current TLS certificate
2023-08-01T09:07:03Z INFO Starting server {"kind": "health probe", "addr": "[::]:8081"}
I0801 09:07:03.213295 1 leaderelection.go:248] attempting to acquire leader lease operators/96242fdf.aerospike.com...
2023-08-01T09:07:03Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}
2023-08-01T09:07:03Z INFO controller-runtime.certwatcher Starting certificate watcher