Skip to content

Commit

Permalink
Merge pull request #2 from dell/release-v0.1.1
Browse files Browse the repository at this point in the history
Release v0.1.1
  • Loading branch information
JacobGros authored Jun 29, 2021
2 parents b3a317e + 26f9a08 commit f8e6480
Show file tree
Hide file tree
Showing 11 changed files with 2,326 additions and 1 deletion.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
.vscode/
*.out
*.html
.idea
bin/
csi-vxflexos/
goscaleio/
Expand Down
4 changes: 4 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
module github.com/dell/dell-csi-volumegroup-snapshotter

//replace github.com/dell/dell-csi-extensions/volumeGroupSnapshot => ./dell-csi-extensions/volumeGroupSnapshot

//replace github.com/dell/dell-csi-volumegroup-snapshotter => ../dell-csi-volumegroup-snapshotter

go 1.16

require (
Expand Down
Empty file modified test/helm/vgstest.sh
100644 → 100755
Empty file.
9 changes: 9 additions & 0 deletions test/integration-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

refer features/vg.feature for scenarios covered in this integration test

pre req : must have sdc installed and driver int test pass , config.json in this folder must point to valid array

also look at go.mod and pull the "replace" source for csi-vxflexos , goscaleio and dell-csi-extensions to the appropriate location

run.sh : will start driver-server and run snapshot vg create tests

19 changes: 19 additions & 0 deletions test/integration-test/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[
{
"username": "admin",
"password": "password",
"systemID": "ID1",
"endpoint": "https://127.0.0.1",
"insecure": true,
"isDefault": true,
"mdm": "10.0.0.1,10.0.0.2"
},
{
"username": "admin",
"password": "Password123",
"systemID": "ID2",
"endpoint": "https://127.0.0.2",
"insecure": true,
"mdm": "10.0.0.1,10.0.0.2"
}
]
169 changes: 169 additions & 0 deletions test/integration-test/features/vg.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
Feature: VxFlex OS CSI interface
As a consumer of the CSI interface
I want to run a system test
So that I know the service functions correctly.

@vg
Scenario: Call Create VolumesGroupSnapshot happy path
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 2 Volumes "vg-int" "8"
When I Call Test Create VG
Then There are No Errors
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot happy path idempotent case
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 2 Volumes "vg-int1" "8"
When I Call Test Create VG
Then There are No Errors
When I Call Test Create VG
Then There are No Errors
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot happy path same label new vg name
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 2 Volumes "vg-int2" "8"
When I Call Test Create VG
Then There are No Errors
And I Set VG name "vg-int-snap-two"
And I Set PVC Label "vg-int-snap-label"
When I Call Test Create VG
Then There are No Errors
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot same label different namspace label Request is idempotent
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 2 Volumes "vg-int3" "8"
And I Set VG name "vg-int-snap-three"
When I Call Test Create VG
Then There are No Errors
And I Set Namespace "nstwo"
When I Call Test Create VG
And I Call Clean up Volumes On Array

@wip
Scenario: Call Create VolumesGroupSnapshot happy path same label different namspace pvc label missing
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 2 Volumes "vg-int4" "8"
When I Call Test Create VG
Then There are No Errors
And I Set Namespace "nsthree"
And I Force PVC Label Error "vg-int-wrong-label"
When I Call Test Create VG
Then The Error Message Should Contain "pvc with label missing"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot happy path non default array
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Set Another SystemID "altSystem"
And I Call Create 2 Volumes "vg-int5" "8"
And I Set PVC Label "vg-int-snap-label"
When I Call Test Create VG
Then There are No Errors
And I Call Clean up Volumes On Array


@vg
Scenario: Call Create VolumesGroupSnapshot volumes in different system with same label
Given a Vgs Controller
And I Call Clean up Volumes On Array
And I Call Create 1 Volumes "vg-1-int" "8"
And I Set Another SystemID "altSystem"
And I Call Create 1 Volumes "vg-2-int" "8"
When I Call Test Create VG
Then The Error Message Should Contain "systemIDs are different"
And I Call Clean up Volumes On Array


@vg
Scenario: Call Create VolumesGroupSnapshot with no matching volumes
Given a Vgs Controller
And I Call Create 2 Volumes "vg-int6" "8"
And I Force PVC Label Error "vg-int-wrong-label"
When I Call Test Create VG
Then The Error Message Should Contain "pvc with label missing"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot with no matching pv for pvc
Given a Vgs Controller
And I Call Create 2 Volumes "vg-int7" "8"
And I Force NoPV Error "vg-int-no-pv-for-pvc"
When I Call Test Create VG
Then The Error Message Should Contain "unable to find pv"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot with no pre-req vsc for snapshots
Given a Vgs Controller
And I Call Create 2 Volumes "vg-int8" "8"
And I Force NoVSC Error "vg-int-no-vsc-for-vg"
When I Call Test Create VG
Then The Error Message Should Contain "VolumeSnapshotClass.snapshot.storage.k8s.io no-vsc-for-vg not found"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot k8s object has name but empty vgname sent in reconcile.
Given a Vgs Controller
And I Call Create 2 Volumes "vg-int9" "8"
And I Force Driver Error "vg-int-no-vg-name"
When I Call Test Create VG
Then The Error Message Should Contain "CreateVolumeGroupSnapshotRequest needs Name to be set"
And I Call Clean up Volumes On Array


@vg
Scenario: Call Create VolumesGroupSnapshot k8s object has bad vgname
Given a Vgs Controller
And I Call Create 2 Volumes "vg-int10" "8"
And I Force Bad VG Error "-1"
When I Call Test Create VG
Then The Error Message Should Contain "CreateVolumeGroupSnapshotRequest needs Name to be set"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot response process hit error during create VolumeSnapshotContent
Given a Vgs Controller
And I Call Create 2 Volumes "vg-vc" "8"
And I Force Create VC Error "response-create-error-vsc"
When I Call Test Create VG
Then The Error Message Should Contain "unable to create VolsnapContent"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot response process hit error during update vg
Given a Vgs Controller
And I Call Create 2 Volumes "vg-vc1" "8"
And I Force Update VG Error "response-update-error-vg"
When I Call Test Create VG
Then The Error Message Should Contain "unable to update VG"
And I Call Clean up Volumes On Array

@vg
Scenario: Call Create VolumesGroupSnapshot response process hit error during update status for VolumeSnapshotContent
Given a Vgs Controller
And I Call Create 2 Volumes "vg-vc2" "8"
And I Force Update VC Error "response-update-error-vc"
When I Call Test Create VG
Then The Error Message Should Contain "unable to update VolsnapContent"
And I Call Clean up Volumes On Array


@vp
Scenario: Call Create VolumesGroupSnapshot response process hit error during create VolumeSnapshot
Given a Vgs Controller
And I Call Create 2 Volumes "vg-vsc1" "8"
And I Force Create VS Error "response-create-error-vs"
When I Call Test Create VG
Then The Error Message Should Contain "unable to create Volsnap"
And I Call Clean up Volumes On Array
27 changes: 27 additions & 0 deletions test/integration-test/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module github.com/dell/dell-csi-volumegroup-snapshotter/test/integration-test

//replace github.com/dell/dell-csi-extensions/volumeGroupSnapshot => ../../dell-csi-extensions/volumeGroupSnapshot

replace github.com/dell/dell-csi-volumegroup-snapshotter => ../../

//replace github.com/dell/csi-vxflexos => ./csi-vxflexos

//replace github.com/dell/goscaleio => ./csi-vxflexos/goscaleio

go 1.16

require (
github.com/container-storage-interface/spec v1.4.0
github.com/cucumber/godog v0.11.0
github.com/dell/csi-vxflexos v1.5.0
github.com/dell/dell-csi-volumegroup-snapshotter v0.1.0
github.com/dell/gocsi v1.3.0
github.com/golang/protobuf v1.4.3
github.com/kubernetes-csi/external-snapshotter/client/v4 v4.1.0
go.uber.org/zap v1.16.0
google.golang.org/grpc v1.29.0
k8s.io/api v0.20.2
k8s.io/apimachinery v0.20.2
k8s.io/client-go v0.20.2
sigs.k8s.io/controller-runtime v0.8.3
)
Loading

0 comments on commit f8e6480

Please sign in to comment.