-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: added test to validate the LVMO resources
This test validates all the resources created by LVMO Signed-off-by: riya-singhal31 <[email protected]>
- Loading branch information
1 parent
2a5c5cd
commit 94df1ee
Showing
4 changed files
with
145 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
package e2e | ||
|
||
import ( | ||
"context" | ||
"time" | ||
|
||
. "github.com/onsi/gomega" | ||
lvmv1alpha1 "github.com/red-hat-storage/lvm-operator/api/v1alpha1" | ||
appsv1 "k8s.io/api/apps/v1" | ||
storagev1 "k8s.io/api/storage/v1" | ||
"k8s.io/apimachinery/pkg/types" | ||
) | ||
|
||
const ( | ||
timeout = time.Second * 10 | ||
interval = time.Millisecond * 100 | ||
lvmVolumeGroupName = "vg1" | ||
storageClassName = "odf-lvm-vg1" | ||
csiDriverName = "topolvm.cybozu.com" | ||
topolvmNodeDaemonSetName = "topolvm-node" | ||
topolvmCtrlDeploymentName = "topolvm-controller" | ||
vgManagerDaemonsetName = "vg-manager" | ||
) | ||
|
||
// function to validate LVMVolume group. | ||
func ValidateLVMvg() error { | ||
lvmVG := lvmv1alpha1.LVMVolumeGroup{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: lvmVolumeGroupName, Namespace: InstallNamespace}, &lvmVG) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// function to validate storage class. | ||
func ValidateStorageClass() error { | ||
sc := storagev1.StorageClass{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: storageClassName, Namespace: InstallNamespace}, &sc) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// function to validate CSI Driver. | ||
func ValidateCSIDriver() error { | ||
cd := storagev1.CSIDriver{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: csiDriverName, Namespace: InstallNamespace}, &cd) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// function to validate TopoLVM node. | ||
func ValidateTopolvmNode() error { | ||
ds := appsv1.DaemonSet{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: topolvmNodeDaemonSetName, Namespace: InstallNamespace}, &ds) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// function to validate vg manager resource. | ||
func ValidateVGManager() error { | ||
ds := appsv1.DaemonSet{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: vgManagerDaemonsetName, Namespace: InstallNamespace}, &ds) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// function to validate TopoLVM Deployment. | ||
func ValidateTopolvmController() error { | ||
dep := appsv1.Deployment{} | ||
|
||
Eventually(func() bool { | ||
err := DeployManagerObj.GetCrClient().Get(context.TODO(), types.NamespacedName{Name: topolvmCtrlDeploymentName, Namespace: InstallNamespace}, &dep) | ||
return err == nil | ||
}, timeout, interval).Should(BeTrue()) | ||
|
||
return nil | ||
} | ||
|
||
// Validate all the resources created by LVMO. | ||
func ValidateResources() error { | ||
|
||
// Validate Storage class | ||
err := ValidateStorageClass() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
// Validate LVMVg | ||
err = ValidateLVMvg() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
// Validate CSI Driver | ||
err = ValidateCSIDriver() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
// Validate Topolvm node | ||
err = ValidateTopolvmNode() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
//Validate TopoLVM Controller | ||
err = ValidateTopolvmController() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
// Validate VG Manager Daemonset | ||
err = ValidateVGManager() | ||
if err != nil { | ||
return err | ||
} | ||
|
||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters