-
Notifications
You must be signed in to change notification settings - Fork 0
/
storageclass.go
112 lines (95 loc) · 3.22 KB
/
storageclass.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
Copyright @ 2021 fushaosong <fushaosong@beyondlet.com>.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package e2e
import (
//. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var sc1 = `
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-sc1
provisioner: carina.storage.io
parameters:
# file system
csi.storage.k8s.io/fstype: xfs
# disk group
carina.storage.io/disk-type: hdd
reclaimPolicy: Delete
allowVolumeExpansion: true
# WaitForFirstConsumer表示被容器绑定调度后再创建pv
volumeBindingMode: WaitForFirstConsumer
mountOptions:
- rw
`
var sc2 = `
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-sc2
provisioner: carina.storage.io
parameters:
# file system
csi.storage.k8s.io/fstype: xfs
reclaimPolicy: Delete
allowVolumeExpansion: true
# WaitForFirstConsumer表示被容器绑定调度后再创建pv
volumeBindingMode: WaitForFirstConsumer
mountOptions:
`
var sc3 = `
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-sc3
provisioner: carina.storage.io
parameters:
reclaimPolicy: Delete
allowVolumeExpansion: true
# WaitForFirstConsumer表示被容器绑定调度后再创建pv
volumeBindingMode: WaitForFirstConsumer
mountOptions:
`
var sc4 = `
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-sc4
provisioner: carina.storage.io
parameters:
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate
mountOptions:
`
func createStorageClass() {
stdout, stderr, err := kubectlWithInput([]byte(sc1), "apply", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc2), "apply", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc3), "apply", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc4), "apply", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
}
func deleteStorageClass() {
stdout, stderr, err := kubectlWithInput([]byte(sc1), "delete", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc2), "delete", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc3), "delete", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
stdout, stderr, err = kubectlWithInput([]byte(sc4), "delete", "-f", "-")
Expect(err).ShouldNot(HaveOccurred(), "stdout=%s, stderr=%s", stdout, stderr)
}