Related issues
LEP
Test Update Default Backup Target
Given Longhorn cluster with 3 worker nodes installed with Helm.
Verify The ConfigMap
longhorn-default-backupstore
is created.
Then Update the setting defaultBackupStore.backupTarget
in the file values.yaml
.
Verify The default backup target URL is updated as the value of the setting defaultBackupStore.backupTarget
.
Then Update the setting defaultBackupStore.backupTargetCredentialSecret
in the file values.yaml
.
Verify The default backup target secret is updated as the value of the setting defaultBackupStore.backupTargetCredentialSecret
.
Then Update the setting defaultBackupStore.pollInterval
in the file values.yaml
.
Verify The default backup target poll interval is updated as the value of the setting defaultBackupStore.pollInterval
.
Test Create A Volume By A Storage Class For The Parameter backupTargetName
Given Longhorn cluster with 3 worker nodes.
And Create a Storage Class A without the parameter backupTargetName
.
And Create a Storage Class B with the parameter backupTargetName: backupTargetB
(the backup target backupTargetB
is created.)
And Create a Storage Class C with the parameter backupTargetName: backupTargetC
(the backup target backupTargetC
is not created.)
Then Create a volume A with the Storage Class A.
Verify The field spec.backupTargetName
of volume A is default
.
Then Create a volume B with the Storage Class B.
Verify The field spec.backupTargetName
of volume B is backupTargetB
.
Then Create a volume C with the Storage Class C.
Verify The volume C can not be created.
Test Create And Restore A Backup With Multiple Backup Targets
Given Longhorn cluster with 3 worker nodes.
And Set up the default backup target.
And Create a volume and attach it.
And Write data to the volume.
Then Create an extra backup target A which has existing backups.
Verify Existing backups on the extra backup target A can be synchronized back to the cluster.
Then Create a backup D to the default backup target.
Verify The backup D is completed and backups of the default backup target will not be deleted.
Then Create a backup A to extra backup target A (by setting the Spec.BackupTargetName
field in the volume first.)
Verify The backup A is completed and existing backups of backup target A will not be deleted.
Then Restore the backup D from the default backup target.
Then Restore the backup A from the extra backup target A.
Verify Restoring the backup D is completed and data is correct.
Verify Restoring the backup A is completed and data is correct.
Test Modify The Backup Target URL
Given Longhorn cluster with 3 worker nodes
And Set up the default backup target
Then Set up an extra backup target A which has existing backups
Verify Existing backups on the extra backup target A can be synchronized back to the cluster
Then Modify the extra backup target A URL to another valid URL of backup target B
Verify Related backup volume and backup custom resources will be synchronized correctly from the remote backup target B.
Then Modify the extra backup target A URL to an invalid URL.
Verify The extra backup target A become unavailable and synchronization will be skipped.
Verify Related backup volume and backup custom resources of the backup target B will not be cleaned up.
Then Empty the extra backup target A URL
Verify related backup volume and backup custom resources of the backup target B will be cleaned up.
Verify Backup volume and backup custom resources of the default backup target will not be affected.
Test Create And Restore A Backing Image
Given Longhorn cluster with 3 worker nodes.
And Create a backing image.
And Set up the default backup target
And Create a valid backup target A.
Then Create a backup D of the backing image to the default backup target.
Verify The backup D of the backing image is completed.
Then Create a backup A of the backing image to the backup target A.
Verify The backup A of the backing image is completed.
Then Restore the backup D of the backing image from the default backup target.
Verify The restoration succeeds and data is correct.
Then Restore the backup A of the backing image from the backup target A.
Verify The restoration succeeds and data is correct.
Test Create A DR Volume
Given Longhorn cluster A with 3 worker nodes and Longhorn cluster B with 3 worker nodes.
And Set up the default backup target with the same remote backup store D for two clusters.
And Set up the backup target E
with the same remote backup store S for two clusters.
And Create a volume A with the default backup target in cluster A and attach it.
And Create a volume B with the backup target E
in cluster B and attach it.
And Write data to the volume A and B.
Then Create a backup A-01 of the volume A in the cluster A.
Then Create a DR volume B-DR after the backup A is synchronized in cluster B.
Verify DR volume B-DR is created and stand-by to synchronize data from cluster A.
Verify Modifying/Deleting the backup target URL is not allowed in cluster B.
Then Write data to the volume A and create a new backup A-02 in the cluster A.
Verify The DR volume will synchronize the data from the backup A-02 in the cluster B.
Then Activate the volume B-DR.
Verify data of the volume B-DR is the same to the volume A.
Then Create a backup B-01 of the volume B in the cluster B.
Then Create a DR volume A-DR after the backup B-01 is synchronized in the cluster A.
Then Write data to the volume B and create a new backup B-02 in the cluster B.
Verify Modifying/Deleting the backup target URL is not allowed in cluster A.
Verify The DR volume A-DR will synchronize the data in the cluster A.
Test Create And Restore A System Backup
Given Longhorn cluster with 3 worker nodes.
And Set up the default backup target and an extra backup target A.
And Create a volume A with the default backup target and attach it.
And Create a volume B with the backup target A
and attach it.
And Write data to the volume A and B.
Then Create a system backup.
**Verify The system backup is completed, and the system backup and the volume A is stored on the default backup target, and the volume B is stored on the backup target A.
Then Delete the backup target A and volume A and B.
Then Restore the system backup.
Verify Restoration is completed, and backup target A, volume A and B is restored.
Test Delete A Backup Target
Given Longhorn cluster with 3 worker nodes.
And Set up the default backup target and an extra backup target A which has existing backups.
Verify Deleting the default backup target is not allowed.
Verify Existing backups on the extra backup target A can be synchronized back to the cluster.
Then Create a backup D to the default backup target.
Verify The backup D is completed.
Then Create a backup A to extra backup target A.
Verify The backup A is completed.
Then Delete the backup target A.
Verify Related backup volume and backup custom resources of the backup target A will be cleaned up.
Verify Backup volume and backup custom resources of the default backup target will not be affected.
Then Add the backup target A back.
Verify Related backup volume and backup custom resources of the backup target A will be synchronized correctly.
Test Uninstall
Given Longhorn cluster with 3 worker nodes.
And Set up the default backup target and a backup target A.
And Create a volume A with the default backup target name
And Create a volume B with the backup target A name.
Then Create backups for the volume A and B, and wait for backups completion.
Then Uninstall Longhorn.
Verify URLs of backup targets are empty first.
Verify Backup targets are deleted successfully.
Verify Uninstall successfully.
Test Upgrade
Given Longhorn v1.7.x cluster with 3 worker nodes.
And Set up the default backup target.
And Create a volume and attach it, and create a backup A of the volume A, and wait for the backup completed.
And Create a backing image BI, and create a backup BBI of the backing image BI, and wait for the backup completed.
Then Upgrade Longhorn to v1.8.0
Verify The default
backup target will not be deleted.
Verify The settings backup-target
, backup-target-credential-secret
, and backupstore-poll-interval
are removed from global settings.
Verify The fields Spec.BackupTargetName
of the volume A is the default backup target name default
.
Verify The field Status.BackupTarget
and labels backup-target
of the backup A is the default backup target name default
.
Verify The fields Spec.BackupTargetName
and labels backup-target
of the backup volume A is the default backup target name default
, and Spec.VolumeName
of the backup volume A is the name of the volume A.
Verify The fields Spec.BackupTargetName
and labels of the backing image BI is the default backup target name default
, and Spec.BackingImage
of the backup BBI is the name of the backing image BI.