ceph proxy #119

Supports: bionic focal groovy hirsute impish


Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability.


Ceph is a unified, distributed storage system designed for excellent performance, reliability, and scalability.

The ceph-proxy charm deploys a proxy that acts as a ceph-mon application for an external Ceph cluster. It joins a non-charmed Ceph cluster to a Juju model.



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.


The fsid option supplies the UUID of the external cluster.


The admin-key option supplies the admin Cephx key of the external cluster.


The monitor-hosts option supplies the network addresses (and ports) of the Monitors of the external cluster.


Let file ceph-proxy.yaml contain the deployment configuration:

        fsid: a4f1fb08-c83d-11ea-8f4a-635b3b062931
        admin-key: AQCJvBFfWX+GLhAAln5dFd1rZekcGLyMmy58bQ==
        monitor-hosts: ''

To deploy:

juju deploy --config ceph-proxy.yaml ceph-proxy

Now add relations as you normally would between a ceph-mon application and another application, except substitute ceph-proxy for ceph-mon. For instance, to use the external Ceph cluster as the backend for an existing glance application:

juju add-relation ceph-proxy:client glance:ceph


Many of the ceph-mon charm's actions are supported. See file actions.yaml for the full list of actions, along with their descriptions.


Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.


(string) Admin cephx key for existing Ceph cluster
(string) A configurable admin user name. Used for scenarios where pools are pre-created and the user given to charm-ceph-proxy simply needs to check the existence of a given pool and error out if one does not exist. Can be used in conjunction with user-keys.
(string) Which authentication flavour to use. . Valid options are "cephx" and "none". If "none" is specified, keys will still be created and deployed so that it can be enabled later.
(string) fsid of the ceph cluster. To generate a suitable value use `uuid` . This configuration element is mandatory and the service will fail on install if it is not provided.
(string) Key ID to import to the apt keyring to support use with arbitrary source configuration from outside of Launchpad archives or PPA's.
(int) Mon and OSD debug level. Max is 20.
(string) Space-delimited list of existing monitor hosts, in the format {IP / Hostname}:{port} {IP / Hostname}:{port}
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Ubuntu Cloud Archive e.g. . cloud:<series>-<openstack-release> cloud:<series>-<openstack-release>/updates cloud:<series>-<openstack-release>/staging cloud:<series>-<openstack-release>/proposed . See https://wiki.ubuntu.com/OpenStack/CloudArchive for info on which cloud archives are available and supported. . NOTE: updating this setting to a source that is known to provide a later version of OpenStack will trigger a software upgrade unless action-managed-upgrade is set to True.
(boolean) Setting this to True will allow supporting services to log to syslog.
(string) A space-separated list of <username>:<cephx-base64-key> pairs used to lookup authentication keys for a specific user instead of trying to create a user and a key via ceph-mon.