Juju Charm - Ceph Dashboard
Go to file
Liam Young de2bc7fbac Add delete user action
Change-Id: Iff88333ecdbdc3ece3a9053470d239e260030612
2021-09-13 08:59:23 +00:00
src Add delete user action 2021-09-13 08:59:23 +00:00
tests Add support for object gateway integration 2021-09-07 12:24:22 +00:00
unit_tests Add delete user action 2021-09-13 08:59:23 +00:00
.flake8 Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
.gitignore Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
.gitreview osci, zuul, gitreview and Pin charmcraft to 0.10.2 2021-08-19 09:28:39 +00:00
.jujuignore Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
.stestr.conf Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
.zuul.yaml osci, zuul, gitreview and Pin charmcraft to 0.10.2 2021-08-19 09:28:39 +00:00
actions.yaml Add delete user action 2021-09-13 08:59:23 +00:00
build-requirements.txt osci, zuul, gitreview and Pin charmcraft to 0.10.2 2021-08-19 09:28:39 +00:00
config.yaml Add support for embedded graphs and alertmanager 2021-08-27 13:49:41 +00:00
LICENSE Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
metadata.yaml Add support for object gateway integration 2021-09-07 12:24:22 +00:00
osci.yaml Add support for object gateway integration 2021-09-07 12:24:22 +00:00
README.md Add support for object gateway integration 2021-09-07 12:24:22 +00:00
requirements-dev.txt Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
requirements.txt Add TLS checks 2021-08-25 20:40:07 +00:00
test-requirements.txt Initial cut of ceph-dashboard charm 2021-06-24 13:14:57 +00:00
tox.ini osci, zuul, gitreview and Pin charmcraft to 0.10.2 2021-08-19 09:28:39 +00:00

Overview

The ceph-dashboard configures the [Ceph Dashboard][ceph-dashboard-upstream]. The charm is intended to be used in conjunction with the ceph-mon charm.

Usage

Configuration

See file config.yaml for the full list of options, along with their descriptions and default values.

Deployment

We are assuming a pre-existing Ceph cluster.

Deploy the ceph-dashboard as a subordinate to the ceph-mon charm.

juju deploy ceph-dashboard
juju relate ceph-dashboard ceph-mon

Embedded Grafana Dashboards

To enable the embedded grafana dashboards within the Ceph dashboard some additional relations are needed.

juju relate ceph-dashboard:grafana-dashboard grafana:dashboards
juju relate ceph-dashboard:prometheus prometheus:website
juju relate ceph-mon:prometheus prometheus:target
juju relate ceph-osd:juju-info telegraf:juju-info
juju relate ceph-mon:juju-info telegraf:juju-info

Grafana, Telegraf and Prometheus should be related in the standard way

juju relate grafana:grafana-source prometheus:grafana-source
juju relate telegraf:prometheus-client prometheus:target
juju relate telegraf:dashboards grafana:dashboards

Grafana must be using https so either supply a certificates and key via the ssl_* charm config options or add a vault relation.

juju deploy grafana:certificates vault:certificates

Grafana should be set with the following charm options:

juju config grafana anonymous=True
juju config grafana allow_embedding=True
juju config grafana install_plugins="https://storage.googleapis.com/plugins-community/vonage-status-panel/release/1.0.11/vonage-status-panel-1.0.11.zip,https://storage.googleapis.com/plugins-community/grafana-piechart-panel/release/1.6.2/grafana-piechart-panel-1.6.2.zip"

Telegraf should be set with the following charm options:

juju config telegraf hostname="{host}"

NOTE: That is "{host}" verbatim, nothing needs to be substituted.

Currently the dashboard cannot autodect the api endpoint of the grafana service, so the end of the deployment run the following:

juju config ceph-dashboard  grafana-api-url="https://<IP of grafana unit>:3000"

Enabling Prometheus Alerting

To enable Prometheus alerting, add the following relations:

juju relate ceph-dashboard:prometheus prometheus:website
juju relate ceph-mon:prometheus prometheus:target
juju relate ceph-dashboard:alertmanager-service prometheus-alertmanager:alertmanager-service
juju relate prometheus:alertmanager-service prometheus-alertmanager:alertmanager-service

Object Gateway

To enable object gateway management add the following relation:

juju relate ceph-dashboard:radosgw-dashboard ceph-radosgw:radosgw-user

NOTE: On Octopus or earlier the dashboard can only be related to one ceph-radosgw application.