
=========================
ceph-mgr dashboard module
=========================

Dependencies
============

On Ubuntu Xenial:

::

    apt-get install python-cherrypy3

On Fedora:

::

    dnf install -y python-cherrypy

    
If you had already enabled the module, restart ceph-mgr after installing dependencies to reload the module.

Enabling
========

Enable the module with::

  ceph mgr module enable dashboard

You can see currently enabled modules with::

  ceph mgr module ls

If you use any other ceph-mgr modules, make sure they're in the list too.

An address where the dashboard will listen on needs to be configured as well, set this to ``::`` to listen on all
IPv4 and IPv6 addresses.

::

    ceph config-key set mgr/dashboard/server_addr ::

Restart the ceph-mgr daemon after modifying the setting to load the module.

Accessing
=========

Point your browser at port 7000 on the server where ceph-mgr is running.

FAQs
====

Q: Aargh there's no authentication!  Are you crazy?
A: At present this module only serves read-only status information, and it is disabled by default.  Administrators can make a decision
   at the point of enabling the module whether they want to limit access to the port, and/or put it behind an authenticating HTTP proxy
   such as Apache+digest auth.
   A motivated person could totally build in some authentication stuff though: that would probably only be worth the effort at the point
   that non-readonly features were added.

Q: Aargh there's no SSL!  Are you crazy?
A: See the authentication question.  You can always configure your own SSL gateway on top of this if you need it.

Q: Why CherryPy?
A: ceph-mgr is a pure CPython environment, which means that anything gevent based doesn't work (gevent relies on C-level hacks).  CherryPy
   includes a web server based on standard python threads, making it a convenient choice.  There are other web frameworks of course.

Q: Does this use the `restful` module?
A: No.  This module loads everything it needs directly via the interfaces available to ceph-mgr modules, and sends it straight to your browser.

Q: My browser says "connection refused"
A: Check that you have a running ceph-mgr daemon.  Look in the ceph-mgr log (/var/log/ceph/ceph-mgr...) for errors loading modules.  Check
   that you have enabled the module (see "Enabling" above)

Q: My log contains an error like "ImportError: No module named cherrypy"
A: See "Dependencies" above.  Make sure you installed a 3.x version of cherrypy, many distros have multiple cherrypy packages.

Q: I want to add something to the UI, how do I do it?
A: See HACKING.rst

