Update docs and functional test definitions

Change-Id: I792b950a3e85b3bdc442676144253658bc5770c5
This commit is contained in:
Frode Nordahl 2019-03-07 10:48:18 +01:00
parent 79bc4e1379
commit 3b102765f4
No known key found for this signature in database
GPG Key ID: 6A5D59A3BA48373F
13 changed files with 1082 additions and 20 deletions

View File

@ -1,11 +1,132 @@
# Overview
This charm provides the Ceph RBD Mirror service for use with replication between multiple Ceph clusters.
The ``ceph-rbd-mirror`` charm supports deployment of the Ceph RBD Mirror daemon
and helps automate remote creation and configuration of mirroring for Ceph
pools used to host RBD images.
Ceph 12.2 Luminous or later is required.
Actions for operator driven failover and fallback for the pools used for RBD
images is also provided.
Data center redundancy is a large topic and this work addresses a very
specific piece in the puzzle related to Ceph RBD images. You need to
combine this with `Ceph RADOS Gateway Multisite replication`_ and other
work to get a complete solution.
.. _Ceph RADOS Gateway Multisite replication: https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/latest/app-rgw-multisite.html
This is supported both for multiple distinct Ceph clusters within a single Juju
model and between different models with help from cross-model relations.
When the charm is related to a local and a remote Ceph cluster it will
automatically create pools eligible for mirroring on the remote cluster and
enable mirroring.
Eligible pools are selected on the basis of Ceph pool tagging and all pools
with the application ``rbd`` enabled on them will be selected.
As of the 19.04 charm release charms will automatically have newly created
pools for use with RBD tagged with the ``rbd`` tag.
Only mirroring of whole pools is supported by the charm.
A prerequisite for RBD Mirroring is that every RBD image within each pool is
created with the ``journaling`` and ``exclusive-lock`` image features enabled.
To support this the ``ceph-mon`` charm will announce these image features over
the ``client`` relation when it has units connected to its ``rbd-mirror``
endpoint. This will ensure that images created in the deployment get the
appropriate features to support mirroring.
RBD Mirroring is only supported when deployed with Ceph Luminous or later.
The Ceph RBD Mirror feature supports running multiple instances of the daemon.
Having multiple daemons will cause the mirroring load to automatically be
(re-)distributed between the daemons.
This addresses both High Availability and performance concerns. You can
make use of this feature by increasing the number of ``ceph-rbd-mirror`` units
in your deployment.
The charm is written for Two-way Replication, which give you the ability to
fail over and fall back to/from a secondary site.
Ceph does have support for mirroring to any number of slave clusters but
this is not implemented nor supported by the charm.
The charm is aware of network spaces and you will be able to tell the RBD
Mirror daemon about network configuration by binding the ``public`` and
``cluster`` endpoints.
The RBD Mirror daemon will use the network associated with the ``cluster``
endpoint for mirroring traffic when available.
# Deployment
Example bundles with a minimal test configuration can be found
in the ``tests/bundles`` subdirectory of the ``ceph-rbd-mirror`` charm.
Both examples of two Ceph clusters deployed in one model and Ceph clusters
deployed in separate models are available.
To make use of cross model relations you must first set up an offer to export
a application endpoint from a model. In this example we use the model names
``site-a`` and ``site-b``.
juju switch site-a
juju offer ceph-mon:rbd-mirror site-a-rbd-mirror
juju switch site-b
juju offer ceph-mon:rbd-mirror site-b-rbd-mirror
After creating the offers we can import the remote offer to a model and add
a relation between applications just like we normally would do in a
single-model deployment.
juju switch site-a
juju consume admin/site-b.site-b-rbd-mirror
juju add-relation ceph-rbd-mirror:ceph-remote site-b-rbd-mirror
juju switch site-b
juju consume admin/site-a.site-a-rbd-mirror
juju add-relation ceph-rbd-mirror:ceph-remote site-a-rbd-mirror
# Usage
## Pools
Pools created by other charms through the Ceph broker protocol will
automatically be detected and acted upon. Pools tagged with the ``rbd``
application will be selected for mirroring.
If you manually create a pool, either through actions on the ``ceph-mon``
charm or by talking to Ceph directly, you must inform the ``ceph-rbd-mirror``
charm about them.
This is accomplished by executing the ``refresh-pools`` action.
juju run-action -m site-a ceph-mon/leader --wait create-pool name=mypool \
app-name=rbd
juju run-action -m site-a ceph-rbd-mirror/leader --wait refresh-pools
## Failover and Fallback
Controlled failover and fallback
juju run-action -m site-a ceph-rbd-mirror/leader --wait status verbose=True
juju run-action -m site-b ceph-rbd-mirror/leader --wait status verbose=True
juju run-action -m site-a ceph-rbd-mirror/leader --wait demote
juju run-action -m site-a ceph-rbd-mirror/leader --wait status verbose=True
juju run-action -m site-b ceph-rbd-mirror/leader --wait status verbose=True
juju run-action -m site-b ceph-rbd-mirror/leader --wait promote
__NOTE__ When using Ceph Luminous, the mirror status information may not be
accurate. Specifically the ``entries_behind_master`` counter may never get to
``0`` even though the image is fully synchronized.
## Recovering from abrupt shutdown
There exist failure scenarios where abrupt shutdown and/or interruptions to

