Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
0eb69f6b
Unverified
Commit
0eb69f6b
authored
Feb 14, 2019
by
Kubernetes Prow Robot
Committed by
GitHub
Feb 14, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #74079 from jarrpa/csi-cluster-registrar
CSIDriverRegistrar e2e cleanups
parents
b6ca1689
a33acd2b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
21 deletions
+41
-21
csi_volumes.go
test/e2e/storage/csi_volumes.go
+41
-21
No files found.
test/e2e/storage/csi_volumes.go
View file @
0eb69f6b
...
@@ -199,28 +199,29 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -199,28 +199,29 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Context
(
"CSI attach test using mock driver [Feature:CSIDriverRegistry]"
,
func
()
{
Context
(
"CSI attach test using mock driver [Feature:CSIDriverRegistry]"
,
func
()
{
var
(
var
(
err
error
driver
testsuites
.
TestDriver
driver
testsuites
.
TestDriver
)
)
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
driverAttachable
bool
driverAttachable
bool
d
riverExists
bool
d
eployDriverCRD
bool
}{
}{
{
{
name
:
"should not require VolumeAttach for drivers without attachment"
,
name
:
"should not require VolumeAttach for drivers without attachment"
,
driverAttachable
:
false
,
driverAttachable
:
false
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
},
},
{
{
name
:
"should require VolumeAttach for drivers with attachment"
,
name
:
"should require VolumeAttach for drivers with attachment"
,
driverAttachable
:
true
,
driverAttachable
:
true
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
},
},
{
{
name
:
"should preserve attachment policy when no CSIDriver present"
,
name
:
"should preserve attachment policy when no CSIDriver present"
,
driverAttachable
:
true
,
driverAttachable
:
true
,
d
riverExists
:
false
,
d
eployDriverCRD
:
false
,
},
},
}
}
...
@@ -233,12 +234,14 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -233,12 +234,14 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Prefix
:
"csi-attach"
,
Prefix
:
"csi-attach"
,
}
}
driver
=
drivers
.
InitMockCSIDriver
(
config
,
test
.
d
riverExists
,
test
.
driverAttachable
,
nil
)
driver
=
drivers
.
InitMockCSIDriver
(
config
,
test
.
d
eployDriverCRD
,
test
.
driverAttachable
,
nil
)
driver
.
CreateDriver
()
driver
.
CreateDriver
()
defer
driver
.
CleanupDriver
()
if
test
.
driverExists
{
if
test
.
deployDriverCRD
{
err
=
waitForCSIDriver
(
csics
,
driver
)
framework
.
ExpectNoError
(
err
,
"Failed to get CSIDriver: %v"
,
err
)
defer
destroyCSIDriver
(
csics
,
driver
)
defer
destroyCSIDriver
(
csics
,
driver
)
defer
driver
.
CleanupDriver
()
}
}
By
(
"Creating pod"
)
By
(
"Creating pod"
)
...
@@ -273,7 +276,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -273,7 +276,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
return
return
}
}
err
:
=
framework
.
WaitForPodNameRunningInNamespace
(
cs
,
pod
.
Name
,
pod
.
Namespace
)
err
=
framework
.
WaitForPodNameRunningInNamespace
(
cs
,
pod
.
Name
,
pod
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Failed to start pod: %v"
,
err
)
framework
.
ExpectNoError
(
err
,
"Failed to start pod: %v"
,
err
)
By
(
"Checking if VolumeAttachment was created for the pod"
)
By
(
"Checking if VolumeAttachment was created for the pod"
)
...
@@ -299,6 +302,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -299,6 +302,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Context
(
"CSI workload information using mock driver [Feature:CSIDriverRegistry]"
,
func
()
{
Context
(
"CSI workload information using mock driver [Feature:CSIDriverRegistry]"
,
func
()
{
var
(
var
(
err
error
driver
testsuites
.
TestDriver
driver
testsuites
.
TestDriver
podInfoV1
=
"v1"
podInfoV1
=
"v1"
podInfoUnknown
=
"unknown"
podInfoUnknown
=
"unknown"
...
@@ -308,37 +312,37 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -308,37 +312,37 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
tests
:=
[]
struct
{
tests
:=
[]
struct
{
name
string
name
string
podInfoOnMountVersion
*
string
podInfoOnMountVersion
*
string
d
riverExists
bool
d
eployDriverCRD
bool
expectPodInfo
bool
expectPodInfo
bool
}{
}{
{
{
name
:
"should not be passed when podInfoOnMountVersion=nil"
,
name
:
"should not be passed when podInfoOnMountVersion=nil"
,
podInfoOnMountVersion
:
nil
,
podInfoOnMountVersion
:
nil
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
expectPodInfo
:
false
,
expectPodInfo
:
false
,
},
},
{
{
name
:
"should be passed when podInfoOnMountVersion=v1"
,
name
:
"should be passed when podInfoOnMountVersion=v1"
,
podInfoOnMountVersion
:
&
podInfoV1
,
podInfoOnMountVersion
:
&
podInfoV1
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
expectPodInfo
:
true
,
expectPodInfo
:
true
,
},
},
{
{
name
:
"should not be passed when podInfoOnMountVersion=<empty string>"
,
name
:
"should not be passed when podInfoOnMountVersion=<empty string>"
,
podInfoOnMountVersion
:
&
podInfoEmpty
,
podInfoOnMountVersion
:
&
podInfoEmpty
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
expectPodInfo
:
false
,
expectPodInfo
:
false
,
},
},
{
{
name
:
"should not be passed when podInfoOnMountVersion=<unknown string>"
,
name
:
"should not be passed when podInfoOnMountVersion=<unknown string>"
,
podInfoOnMountVersion
:
&
podInfoUnknown
,
podInfoOnMountVersion
:
&
podInfoUnknown
,
d
riverExists
:
true
,
d
eployDriverCRD
:
true
,
expectPodInfo
:
false
,
expectPodInfo
:
false
,
},
},
{
{
name
:
"should not be passed when CSIDriver does not exist"
,
name
:
"should not be passed when CSIDriver does not exist"
,
d
riverExists
:
false
,
d
eployDriverCRD
:
false
,
expectPodInfo
:
false
,
expectPodInfo
:
false
,
},
},
}
}
for
_
,
t
:=
range
tests
{
for
_
,
t
:=
range
tests
{
...
@@ -350,12 +354,14 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -350,12 +354,14 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
Prefix
:
"csi-workload"
,
Prefix
:
"csi-workload"
,
}
}
driver
=
drivers
.
InitMockCSIDriver
(
config
,
test
.
d
riverExists
,
true
,
test
.
podInfoOnMountVersion
)
driver
=
drivers
.
InitMockCSIDriver
(
config
,
test
.
d
eployDriverCRD
,
true
,
test
.
podInfoOnMountVersion
)
driver
.
CreateDriver
()
driver
.
CreateDriver
()
defer
driver
.
CleanupDriver
()
if
test
.
driverExists
{
if
test
.
deployDriverCRD
{
err
=
waitForCSIDriver
(
csics
,
driver
)
framework
.
ExpectNoError
(
err
,
"Failed to get CSIDriver: %v"
,
err
)
defer
destroyCSIDriver
(
csics
,
driver
)
defer
destroyCSIDriver
(
csics
,
driver
)
defer
driver
.
CleanupDriver
()
}
}
By
(
"Creating pod"
)
By
(
"Creating pod"
)
...
@@ -393,7 +399,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
...
@@ -393,7 +399,7 @@ var _ = utils.SIGDescribe("CSI Volumes", func() {
if
pod
==
nil
{
if
pod
==
nil
{
return
return
}
}
err
:
=
framework
.
WaitForPodNameRunningInNamespace
(
cs
,
pod
.
Name
,
pod
.
Namespace
)
err
=
framework
.
WaitForPodNameRunningInNamespace
(
cs
,
pod
.
Name
,
pod
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Failed to start pod: %v"
,
err
)
framework
.
ExpectNoError
(
err
,
"Failed to start pod: %v"
,
err
)
By
(
"Checking CSI driver logs"
)
By
(
"Checking CSI driver logs"
)
// The driver is deployed as a statefulset with stable pod names
// The driver is deployed as a statefulset with stable pod names
...
@@ -459,6 +465,20 @@ func testTopologyNegative(cs clientset.Interface, suffix, namespace string, dela
...
@@ -459,6 +465,20 @@ func testTopologyNegative(cs clientset.Interface, suffix, namespace string, dela
}
}
}
}
func
waitForCSIDriver
(
csics
csiclient
.
Interface
,
driver
testsuites
.
TestDriver
)
error
{
timeout
:=
2
*
time
.
Minute
driverName
:=
testsuites
.
GetUniqueDriverName
(
driver
)
framework
.
Logf
(
"waiting up to %v for CSIDriver %q"
,
timeout
,
driverName
)
for
start
:=
time
.
Now
();
time
.
Since
(
start
)
<
timeout
;
time
.
Sleep
(
framework
.
Poll
)
{
_
,
err
:=
csics
.
CsiV1alpha1
()
.
CSIDrivers
()
.
Get
(
driverName
,
metav1
.
GetOptions
{})
if
!
errors
.
IsNotFound
(
err
)
{
return
err
}
}
return
fmt
.
Errorf
(
"gave up after waiting %v for CSIDriver %q."
,
timeout
,
driverName
)
}
func
destroyCSIDriver
(
csics
csiclient
.
Interface
,
driver
testsuites
.
TestDriver
)
{
func
destroyCSIDriver
(
csics
csiclient
.
Interface
,
driver
testsuites
.
TestDriver
)
{
driverName
:=
testsuites
.
GetUniqueDriverName
(
driver
)
driverName
:=
testsuites
.
GetUniqueDriverName
(
driver
)
driverGet
,
err
:=
csics
.
CsiV1alpha1
()
.
CSIDrivers
()
.
Get
(
driverName
,
metav1
.
GetOptions
{})
driverGet
,
err
:=
csics
.
CsiV1alpha1
()
.
CSIDrivers
()
.
Get
(
driverName
,
metav1
.
GetOptions
{})
...
@@ -495,7 +515,7 @@ func deleteVolume(cs clientset.Interface, claim *v1.PersistentVolumeClaim) {
...
@@ -495,7 +515,7 @@ func deleteVolume(cs clientset.Interface, claim *v1.PersistentVolumeClaim) {
claim
,
err
:=
cs
.
CoreV1
()
.
PersistentVolumeClaims
(
claim
.
Namespace
)
.
Get
(
claim
.
Name
,
metav1
.
GetOptions
{})
claim
,
err
:=
cs
.
CoreV1
()
.
PersistentVolumeClaims
(
claim
.
Namespace
)
.
Get
(
claim
.
Name
,
metav1
.
GetOptions
{})
if
err
==
nil
{
if
err
==
nil
{
cs
.
CoreV1
()
.
PersistentVolumeClaims
(
claim
.
Namespace
)
.
Delete
(
claim
.
Name
,
nil
)
cs
.
CoreV1
()
.
PersistentVolumeClaims
(
claim
.
Namespace
)
.
Delete
(
claim
.
Name
,
nil
)
framework
.
WaitForPersistentVolumeDeleted
(
cs
,
claim
.
Spec
.
VolumeName
,
2
*
time
.
Second
,
2
*
time
.
Minute
)
framework
.
WaitForPersistentVolumeDeleted
(
cs
,
claim
.
Spec
.
VolumeName
,
framework
.
Poll
,
2
*
time
.
Minute
)
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment