Juju Charm - Ceph Dashboard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Zuul 2905e19caa Merge "LB relation updates" 5 days ago
src LB relation updates 6 days ago
tests Support iscsi 6 days ago
unit_tests LB relation updates 6 days ago
.flake8 Initial cut of ceph-dashboard charm 3 months ago
.gitignore Initial cut of ceph-dashboard charm 3 months ago
.gitreview osci, zuul, gitreview and Pin charmcraft to 0.10.2 1 month ago
.jujuignore Initial cut of ceph-dashboard charm 3 months ago
.stestr.conf Initial cut of ceph-dashboard charm 3 months ago
.zuul.yaml osci, zuul, gitreview and Pin charmcraft to 0.10.2 1 month ago
LICENSE Initial cut of ceph-dashboard charm 3 months ago
README.md Merge "Update README to explain tls setup" 6 days ago
actions.yaml Add delete user action 6 days ago
build-requirements.txt osci, zuul, gitreview and Pin charmcraft to 0.10.2 1 month ago
config.yaml Add support for embedded graphs and alertmanager 3 weeks ago
copyright Add copyright file 6 days ago
metadata.yaml LB relation updates 6 days ago
osci.yaml Add support for object gateway integration 2 weeks ago
requirements-dev.txt Initial cut of ceph-dashboard charm 3 months ago
requirements.txt LB relation updates 6 days ago
test-requirements.txt Initial cut of ceph-dashboard charm 3 months ago
tox.ini osci, zuul, gitreview and Pin charmcraft to 0.10.2 1 month ago

README.md

Overview

The ceph-dashboard charm deploys the Ceph Dashboard, a built-in web-based Ceph management and monitoring application.

Usage

Configuration

This section covers common and/or important configuration options. See file config.yaml for the full list of options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

grafana-api-url

Sets the url of the grafana api when using embedded graphs. See Embedded Grafana Dashboards

public-hostname

Sets the hostname or address of the public endpoint used to access the dashboard.

enable-password-policy

Sets whether certain password restrictions are enforced when a user is created or changes their password.

password-*

There are a number of password-* options which impose constraints on which passwords can be used. These options are ignored unless enable-password-policy is set to True.

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 add-relation ceph-dashboard:dashboard ceph-mon:dashboard

TLS is a requirement for this charm. Enable it by adding a relation to the vault application:

juju add-relation ceph-dashboard:certificates vault:certificates

See Managing TLS certificates in the OpenStack Charms Deployment Guide for more information on TLS.

Note: This charm also supports TLS configuration via charm options ssl_cert, ssl_key, and ssl_ca.

Embedded Grafana Dashboards

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

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

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

juju add-relation grafana:grafana-source prometheus:grafana-source
juju add-relation telegraf:prometheus-client prometheus:target
juju add-relation telegraf:dashboards grafana:dashboards

When Grafana is integrated with the Ceph Dashboard it requires TLS, so add a relation to Vault (the grafana charm also supports TLS configuration via ssl_* charm options):

juju add-relation grafana:certificates vault:certificates

Grafana should be set with the following charm options:

juju config grafana anonymous=True
juju config grafana allow_embedding=True

The grafana charm also requires the vonage-status-panel and grafana-piechart-panel plugins. The Grafana charm install_plugins config option should be set to include URLs from which these plugins can be downloaded. They are currently available from https://storage.googleapis.com/plugins-community. For example:

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: The above command is to be invoked verbatim; no substitution is required.

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 add-relation ceph-dashboard:prometheus prometheus:website
juju add-relation ceph-mon:prometheus prometheus:target
juju add-relation ceph-dashboard:alertmanager-service prometheus-alertmanager:alertmanager-service
juju add-relation prometheus:alertmanager-service prometheus-alertmanager:alertmanager-service

Actions

This section lists Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions --schema add-user. If the charm is not deployed then see file actions.yaml.

  • add-user
  • delete-user

Documentation

The OpenStack Charms project maintains two documentation guides:

Bugs

Please report bugs on Launchpad.

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.