View File

@ -4,15 +4,11 @@ maintainer: OpenStack Charmers <openstack-charmers@lists.ubuntu.com>
description: |
RBD images can be asynchronously mirrored between two Ceph clusters. This
capability uses the RBD journaling image feature to ensure crash-consistent
replication between clusters. Mirroring is configured on a per-pool basis
within peer clusters and can be configured to automatically mirror all images
within a pool or only a specific subset of images. Mirroring is configured
using the rbd command. The rbd-mirror daemon is responsible for pulling image
updates from the remote, peer cluster and applying them to the image within
the local cluster.
replication between clusters. The charm automatically creates pools used for
RBD images on the remote cluster and configures mirroring. Pools tagged with
the ``rbd`` application are selected.
Note: The charm requires Ceph Luminous or later and will only support
mirror configuration for whole pools.
NOTE: The charm requires Ceph Luminous or later.
tags:
- openstack
- storage
@ -22,6 +18,7 @@ series:
- xenial
- bionic
- cosmic
- disco
extra-bindings:
public:
cluster:

View File

@ -0,0 +1,207 @@
series: bionic
machines:
'0':
constraints: mem=16G
series: bionic
'1':
constraints: mem=16G
series: bionic
'2':
constraints: mem=16G
series: bionic
'3':
constraints: mem=16G
series: bionic
'4':
constraints: mem=16G
series: bionic
'5':
constraints: mem=16G
series: bionic
'6':
constraints: mem=16G
series: bionic
'7':
constraints: mem=16G
series: bionic
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:0
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:1
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:2
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
bindings:
'': libvirt-maas
to:
- lxd:0
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:1
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:2
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
to:
- 0
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- lxd:0
- lxd:1
- lxd:2
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
osd-devices: /dev/vdb
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 0
- 1
- 2
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 3
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- lxd:4
- lxd:5
- lxd:6
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
osd-devices: /dev/vdb
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 4
- 5
- 6
ceph-rbd-mirror-b:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 7
relations:
- - mysql
- keystone
- - mysql
- cinder
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote
- - mysql:shared-db
- nova-cloud-controller:shared-db
- - keystone:identity-service
- nova-cloud-controller:identity-service
- - rabbitmq-server:amqp
- nova-cloud-controller:amqp
- - nova-compute:ceph-access
- cinder-ceph:ceph-access
- - nova-compute:amqp
- rabbitmq-server:amqp
- - nova-compute:cloud-compute
- nova-cloud-controller:cloud-compute
- - glance:identity-service
- keystone:identity-service
- - glance:shared-db
- mysql:shared-db
- - glance:amqp
- rabbitmq-server:amqp
- - glance:image-service
- nova-compute:image-service
- - neutron-openvswitch:neutron-plugin
- nova-compute:neutron-plugin
- - neutron-openvswitch:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:image-service
- glance:image-service

View File

@ -1,70 +1,159 @@
series: bionic
machines:
'0':
constraints: mem=16G
series: bionic
'1':
constraints: mem=16G
series: bionic
'2':
constraints: mem=16G
series: bionic
'3':
constraints: mem=16G
series: bionic
'4':
constraints: mem=16G
series: bionic
'5':
constraints: mem=16G
series: bionic
'6':
constraints: mem=16G
series: bionic
'7':
constraints: mem=16G
series: bionic
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:0
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:1
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:2
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
bindings:
'': libvirt-maas
to:
- lxd:0
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:1
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
num_units: 0
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
bindings:
'': libvirt-maas
to:
- lxd:2
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
to:
- 0
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- lxd:0
- lxd:1
- lxd:2
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
storage:
osd-devices: cinder,20G
osd-devices: /dev/vdb
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 0
- 1
- 2
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 3
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- lxd:4
- lxd:5
- lxd:6
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
storage:
osd-devices: cinder,20G
osd-devices: /dev/vdb
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 4
- 5
- 6
ceph-rbd-mirror-b:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
bindings:
public: libvirt-maas
cluster: libvirt-default
to:
- 7
relations:
- - mysql
- keystone

