]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: move rbd pools to a sub-menu item
authorJason Dillaman <dillaman@redhat.com>
Mon, 10 Jul 2017 19:37:00 +0000 (15:37 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 18 Jul 2017 14:47:49 +0000 (10:47 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/pybind/mgr/dashboard/base.html
src/pybind/mgr/dashboard/module.py
src/pybind/mgr/dashboard/rbd.html [deleted file]
src/pybind/mgr/dashboard/rbd_pool.html [new file with mode: 0644]

index 27a74241aa46be71436d89ca51e4fe6b6970654a..237c0c1ea0e81004921ff69abc92071394cf8cad 100644 (file)
           </ul>
         </li>
         <li class="treeview{%if path_info.startswith('/rbd')%} active{%endif%}">
-          <a href="#"><i class="fa fa-hdd-o"></i> <span>Block</span>
+          <a href="#">
+            <i class="fa fa-hdd-o"></i> <span>Block</span>
             <span class="pull-right-container">
               <i class="fa fa-angle-left pull-right"></i>
             </span>
           </a>
           <ul class="treeview-menu menu-open">
-            <li rv-each-pool="rbd_pools">
-                <a rv-href="pool.url">{pool.name}</a>
+            <li class="treeview{%if path_info.startswith('/rbd_pool')%} active menu-open{%endif%}">
+              <a href="#">
+                <i class="fa fa-dot-circle-o"></i> <span>Pools</span>
+                <span class="pull-right-container">
+                  <i class="fa fa-angle-left pull-right"></i>
+                </span>
+              </a>
+              <ul class="treeview-menu">
+                <li rv-each-pool="rbd_pools">
+                  <a rv-href="pool.url"><i class="fa fa-circle-o"></i> {pool.name}</a>
+                </li>
+              </ul>
             </li>
             <li class="ceph-none-found" rv-hide="rbd_pools | length">None found</li>
           </ul>
index 85412a32cf0b6dc44db861da0a644efbec15b4d3..0bc2e1f7e610df4c532fd09766f71a613a9f55af 100644 (file)
@@ -433,7 +433,7 @@ class Module(MgrModule):
                 rbd_pools = sorted([
                     {
                         "name": name,
-                        "url": "/rbd/{0}/".format(name)
+                        "url": "/rbd_pool/{0}/".format(name)
                     }
                     for name in data
                 ], key=lambda k: k['name'])
@@ -545,7 +545,7 @@ class Module(MgrModule):
             def clients_data(self, fs_id):
                 return self._clients(int(fs_id))
 
-            def _rbd(self, pool_name):
+            def _rbd_pool(self, pool_name):
                 rbd_ls = global_instance().rbd_ls.get(pool_name, None)
                 if rbd_ls is None:
                     rbd_ls = RbdLs(global_instance(), pool_name)
@@ -566,12 +566,12 @@ class Module(MgrModule):
                 return value
 
             @cherrypy.expose
-            def rbd(self, pool_name):
-                template = env.get_template("rbd.html")
+            def rbd_pool(self, pool_name):
+                template = env.get_template("rbd_pool.html")
 
                 toplevel_data = self._toplevel_data()
 
-                images = self._rbd(pool_name)
+                images = self._rbd_pool(pool_name)
                 content_data = {
                     "images": images,
                     "pool_name": pool_name
@@ -586,8 +586,8 @@ class Module(MgrModule):
 
             @cherrypy.expose
             @cherrypy.tools.json_out()
-            def rbd_data(self, pool_name):
-                return self._rbd(pool_name)
+            def rbd_pool_data(self, pool_name):
+                return self._rbd_pool(pool_name)
 
             @cherrypy.expose
             def health(self):
diff --git a/src/pybind/mgr/dashboard/rbd.html b/src/pybind/mgr/dashboard/rbd.html
deleted file mode 100644 (file)
index ed4b963..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
-<script>
-        $(document).ready(function(){
-            // Pre-populated initial data at page load
-            var content_data = {{ content_data }};
-
-            var refresh = function() {
-                $.get("/rbd_data/" + content_data.pool_name  + "/", function(data) {
-                    content_data.images = data;
-                    setTimeout(refresh, 5000);
-                });
-            };
-
-            console.log(content_data);
-
-            rivets.bind($("div#content"), content_data);
-            setTimeout(refresh, 5000);
-        });
-</script>
-
-
-<section class="content-header">
-    <h1>
-        RBD
-    </h1>
-</section>
-
-<section class="content">
-    <div class="box">
-        <div class="box-header">
-            <h3 class="box-title">Images</h3>
-        </div>
-        <div class="box-body">
-            <table class="table table-bordered">
-                <thead>
-                <tr>
-                    <th>Name</th>
-                    <th>Size</th>
-                    <th>Objects</th>
-                    <th>Object size</th>
-                    <th>Parent</th>
-                </tr>
-                </thead>
-                <tbody>
-                <tr rv-each-image="images">
-                    <td>{image.name}</td>
-                    <td>{image.size | dimless_binary}</td>
-                    <td>{image.num_objs | dimless}</td>
-                    <td>{image.obj_size | dimless_binary}</td>
-                    <td>{image.parent}</td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-
-
-</section>
-<!-- /.content -->
-
-{% endblock %}
diff --git a/src/pybind/mgr/dashboard/rbd_pool.html b/src/pybind/mgr/dashboard/rbd_pool.html
new file mode 100644 (file)
index 0000000..0838c6b
--- /dev/null
@@ -0,0 +1,64 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+<script>
+        $(document).ready(function(){
+            // Pre-populated initial data at page load
+            var content_data = {{ content_data }};
+
+            var refresh = function() {
+                $.get("/rbd_pool_data/" + content_data.pool_name  + "/", function(data) {
+                    content_data.images = data;
+                    setTimeout(refresh, 5000);
+                });
+            };
+
+            console.log(content_data);
+
+            rivets.bind($("div#content"), content_data);
+            setTimeout(refresh, 5000);
+        });
+</script>
+
+
+<section class="content-header">
+    <h1>
+        Block Pool { pool_name }
+    </h1>
+</section>
+
+<section class="content">
+    <div class="box">
+        <div class="box-header">
+            <h3 class="box-title">Images</h3>
+        </div>
+        <div class="box-body">
+            <table class="table table-bordered">
+                <thead>
+                <tr>
+                    <th>Name</th>
+                    <th>Size</th>
+                    <th>Objects</th>
+                    <th>Object size</th>
+                    <th>Parent</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr rv-each-image="images">
+                    <td>{image.name}</td>
+                    <td>{image.size | dimless_binary}</td>
+                    <td>{image.num_objs | dimless}</td>
+                    <td>{image.obj_size | dimless_binary}</td>
+                    <td>{image.parent}</td>
+                </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+
+
+</section>
+<!-- /.content -->
+
+{% endblock %}