Liam Young d5cac285b5 Add support for object gateway integration
To add support for object gateways this change adds the
radosgw-user interface.

The focal bundle has one rados gateway application as more
than that is not supported on Octopus. The hersute bundle
has two rados gateway applications but does not contain
the lma applications as telegraf is not supported on
hersute.

Depends-On: Ieff1943b02f490559ccd245f60b744fb76a5d832
Change-Id: I38939b9938a5ba2ed6e3fb489f66a255f7aa8fe4
2021-09-07 12:24:22 +00:00
2021-06-24 13:14:57 +00:00
2021-06-24 13:14:57 +00:00
2021-06-24 13:14:57 +00:00
2021-08-25 20:40:07 +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.

Description
Juju Charm - Ceph Dashboard
Readme 10 MiB
Languages
Python 99.7%
Shell 0.3%