You may need to restore the Cassandra database after a hardware or software failure.
Warning
During the restore procedure, all current Cassandra data is deleted. Therefore, starting from the MCP 2019.2.5 maintenance update, a database backup in Cassandra is not created before the restore procedure. If a backup of current data is required, you can create an instant backup. For details, see: OpenContrail 4.x: Create an instant backup of a Cassandra database.
To restore the Cassandra database:
Log in to the Salt Master node.
Open your project Git repository with the Reclass model on the cluster level.
Add the following snippet to
cluster/<cluster_name>/infra/backup/client_cassandra.yml
:
cassandra:
backup:
client:
enabled: true
restore_latest: 1
restore_from: remote
where:
restore_latest
can have, for example, the following values:1
, which means restoring the database from the last complete backup.2
, which means restoring the database from the second latest
complete backup.restore_from
can have the local
or remote
values. The
remote
value uses scp
to get the files from the cassandra
server.Restore the Cassandra database using the Jenkins web UI:
Verify that the following class is present in
cluster/cicd/control/leader.yml
:
classes:
- system.jenkins.client.job.deploy.update.restore_cassandra
If you manually add this class, apply the changes:
salt -C 'I@jenkins:client' state.sls jenkins.client
Log in to the Jenkins web UI.
Open the cassandra - restore pipeline.
Specify the following parameters:
Parameter | Description and values |
---|---|
SALT_MASTER_CREDENTIALS | The Salt Master credentials to use for connection, defaults to
salt . |
SALT_MASTER_URL | The Salt Master node host URL with the salt-api port,
defaults to the jenkins_salt_api_url parameter.
For example, http://172.18.170.27:6969 . |
Click Deploy.