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  }