]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/rook: list rgw services 34042/head
authorSage Weil <sage@redhat.com>
Fri, 20 Mar 2020 21:11:24 +0000 (17:11 -0400)
committerSage Weil <sage@redhat.com>
Fri, 20 Mar 2020 21:11:24 +0000 (17:11 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/rook/module.py
src/pybind/mgr/rook/rook_cluster.py

index d1fad01e02b34f8f81f6c56f69f81d298d87010b..cabc5080a790a08c7cc14cb1b2fcf9d083a6b7cd 100644 (file)
@@ -320,7 +320,36 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
                 last_refresh=now,
             )
 
-        # FIXME: CephObjectstores
+        # CephObjectstores
+        all_zones = self.rook_cluster.rook_api_get(
+            "cephobjectstores/")
+        self.log.debug('CephObjectstores %s' % all_zones)
+        for zone in all_zones.get('items', []):
+            rgw_realm = zone['metadata']['name']
+            rgw_zone = rgw_realm
+            svc = 'rgw.' + rgw_realm + '.' + rgw_zone
+            if svc in spec:
+                continue
+            active = zone['spec']['gateway']['instances'];
+            if 'securePort' in zone['spec']['gateway']:
+                ssl = True
+                port = zone['spec']['gateway']['securePort']
+            else:
+                ssl = False
+                port = zone['spec']['gateway']['port'] or 80
+            spec[svc] = orchestrator.ServiceDescription(
+                service_name=svc,
+                spec=RGWSpec(
+                    rgw_realm=rgw_realm,
+                    rgw_zone=rgw_zone,
+                    ssl=ssl,
+                    rgw_frontend_port=port,
+                    placement=PlacementSpec(count=active),
+                ),
+                size=active,
+                container_image_name=image_name,
+                last_refresh=now,
+            )
 
         for dd in self._list_daemons():
             if dd.service_name() not in spec:
index 2686c61e9df68159038c6b4211b6cb179f5958eb..f177c1668e8040b4470e870a819efa35aa4e9545 100644 (file)
@@ -335,6 +335,9 @@ class RookCluster(object):
                 'phase': d['status']['phase'],
                 'container_image_name': image_name,
                 'refreshed': refreshed,
+                # these may get set below...
+                'started': None,
+                'created': None,
             }
 
             # note: we want UTC but no tzinfo