mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-27 08:40:23 +00:00
e2e: add testcase for PVC restore from vaultKMS to vaultTenantSAKMS
Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit dac4e76ae1
)
This commit is contained in:
parent
a781ebb844
commit
a1774cee87
57
e2e/rbd.go
57
e2e/rbd.go
@ -1014,6 +1014,63 @@ var _ = Describe("RBD", func() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
By("Validate PVC restore from vaultKMS to vaultTenantSAKMS", func() {
|
||||||
|
if !k8sVersionGreaterEquals(f.ClientSet, 1, 16) {
|
||||||
|
Skip("pvc clone is only supported from v1.16+")
|
||||||
|
}
|
||||||
|
restoreSCName := "restore-sc"
|
||||||
|
err := deleteResource(rbdExamplePath + "storageclass.yaml")
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to delete storageclass: %v", err)
|
||||||
|
}
|
||||||
|
scOpts := map[string]string{
|
||||||
|
"encrypted": "true",
|
||||||
|
"encryptionKMSID": "vault-test",
|
||||||
|
}
|
||||||
|
err = createRBDStorageClass(f.ClientSet, f, defaultSCName, nil, scOpts, deletePolicy)
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to create storageclass: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
scOpts = map[string]string{
|
||||||
|
"encrypted": "true",
|
||||||
|
"encryptionKMSID": "vault-tenant-sa-test",
|
||||||
|
}
|
||||||
|
err = createRBDStorageClass(f.ClientSet, f, restoreSCName, nil, scOpts, deletePolicy)
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to create storageclass: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = createTenantServiceAccount(f.ClientSet, f.UniqueName)
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to create ServiceAccount: %v", err)
|
||||||
|
}
|
||||||
|
defer deleteTenantServiceAccount(f.UniqueName)
|
||||||
|
|
||||||
|
validatePVCSnapshot(1,
|
||||||
|
pvcPath, appPath, snapshotPath, pvcClonePath, appClonePath,
|
||||||
|
vaultKMS, vaultTenantSAKMS,
|
||||||
|
restoreSCName, f)
|
||||||
|
|
||||||
|
err = retryKubectlArgs(cephCSINamespace, kubectlDelete, deployTimeout, "storageclass", restoreSCName)
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to delete storageclass %q: %v", restoreSCName, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = deleteResource(rbdExamplePath + "storageclass.yaml")
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to delete storageclass: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// validate created backend rbd images
|
||||||
|
validateRBDImageCount(f, 0, defaultRBDPool)
|
||||||
|
|
||||||
|
err = createRBDStorageClass(f.ClientSet, f, defaultSCName, nil, nil, deletePolicy)
|
||||||
|
if err != nil {
|
||||||
|
e2elog.Failf("failed to create storageclass: %v", err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
By("create an encrypted PVC-PVC clone and bind it to an app", func() {
|
By("create an encrypted PVC-PVC clone and bind it to an app", func() {
|
||||||
if !k8sVersionGreaterEquals(f.ClientSet, 1, 16) {
|
if !k8sVersionGreaterEquals(f.ClientSet, 1, 16) {
|
||||||
Skip("pvc clone is only supported from v1.16+")
|
Skip("pvc clone is only supported from v1.16+")
|
||||||
|
Loading…
Reference in New Issue
Block a user