github.com/openebs/node-disk-manager@v1.9.1-0.20230225014141-4531f06ffa1e/integration_tests/k8s/k8sndmresources.go (about) 1 /* 2 Copyright 2019 The OpenEBS Authors 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package k8s 18 19 // CreateOpenEBSNamespace creates the openebs namespace required for NDM installation 20 func (c K8sClient) CreateOpenEBSNamespace() error { 21 ns, err := GetNamespace() 22 if err != nil { 23 return err 24 } 25 return c.CreateNamespace(ns) 26 } 27 28 // CreateNDMConfigMap creates the ConfigMap required for NDM 29 func (c K8sClient) CreateNDMConfigMap() error { 30 configmap, err := GetConfigMap() 31 if err != nil { 32 return err 33 } 34 return c.CreateConfigMap(configmap) 35 } 36 37 // CreateNDMServiceAccount creates the ServiceAccount required for NDM 38 func (c K8sClient) CreateNDMServiceAccount() error { 39 serviceaccount, err := GetServiceAccount() 40 if err != nil { 41 return err 42 } 43 return c.CreateServiceAccount(serviceaccount) 44 } 45 46 // CreateNDMClusterRole creates the ClusterRole required for NDM 47 func (c K8sClient) CreateNDMClusterRole() error { 48 clusterrole, err := GetClusterRole() 49 if err != nil { 50 return err 51 } 52 return c.CreateClusterRole(clusterrole) 53 } 54 55 // CreateNDMClusterRoleBinding creates the role binding required by NDM 56 func (c K8sClient) CreateNDMClusterRoleBinding() error { 57 clusterrolebinding, err := GetClusterRoleBinding() 58 if err != nil { 59 return err 60 } 61 return c.CreateClusterRoleBinding(clusterrolebinding) 62 } 63 64 // CreateNDMCRDs creates the Disk, BlockDevice and BlockDeviceClaim CRDs 65 func (c K8sClient) CreateNDMCRDs() error { 66 err := c.CreateNDMBlockDeviceCRD() 67 if err != nil { 68 return err 69 } 70 return c.CreateNDMBlockDeviceClaimCRD() 71 } 72 73 // CreateNDMBlockDeviceCRD creates the CustomResourceDefinition for a Device type 74 func (c K8sClient) CreateNDMBlockDeviceCRD() error { 75 devicecrd, err := GetCustomResourceDefinition(BlockDeviceCRDYAML) 76 if err != nil { 77 return err 78 } 79 return c.CreateCustomResourceDefinition(devicecrd) 80 } 81 82 // CreateNDMBlockDeviceClaimCRD creates the CustomResourceDefinition for a BlockDeviceClaim type 83 func (c K8sClient) CreateNDMBlockDeviceClaimCRD() error { 84 deviceClaimcrd, err := GetCustomResourceDefinition(BlockDeviceClaimCRDYAML) 85 if err != nil { 86 return err 87 } 88 return c.CreateCustomResourceDefinition(deviceClaimcrd) 89 } 90 91 // CreateNDMDaemonSet creates the NDM Daemonset 92 func (c K8sClient) CreateNDMDaemonSet() error { 93 daemonset, err := GetDaemonSet() 94 if err != nil { 95 return err 96 } 97 return c.CreateDaemonSet(daemonset) 98 } 99 100 // DeleteOpenEBSNamespace deletes the openebs namespace in which NDM was installed 101 func (c K8sClient) DeleteOpenEBSNamespace() error { 102 ns, err := GetNamespace() 103 if err != nil { 104 return err 105 } 106 return c.DeleteNamespace(ns) 107 } 108 109 // DeleteNDMConfigMap deletes the ConfigMap required for NDM 110 func (c K8sClient) DeleteNDMConfigMap() error { 111 configmap, err := GetConfigMap() 112 if err != nil { 113 return err 114 } 115 return c.DeleteConfigMap(configmap) 116 } 117 118 // DeleteNDMServiceAccount deletes the ServiceAccount required for NDM 119 func (c K8sClient) DeleteNDMServiceAccount() error { 120 serviceaccount, err := GetServiceAccount() 121 if err != nil { 122 return err 123 } 124 return c.DeleteServiceAccount(serviceaccount) 125 } 126 127 // DeleteNDMClusterRole deletes the ClusterRole required for NDM 128 func (c K8sClient) DeleteNDMClusterRole() error { 129 clusterrole, err := GetClusterRole() 130 if err != nil { 131 return err 132 } 133 return c.DeleteClusterRole(clusterrole) 134 } 135 136 // DeleteNDMClusterRoleBinding deletes the role binding required by NDM 137 func (c K8sClient) DeleteNDMClusterRoleBinding() error { 138 clusterrolebinding, err := GetClusterRoleBinding() 139 if err != nil { 140 return err 141 } 142 return c.DeleteClusterRoleBinding(clusterrolebinding) 143 } 144 145 // DeleteNDMCRDs deletes the disk, blockdevice and blockdevice claim CRDs 146 func (c K8sClient) DeleteNDMCRDs() error { 147 err := c.DeleteNDMBlockDeviceCRD() 148 if err != nil { 149 return err 150 } 151 return c.DeleteNDMBlockDeviceClaimCRD() 152 } 153 154 // DeleteNDMBlockDeviceCRD deletes the CustomResourceDefinition for a Device type 155 func (c K8sClient) DeleteNDMBlockDeviceCRD() error { 156 devicecrd, err := GetCustomResourceDefinition(BlockDeviceCRDYAML) 157 if err != nil { 158 return err 159 } 160 return c.DeleteCustomResourceDefinition(devicecrd) 161 } 162 163 // DeleteNDMBlockDeviceClaimCRD deletes the CustomResourceDefinition for a BlockDeviceClaim type 164 func (c K8sClient) DeleteNDMBlockDeviceClaimCRD() error { 165 deviceClaimcrd, err := GetCustomResourceDefinition(BlockDeviceClaimCRDYAML) 166 if err != nil { 167 return err 168 } 169 return c.DeleteCustomResourceDefinition(deviceClaimcrd) 170 } 171 172 // DeleteNDMDaemonSet deletes the NDM Daemonset 173 func (c K8sClient) DeleteNDMDaemonSet() error { 174 daemonset, err := GetDaemonSet() 175 if err != nil { 176 return err 177 } 178 return c.DeleteDaemonSet(daemonset) 179 } 180 181 // CreateNDMOperatorDeployment creates the NDM Operator 182 func (c K8sClient) CreateNDMOperatorDeployment() error { 183 deployment, err := GetDeployment() 184 if err != nil { 185 return err 186 } 187 return c.CreateDeployment(deployment) 188 } 189 190 // DeleteNDMOperatorDeployment deletes the NDM operator 191 func (c K8sClient) DeleteNDMOperatorDeployment() error { 192 deployment, err := GetDeployment() 193 if err != nil { 194 return err 195 } 196 return c.DeleteDeployment(deployment) 197 }