View File

@ -3,18 +3,32 @@ applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: distro
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: distro
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: distro
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: distro
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
@ -26,8 +40,9 @@ applications:
num_units: 3
options:
source: distro
storage:
osd-devices: cinder,20G
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
@ -45,8 +60,9 @@ applications:
num_units: 3
options:
source: distro
storage:
osd-devices: cinder,20G
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: bionic
charm: ../../../ceph-rbd-mirror
@ -58,14 +74,20 @@ relations:
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon

View File

@ -0,0 +1,74 @@
series: bionic
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: cloud:bionic-rocky
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: cloud:bionic-rocky
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:bionic-rocky
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:bionic-rocky
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:bionic-rocky
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local

View File

@ -0,0 +1,27 @@
series: bionic
applications:
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:bionic-rocky
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:bionic-rocky
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:bionic-rocky
relations:
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local

View File

@ -0,0 +1,102 @@
series: bionic
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: cloud:bionic-rocky
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: cloud:bionic-rocky
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:bionic-rocky
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:bionic-rocky
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:bionic-rocky
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:bionic-rocky
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:bionic-rocky
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:bionic-rocky
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: bionic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:bionic-rocky
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote

View File

@ -0,0 +1,102 @@
series: cosmic
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: distro
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: distro
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: distro
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: distro
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: cosmic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: cosmic
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote

View File

@ -0,0 +1,102 @@
series: disco
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: distro
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: distro
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: distro
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: distro
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: disco
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: distro
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: distro
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: disco
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: distro
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote

View File

@ -0,0 +1,103 @@
series: xenial
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: cloud:xenial-pike
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:xenial-pike
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: cloud:xenial-pike
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
openstack-origin: cloud:xenial-pike
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:xenial-pike
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:xenial-pike
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:xenial-pike
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: xenial
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:xenial-pike
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:xenial-pike
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:xenial-pike
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: xenial
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:xenial-pike
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote

View File

@ -0,0 +1,103 @@
series: xenial
applications:
mysql:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: cloud:xenial-queens
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: cloud:xenial-queens
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: cloud:xenial-queens
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: None
glance-api-version: 2
openstack-origin: cloud:xenial-queens
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
num_units: 0
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: cloud:xenial-queens
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:xenial-queens
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:xenial-queens
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror:
series: xenial
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:xenial-queens
ceph-mon-b:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: cloud:xenial-queens
ceph-osd-b:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: cloud:xenial-queens
bluestore: False
use-direct-io: False
osd-devices: /opt
ceph-rbd-mirror-b:
series: xenial
charm: ../../../ceph-rbd-mirror
num_units: 1
options:
source: cloud:xenial-queens
relations:
- - mysql
- keystone
- - mysql
- cinder
- - mysql
- glance
- - rabbitmq-server
- cinder
- - keystone
- cinder
- - keystone
- glance
- - cinder
- cinder-ceph
- - cinder-ceph
- ceph-mon
- - glance
- ceph-mon
- - ceph-mon:osd
- ceph-osd:mon
- - ceph-mon
- ceph-rbd-mirror:ceph-local
- - ceph-mon
- ceph-rbd-mirror-b:ceph-remote
- - ceph-mon-b:osd
- ceph-osd-b:mon
- - ceph-mon-b
- ceph-rbd-mirror-b:ceph-local
- - ceph-mon-b
- ceph-rbd-mirror:ceph-remote

View File

@ -2,9 +2,22 @@ charm_name: ceph-rbd-mirror
smoke_bundles:
- bionic-queens
gate_bundles:
- xenial-pike
- xenial-queens
- bionic-queens
- bionic-rocky
- cosmic-rocky
comment: |
Hold ``disco-stein`` bundle until all dependend charms have disco support.
The e2e bundles are useful for development but adds no additional value to
the functional tests.
dev_bundles:
- disco-stein
- bionic-queens-e2e
- bionic-queens-e2e-lxd
configure:
- zaza.charm_tests.noop.setup.basic_setup
- zaza.charm_tests.glance.setup.add_lts_image
tests:
- zaza.charm_tests.noop.tests.NoopTest
- zaza.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorTest
- zaza.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorControlledFailoverTest
- zaza.charm_tests.ceph.rbd_mirror.tests.CephRBDMirrorDisasterFailoverTest