Juju Charm - Ceph iSCSI
Go to file
Nobuto Murata 50bd805fb1 Don't set the default pool as "iscsi"
"iscsi" is the name of the metadata pool by default in the charm and not
to be used for tenant data. The charm can fill out the data pool name
automatically with `def data_pool_name` or can accept a user specified
value. After fixing the issue, the "iscsi" pool will be used only for
hosting gateway.conf as a rados object so reflect the purpose into the
application name for the pool too.

Also, update the command syntax not to print the deprecation warning:
"rbd: --user is deprecated, use --id"

Closes-Bug: #2042419
Related-Bug: #2040274
Change-Id: Iec275190854edcc85915d93db233f444c92fbb17
(cherry picked from commit 82779e5ff9)
2023-11-06 09:08:35 +00:00
src Don't set the default pool as "iscsi" 2023-11-06 09:08:35 +00:00
templates Add support for Ceph dashboard support 2021-09-10 11:27:17 +00:00
tests Add support for interim Ubuntu releases 2023-04-27 13:14:04 -03:00
unit_tests Don't set the default pool as "iscsi" 2023-11-06 09:08:35 +00: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 Pin tox to < 4.0.0 2023-03-09 22:51:05 +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 support for interim Ubuntu releases 2023-04-27 13:14:04 -03:00
README.md Merge "Fix VMware links in README again" 2021-01-07 16:33:59 +00:00
actions.yaml Don't set the default pool as "iscsi" 2023-11-06 09:08:35 +00:00
build-requirements.txt Migrate to charmhub 2022-03-16 13:25:35 +00:00
charmcraft.yaml Add support for interim Ubuntu releases 2023-04-27 13:14:04 -03:00
config.yaml Add support for interim Ubuntu releases 2023-04-27 13:14:04 -03:00
copyright Add .gitreview and .zuul.yaml 2020-08-19 13:55:34 +00:00
metadata.yaml Add docs key and point at Discourse 2023-09-05 15:12:31 +00:00
osci.yaml Add support for interim Ubuntu releases 2023-04-27 13:14:04 -03:00
rename.sh Migrate to charmhub 2022-03-16 13:25:35 +00:00
requirements.txt Pin tox to < 4.0.0 2023-03-09 22:51:05 +00:00
test-requirements.txt Pin tox to < 4.0.0 2023-03-09 22:51:05 +00:00
tox.ini Rebuild merge request 2023-06-22 18:03:45 +02:00

README.md

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 VMware integration in the Charmed Ceph documentation.

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.