Adding Persistent Volume for Alarm Manager. 35/12135/4
authornaman.gupta <naman.gupta@samsung.com>
Wed, 29 Nov 2023 08:02:30 +0000 (13:32 +0530)
committerThoralf Czichy <thoralf.czichy@nokia.com>
Thu, 7 Dec 2023 09:25:21 +0000 (09:25 +0000)
Adding Persistent Volume & PV Claim for Alarm Manager.

Change-Id: I3d65782c3cd8f9310952e8eec929cbf030f73d51
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
depRicKubernetesOperator/internal/controller/create_controller.go
depRicKubernetesOperator/internal/controller/getPersistentVolume.go [new file with mode: 0644]
depRicKubernetesOperator/internal/controller/getPersistentVolumeClaim.go [new file with mode: 0644]

index 8c94658..de4cdb6 100644 (file)
@@ -47,5 +47,52 @@ func (r *RicPlatformReconciler) CreateAll() {
                        fmt.Println("Erorr During Creating resource of GetIngress()| Error --> |", err)\r
                }\r
        }\r
+       for _, resource := range GetPersistentVolume() {\r
+               if resource.GetNamespace() == "" {\r
+                       resource.SetNamespace(namespaceProvided)\r
+               }\r
+               err = r.Create(context.TODO(), resource)\r
+               if err != nil {\r
+                       fmt.Println("Erorr During Creating resource of GetPersistentVolume()| Error --> |", err)\r
+               }\r
+       }\r
+       for _, resource := range GetRoleBinding() {\r
+               if resource.ObjectMeta.Namespace == "" {\r
+                       resource.ObjectMeta.Namespace = namespaceProvided\r
+               }\r
+               err = r.Create(context.TODO(), resource)\r
+               if err != nil {\r
+                       fmt.Println("Erorr During Creating resource of GetRoleBinding()| Error --> |", err)\r
+               }\r
+       }\r
+       for _, resource := range GetPersistentVolumeClaim() {\r
+               if resource.ObjectMeta.Namespace == "" {\r
+                       resource.ObjectMeta.Namespace = namespaceProvided\r
+               }\r
+               err = r.Create(context.TODO(), resource)\r
+               if err != nil {\r
+                       fmt.Println("Erorr During Creating resource of GetPersistentVolumeClaim()| Error --> |", err)\r
+               }\r
+       }\r
+\r
+       for _, resource := range GetServiceAccount() {\r
+               if resource.ObjectMeta.Namespace == "" {\r
+                       resource.ObjectMeta.Namespace = namespaceProvided\r
+               }\r
+               err = r.Create(context.TODO(), resource)\r
+               if err != nil {\r
+                       fmt.Println("Erorr During Creating resource of GetServiceAccount()| Error --> |", err)\r
+               }\r
+       }\r
+\r
+       for _, resource := range GetRole() {\r
+               if resource.ObjectMeta.Namespace == "" {\r
+                       resource.ObjectMeta.Namespace = namespaceProvided\r
+               }\r
+               err = r.Create(context.TODO(), resource)\r
+               if err != nil {\r
+                       fmt.Println("Erorr During Creating resource of GetRole()| Error --> |", err)\r
+               }\r
+       }\r
 \r
 }\r
diff --git a/depRicKubernetesOperator/internal/controller/getPersistentVolume.go b/depRicKubernetesOperator/internal/controller/getPersistentVolume.go
new file mode 100644 (file)
index 0000000..8fbb043
--- /dev/null
@@ -0,0 +1,34 @@
+package controller\r
+\r
+import "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"\r
+\r
+func GetPersistentVolume() []*unstructured.Unstructured {\r
+\r
+       persistentVolume1 := &unstructured.Unstructured{\r
+               Object: map[string]interface{}{\r
+                       "apiVersion": "v1",\r
+                       "kind":       "PersistentVolume",\r
+                       "metadata": map[string]interface{}{\r
+                               "labels": map[string]interface{}{\r
+                                       "type": "local",\r
+                               },\r
+                               "name":      "pv-ricplt-alarmmanager",\r
+                               "namespace": "ricplt",\r
+                       },\r
+                       "spec": map[string]interface{}{\r
+                               "accessModes": []interface{}{\r
+                                       "ReadWriteOnce",\r
+                               },\r
+                               "capacity": map[string]interface{}{\r
+                                       "storage": "100Mi",\r
+                               },\r
+                               "hostPath": map[string]interface{}{\r
+                                       "path": "/mnt/pv-ricplt-alarmmanager",\r
+                               },\r
+                               "storageClassName": "local-storage",\r
+                       },\r
+               },\r
+       }\r
+\r
+       return []*unstructured.Unstructured{persistentVolume1}\r
+}\r
diff --git a/depRicKubernetesOperator/internal/controller/getPersistentVolumeClaim.go b/depRicKubernetesOperator/internal/controller/getPersistentVolumeClaim.go
new file mode 100644 (file)
index 0000000..9bab433
--- /dev/null
@@ -0,0 +1,34 @@
+package controller\r
+\r
+import (\r
+       corev1 "k8s.io/api/core/v1"\r
+       "k8s.io/apimachinery/pkg/api/resource"\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+)\r
+\r
+func GetPersistentVolumeClaim() []*corev1.PersistentVolumeClaim {\r
+\r
+       persistentVolumeClaim1 := &corev1.PersistentVolumeClaim{\r
+               Spec: corev1.PersistentVolumeClaimSpec{\r
+                       AccessModes: []corev1.PersistentVolumeAccessMode{\r
+\r
+                               corev1.PersistentVolumeAccessMode("ReadWriteOnce"),\r
+                       },\r
+                       Resources: corev1.ResourceRequirements{\r
+                               Requests: corev1.ResourceList{\r
+                                       "storage": resource.MustParse("100Mi"),\r
+                               },\r
+                       },\r
+                       StorageClassName: stringPtr("local-storage"),\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       Kind:       "PersistentVolumeClaim",\r
+                       APIVersion: "v1",\r
+               },\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "pvc-ricplt-alarmmanager",\r
+                       Namespace: "ricplt",\r
+               },\r
+       }\r
+       return []*corev1.PersistentVolumeClaim{persistentVolumeClaim1}\r
+}\r