Juju Charm - Ceph iSCSI
Go to file
Aurelien Lourot 81fdd34d12 Stop leaking secrets in the logs
Change-Id: I9cb75ddaa8334a09727610889ca32a9a415481fd
2021-01-07 11:53:04 +01:00
src Stop leaking secrets in the logs 2021-01-07 11:53:04 +01:00
templates Create default rbd pool 2020-09-21 12:50:41 +00:00
tests Add bluestore compression support 2020-10-28 11:08:53 +00:00
unit_tests More tolerant ceph client relation unit test 2021-01-06 14:10:39 +01:00
.gitignore Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
.gitmodules Switch charm to use charmcraft for building 2020-07-31 15:55:44 +00:00
.gitreview Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
.jujuignore Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
.stestr.conf Add unit tests and update tox 2020-04-27 15:30:12 +00:00
.zuul.yaml Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
actions.yaml Create default rbd pool 2020-09-21 12:50:41 +00:00
build-requirements.txt Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
config.yaml Add bluestore compression support 2020-10-28 11:08:53 +00:00
copyright Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
metadata.yaml Update deps and fix fallout 2020-06-30 09:37:14 +00:00
README.md Stop leaking secrets in the logs 2021-01-07 11:53:04 +01:00
requirements.txt Fix an incorrect module name in requirements 2020-11-02 13:41:42 +00:00
test-requirements.txt Add bluestore compression support 2020-10-28 11:08:53 +00:00
tox.ini Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00

Overview

The ceph-iscsi charm deploys the Ceph iSCSI gateway service. The charm is intended to be used in conjunction with the ceph-osd and ceph-mon charms.

Usage

Configuration

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

Ceph BlueStore compression

This charm supports [BlueStore inline compression][ceph-bluestore-compression] for its associated Ceph storage pool(s). The feature is enabled by assigning a compression mode via the bluestore-compression-mode configuration option. The default behaviour is to disable compression.

The efficiency of compression depends heavily on what type of data is stored in the pool and the charm provides a set of configuration options to fine tune the compression behaviour.

Note

: BlueStore compression is supported starting with Ceph Mimic.

Deployment

We are assuming a pre-existing Ceph cluster.

To provide multiple data paths to clients deploy exactly two ceph-iscsi units:

juju deploy -n 2 ceph-iscsi

Then add a relation to the ceph-mon application:

juju add-relation ceph-iscsi:ceph-client ceph-mon:client

Notes:

  • Deploying four ceph-iscsi units is theoretically possible but it is not an officially supported configuration.

  • The ceph-iscsi application cannot be containerised.

  • Co-locating ceph-iscsi with another application is only supported with ceph-osd, although doing so with other applications may still work.

Actions

This section covers 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 ceph-iscsi. If the charm is not deployed then see file actions.yaml.

  • add-trusted-ip
  • create-target
  • pause
  • resume
  • security-checklist

To display action descriptions run juju actions ceph-iscsi. If the charm is not deployed then see file actions.yaml.

iSCSI target management

Create an iSCSI target

An iSCSI target can be created easily with the charm's create-target action:

juju run-action --wait ceph-iscsi/0 create-target \
   client-initiatorname=iqn.1993-08.org.debian:01:aaa2299be916 \
   client-username=myiscsiusername \
   client-password=myiscsipassword \
   image-size=5G \
   image-name=small \
   pool-name=images

In the above, all option values are generally user-defined with the exception of the initiator name (client-initiatorname). An iSCSI initiator is essentially an iSCSI client and so its name is client-dependent. Some initiators may impose policy on credentials (client-username and client-password).

Important

: The underlying machines for the ceph-iscsi units must have internal name resolution working (i.e. the machines must be able to resolve each other's hostnames).

The gwcli utility

The management of targets, beyond the target-creation action described above, can be accomplished via the gwcli utility. This CLI tool has its own shell, and is available from any ceph-iscsi unit:

juju ssh ceph-iscsi/1
sudo gwcli
/> help

VMware integration

Ceph can be used to back iSCSI targets for VMware initiators. This is documented under Ceph iSCSI in the OpenStack Charms Deployment Guide.

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.