mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #74811 from gnufied/fix-attachable-csi-mock-driver
When checking for pod info version, make volume attachable
This commit is contained in:
commit
257205d656
@ -53,7 +53,7 @@ const (
|
|||||||
|
|
||||||
var _ = utils.SIGDescribe("CSI mock volume", func() {
|
var _ = utils.SIGDescribe("CSI mock volume", func() {
|
||||||
type testParameters struct {
|
type testParameters struct {
|
||||||
attachable bool
|
disableAttach bool
|
||||||
attachLimit int
|
attachLimit int
|
||||||
registerDriver bool
|
registerDriver bool
|
||||||
podInfoVersion *string
|
podInfoVersion *string
|
||||||
@ -87,7 +87,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
cs := f.ClientSet
|
cs := f.ClientSet
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
m.driver = drivers.InitMockCSIDriver(tp.registerDriver, tp.attachable, tp.podInfoVersion, tp.attachLimit)
|
m.driver = drivers.InitMockCSIDriver(tp.registerDriver, !tp.disableAttach, tp.podInfoVersion, tp.attachLimit)
|
||||||
config, testCleanup := m.driver.PrepareTest(f)
|
config, testCleanup := m.driver.PrepareTest(f)
|
||||||
m.testCleanups = append(m.testCleanups, testCleanup)
|
m.testCleanups = append(m.testCleanups, testCleanup)
|
||||||
m.config = config
|
m.config = config
|
||||||
@ -188,31 +188,29 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
// The CSIDriverRegistry feature gate is needed for this test in Kubernetes 1.12.
|
// The CSIDriverRegistry feature gate is needed for this test in Kubernetes 1.12.
|
||||||
Context("CSI attach test using mock driver [Feature:CSIDriverRegistry]", func() {
|
Context("CSI attach test using mock driver [Feature:CSIDriverRegistry]", func() {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
driverAttachable bool
|
disableAttach bool
|
||||||
deployDriverCRD bool
|
deployDriverCRD bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "should not require VolumeAttach for drivers without attachment",
|
name: "should not require VolumeAttach for drivers without attachment",
|
||||||
driverAttachable: false,
|
disableAttach: true,
|
||||||
deployDriverCRD: true,
|
deployDriverCRD: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "should require VolumeAttach for drivers with attachment",
|
name: "should require VolumeAttach for drivers with attachment",
|
||||||
driverAttachable: true,
|
deployDriverCRD: true,
|
||||||
deployDriverCRD: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "should preserve attachment policy when no CSIDriver present",
|
name: "should preserve attachment policy when no CSIDriver present",
|
||||||
driverAttachable: true,
|
deployDriverCRD: false,
|
||||||
deployDriverCRD: false,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for _, t := range tests {
|
for _, t := range tests {
|
||||||
test := t
|
test := t
|
||||||
It(t.name, func() {
|
It(t.name, func() {
|
||||||
var err error
|
var err error
|
||||||
init(testParameters{registerDriver: test.deployDriverCRD, attachable: test.driverAttachable})
|
init(testParameters{registerDriver: test.deployDriverCRD, disableAttach: test.disableAttach})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
_, claim, pod := createPod()
|
_, claim, pod := createPod()
|
||||||
@ -229,14 +227,14 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
_, err = m.cs.StorageV1beta1().VolumeAttachments().Get(attachmentName, metav1.GetOptions{})
|
_, err = m.cs.StorageV1beta1().VolumeAttachments().Get(attachmentName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.IsNotFound(err) {
|
if errors.IsNotFound(err) {
|
||||||
if test.driverAttachable {
|
if !test.disableAttach {
|
||||||
framework.ExpectNoError(err, "Expected VolumeAttachment but none was found")
|
framework.ExpectNoError(err, "Expected VolumeAttachment but none was found")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
framework.ExpectNoError(err, "Failed to find VolumeAttachment")
|
framework.ExpectNoError(err, "Failed to find VolumeAttachment")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !test.driverAttachable {
|
if test.disableAttach {
|
||||||
Expect(err).To(HaveOccurred(), "Unexpected VolumeAttachment found")
|
Expect(err).To(HaveOccurred(), "Unexpected VolumeAttachment found")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -318,7 +316,7 @@ var _ = utils.SIGDescribe("CSI mock volume", func() {
|
|||||||
// define volume limit to be 2 for this test
|
// define volume limit to be 2 for this test
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
init(testParameters{attachable: true, nodeSelectorKey: "node-attach-limit-csi", attachLimit: 2})
|
init(testParameters{nodeSelectorKey: "node-attach-limit-csi", attachLimit: 2})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
nodeName := m.config.ClientNodeName
|
nodeName := m.config.ClientNodeName
|
||||||
attachKey := v1.ResourceName(volumeutil.GetCSIAttachLimitKey(m.provisioner))
|
attachKey := v1.ResourceName(volumeutil.GetCSIAttachLimitKey(m.provisioner))
|
||||||
|
Loading…
Reference in New Issue
Block a user