]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/rook: Replace hardcoded namespace
authorJuan Miguel Olmo Martínez <jolmomar@redhat.com>
Wed, 14 Dec 2022 16:59:40 +0000 (17:59 +0100)
committerJuan Miguel Olmo Martínez <jolmomar@redhat.com>
Wed, 14 Dec 2022 16:59:40 +0000 (17:59 +0100)
The namespace used by a rook cluster can be different form the default (rook-ceph) that was hardcoded in several places in the rook_cluster module.

fixes: https://tracker.ceph.com/issues/58210

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
src/pybind/mgr/rook/rook_cluster.py

index ba5d758fa640e3482145e5ddcecc9a948f897dd4..bc0c51ba1386ad2087a52d3b30cbe7cdc758837c 100644 (file)
@@ -509,9 +509,14 @@ class DefaultRemover():
         self.rook_env = rook_env
 
         self.inventory = inventory
-        self.osd_pods: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_pod, namespace='rook-ceph', label_selector='app=rook-ceph-osd')
-        self.jobs: KubernetesResource = KubernetesResource(self.batchV1_api.list_namespaced_job, namespace='rook-ceph', label_selector='app=rook-ceph-osd-prepare')
-        self.pvcs: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_persistent_volume_claim, namespace='rook-ceph')
+        self.osd_pods: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_pod,
+                                                               namespace=self.rook_env.namespace,
+                                                               label_selector='app=rook-ceph-osd')
+        self.jobs: KubernetesResource = KubernetesResource(self.batchV1_api.list_namespaced_job,
+                                                           namespace=self.rook_env.namespace,
+                                                           label_selector='app=rook-ceph-osd-prepare')
+        self.pvcs: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_persistent_volume_claim,
+                                                           namespace=self.rook_env.namespace)
 
 
     def remove_device_sets(self) -> str:
@@ -560,11 +565,9 @@ class DefaultRemover():
 
     def scale_deployments(self) -> None:
         for osd_id in self.osd_ids:
-            self.appsV1_api.patch_namespaced_deployment_scale(namespace='rook-ceph', name='rook-ceph-osd-{}'.format(osd_id), body=client.V1Scale(
-                spec=client.V1ScaleSpec(
-                    replicas=0
-                )
-            ))
+            self.appsV1_api.patch_namespaced_deployment_scale(namespace=self.rook_env.namespace,
+                                                              name='rook-ceph-osd-{}'.format(osd_id),
+                                                              body=client.V1Scale(spec=client.V1ScaleSpec(replicas=0)))
 
     def set_osds_out(self) -> None:
         out_flag_args = {
@@ -577,13 +580,18 @@ class DefaultRemover():
             
     def delete_deployments(self) -> None:
         for osd_id in self.osd_ids:
-            self.appsV1_api.delete_namespaced_deployment(namespace='rook-ceph', name='rook-ceph-osd-{}'.format(osd_id), propagation_policy='Foreground')
+            self.appsV1_api.delete_namespaced_deployment(namespace=self.rook_env.namespace,
+                                                         name='rook-ceph-osd-{}'.format(osd_id),
+                                                         propagation_policy='Foreground')
 
     def clean_up_prepare_jobs_and_pvc(self) -> None:
         for job in self.jobs.items:
             if job.metadata.labels['ceph.rook.io/pvc'] in self.pvc_to_remove:
-                self.batchV1_api.delete_namespaced_job(name=job.metadata.name, namespace='rook-ceph', propagation_policy='Foreground')
-                self.coreV1_api.delete_namespaced_persistent_volume_claim(name=job.metadata.labels['ceph.rook.io/pvc'], namespace='rook-ceph', propagation_policy='Foreground')
+                self.batchV1_api.delete_namespaced_job(name=job.metadata.name, namespace=self.rook_env.namespace,
+                                                       propagation_policy='Foreground')
+                self.coreV1_api.delete_namespaced_persistent_volume_claim(name=job.metadata.labels['ceph.rook.io/pvc'],
+                                                                          namespace=self.rook_env.namespace,
+                                                                          propagation_policy='Foreground')
 
     def purge_osds(self) -> None:
         for id in self.osd_ids:
@@ -665,9 +673,9 @@ class RookCluster(object):
         self.storage_classes : KubernetesResource = KubernetesResource(self.storageV1_api.list_storage_class)
 
         self.rook_pods: KubernetesResource[client.V1Pod] = KubernetesResource(self.coreV1_api.list_namespaced_pod,
-                                            namespace=self.rook_env.namespace,
-                                            label_selector="rook_cluster={0}".format(
-                                                self.rook_env.namespace))
+                                                                              namespace=self.rook_env.namespace,
+                                                                              label_selector="rook_cluster={0}".format(
+                                                                                  self.rook_env.namespace))
         self.nodes: KubernetesResource[client.V1Node] = KubernetesResource(self.coreV1_api.list_node)
         
     def rook_url(self, path: str) -> str:
@@ -720,7 +728,9 @@ class RookCluster(object):
         return self.fetcher.devices()
         
     def get_osds(self) -> List:
-        osd_pods: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_pod, namespace='rook-ceph', label_selector='app=rook-ceph-osd')
+        osd_pods: KubernetesResource = KubernetesResource(self.coreV1_api.list_namespaced_pod,
+                                                          namespace=self.rook_env.namespace,
+                                                          label_selector='app=rook-ceph-osd')
         return list(osd_pods.items)
         
     def get_nfs_conf_url(self, nfs_cluster: str, instance: str) -> Optional[str]:
@@ -1070,12 +1080,18 @@ class RookCluster(object):
                 _update_nfs, _create_nfs)
 
     def rm_service(self, rooktype: str, service_id: str) -> str:
-        self.customObjects_api.delete_namespaced_custom_object(group="ceph.rook.io", version="v1", namespace="rook-ceph", plural=rooktype, name=service_id)
+        self.customObjects_api.delete_namespaced_custom_object(group="ceph.rook.io", version="v1",
+                                                               namespace=self.rook_env.namespace,
+                                                               plural=rooktype, name=service_id)
         objpath = "{0}/{1}".format(rooktype, service_id)
         return f'Removed {objpath}'
 
     def get_resource(self, resource_type: str) -> Iterable:
-        custom_objects: KubernetesCustomResource = KubernetesCustomResource(self.customObjects_api.list_namespaced_custom_object, group="ceph.rook.io", version="v1", namespace="rook-ceph", plural=resource_type)
+        custom_objects: KubernetesCustomResource = KubernetesCustomResource(self.customObjects_api.list_namespaced_custom_object,
+                                                                            group="ceph.rook.io",
+                                                                            version="v1",
+                                                                            namespace=self.rook_env.namespace,
+                                                                            plural=resource_type)
         return custom_objects.items
 
     def can_create_osd(self) -> bool:
@@ -1154,7 +1170,7 @@ class RookCluster(object):
             api_version="batch/v1",
             metadata=client.V1ObjectMeta(
                 name="rook-ceph-device-zap",
-                namespace="rook-ceph"
+                namespace=self.rook_env.namespace
             ),
             spec=client.V1JobSpec(
                 template=client.V1PodTemplateSpec(
@@ -1229,7 +1245,7 @@ class RookCluster(object):
                 )
             )
         )
-        self.batchV1_api.create_namespaced_job('rook-ceph', body)
+        self.batchV1_api.create_namespaced_job(self.rook_env.namespace, body)
 
     def rbd_mirror(self, spec: ServiceSpec) -> None:
         service_id = spec.service_id or "default-rbd-mirror"