This guide explains how to upgrade a running KUDO Cassandra instance to a newer version of KUDO Cassandra.
- KUDO Cassandra instance running
- KUDO CLI installed
The examples below assume that the instance and namespace names are stored in the following shell variables. With this assumptions met, you should be able to copy-paste the commands easily.
instance_name=cassandra
namespace_name=default
destination_version=1.0.0
kubectl get instance $instance_name -n $namespace_name
echo About to upgrade to $destination_version
Example output:
NAME AGE
cassandra 16h
About to upgrade to 1.0.0
kubectl kudo plan status --instance=$instance_name -n $namespace_name
In the output note if:
- the current
Operator-Version
matches your expectation, and - deploy plan is
COMPLETE
Example output:
Plan(s) for "cassandra" in namespace "default":
.
└── cassandra (Operator-Version: "cassandra-1.0.0" Active-Plan: "deploy")
└── Plan deploy (serial strategy) [COMPLETE]
└── Phase nodes (parallel strategy) [COMPLETE]
└── Step node [COMPLETE]
kubectl kudo upgrade cassandra -n $namespace_name --instance=$instance_name --operator-version=$destination_version
Example output:
operatorversion.kudo.dev/v1beta1/cassandra-1.0.0 created
instance.kudo.dev/v1beta1/cassandra updated
Check the plan status:
kubectl kudo plan status --instance=$instance_name -n $namespace_name
Expected output should show:
deploy
plan eitherIN_PROGRESS
orCOMPLETE
, and- the
Operator-Version
to match the destination version.
Plan(s) for "cassandra" in namespace "default":
.
└── cassandra (Operator-Version: "cassandra-1.0.0" Active-Plan: "deploy")
└── Plan deploy (serial strategy) [IN_PROGRESS]
└── Phase nodes (parallel strategy) [IN_PROGRESS]
└── Step node [IN_PROGRESS]
Once the pods are ready (passing readiness and liveness checks), the plan should
change to COMPLETE
.