Add erasure-coded pool bundle

This change adds a bundle that configures erasure coded pools
for glance, cinder-ceph and nova. To verify that the pools are
using EC it also adds a test which verifies the pool type.

To verify that the nova pool is configured correctly in all
scenarious all the bundles have been updated to set
libvirt-image-backend to rbd which triggers the nova pool
creation.

During testing the Prometheus tests were failing which is
down to a known bug *1 in the prometheus charm. The
bundles have been updated to pin the prometheus2 charm
to an earlier version to get round the bug.

*1 https://bugs.launchpad.net/charm-prometheus2/+bug/1891942


Change-Id: I7d29aec3ba9924d5677be25137907b1465401f9c
This commit is contained in:
Liam Young
2020-08-19 07:09:19 +00:00
parent 4fd788d3a2
commit e3f9894aea
16 changed files with 305 additions and 9 deletions

View File

@@ -30,6 +30,8 @@ applications:
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
options:
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
@@ -48,7 +50,8 @@ applications:
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -38,6 +38,7 @@ applications:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
options:
libvirt-image-backend: rbd
openstack-origin: cloud:bionic-rocky
glance:
expose: True
@@ -62,7 +63,8 @@ applications:
options:
openstack-origin: cloud:bionic-rocky
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -38,6 +38,7 @@ applications:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
options:
libvirt-image-backend: rbd
openstack-origin: cloud:bionic-stein
glance:
expose: True
@@ -62,7 +63,8 @@ applications:
options:
openstack-origin: cloud:bionic-stein
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -39,6 +39,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:bionic-train/proposed
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance

View File

@@ -38,6 +38,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:bionic-train
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
@@ -66,7 +67,8 @@ applications:
options:
openstack-origin: cloud:bionic-train
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -38,6 +38,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:bionic-ussuri
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
@@ -66,7 +67,8 @@ applications:
options:
openstack-origin: cloud:bionic-ussuri
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -0,0 +1,269 @@
variables:
openstack-origin: &openstack-origin distro
series: focal
comment:
- 'machines section to decide order of deployment. database sooner = faster'
machines:
'0':
constraints: mem=3072M
'1':
constraints: mem=3072M
'2':
constraints: mem=3072M
'3':
'4':
'5':
'6':
'7':
'8':
'9':
'10':
'11':
'12':
'13':
'14':
'15':
'16':
'17':
'18':
'19':
'20':
applications:
keystone-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
cinder-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
nova-cloud-controller-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
placement-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
mysql-innodb-cluster:
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 6
storage:
osd-devices: '10G'
options:
source: *openstack-origin
to:
- '3'
- '4'
- '5'
- '17'
- '18'
- '19'
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
source: *openstack-origin
monitor-count: '3'
to:
- '6'
- '7'
- '8'
ceph-radosgw:
charm: cs:~openstack-charmers-next/ceph-radosgw
num_units: 1
num_units: 1
options:
source: *openstack-origin
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
to:
- '20'
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: *openstack-origin
to:
- '9'
keystone:
expose: True
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '10'
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
ec-profile-plugin: isa
libvirt-image-backend: rbd
to:
- '11'
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: *openstack-origin
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
ec-profile-plugin: jerasure
to:
- '12'
cinder:
expose: True
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
block-device: 'None'
glance-api-version: '2'
openstack-origin: *openstack-origin
to:
- '13'
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
options:
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
ec-profile-plugin: lrc
ec-profile-locality: 3
nova-cloud-controller:
expose: True
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
placement:
charm: cs:~openstack-charmers-next/placement
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
prometheus2:
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
to:
- '16'
relations:
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-compute:image-service'
- 'glance:image-service'
- - 'nova-compute:ceph'
- 'ceph-mon:client'
- - 'nova-compute:ceph-access'
- 'cinder-ceph:ceph-access'
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:shared-db'
- 'glance-mysql-router:shared-db'
- - 'glance-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'glance:amqp'
- 'rabbitmq-server:amqp'
- - 'glance:ceph'
- 'ceph-mon:client'
- - 'cinder:shared-db'
- 'cinder-mysql-router:shared-db'
- - 'cinder-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'cinder:identity-service'
- 'keystone:identity-service'
- - 'cinder:amqp'
- 'rabbitmq-server:amqp'
- - 'cinder:image-service'
- 'glance:image-service'
- - 'cinder-ceph:storage-backend'
- 'cinder:storage-backend'
- - 'cinder-ceph:ceph'
- 'ceph-mon:client'
- - 'ceph-osd:mon'
- 'ceph-mon:osd'
- - 'nova-cloud-controller:shared-db'
- 'nova-cloud-controller-mysql-router:shared-db'
- - 'nova-cloud-controller-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'nova-cloud-controller:identity-service'
- 'keystone:identity-service'
- - 'nova-cloud-controller:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:cloud-compute'
- 'nova-compute:cloud-compute'
- - 'nova-cloud-controller:image-service'
- 'glance:image-service'
- - 'placement:shared-db'
- 'placement-mysql-router:shared-db'
- - 'placement-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'placement'
- 'keystone'
- - 'placement'
- 'nova-cloud-controller'
- - 'ceph-mon:prometheus'
- 'prometheus2:target'
- - 'ceph-radosgw:mon'
- 'ceph-mon:radosgw'

View File

@@ -97,6 +97,7 @@ applications:
num_units: 1
options:
openstack-origin: *openstack-origin
libvirt-image-backend: rbd
to:
- '11'
@@ -141,7 +142,8 @@ applications:
- '15'
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
to:
- '16'

View File

@@ -97,6 +97,7 @@ applications:
num_units: 1
options:
openstack-origin: *openstack-origin
libvirt-image-backend: rbd
to:
- '11'
@@ -141,7 +142,8 @@ applications:
- '15'
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
to:
- '16'

View File

@@ -97,6 +97,7 @@ applications:
num_units: 1
options:
openstack-origin: *openstack-origin
libvirt-image-backend: rbd
to:
- '11'
@@ -141,7 +142,8 @@ applications:
- '15'
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
to:
- '16'

View File

@@ -59,6 +59,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:trusty-mitaka
libvirt-image-backend: rbd
# workaround while awaiting release of next version of python-libjuju with
# model-constraints support
constraints:

View File

@@ -30,6 +30,8 @@ applications:
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 1
options:
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance

View File

@@ -39,6 +39,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:xenial-ocata
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance

View File

@@ -39,6 +39,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:xenial-pike
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance

View File

@@ -39,6 +39,7 @@ applications:
num_units: 1
options:
openstack-origin: cloud:xenial-queens
libvirt-image-backend: rbd
glance:
expose: True
charm: cs:~openstack-charmers-next/glance
@@ -62,7 +63,8 @@ applications:
options:
openstack-origin: cloud:xenial-queens
prometheus2:
charm: cs:prometheus2
# Pin prometheus2 charm version Bug #1891942
charm: cs:prometheus2-18
num_units: 1
relations:
- - nova-compute:amqp

View File

@@ -1,5 +1,6 @@
charm_name: ceph-mon
gate_bundles:
- focal-ussuri-ec
- focal-ussuri
- bionic-ussuri
- bionic-train
@@ -20,6 +21,7 @@ dev_bundles:
configure:
- zaza.openstack.charm_tests.glance.setup.add_lts_image
tests:
- zaza.openstack.charm_tests.ceph.tests.CheckPoolTypes
- zaza.openstack.charm_tests.ceph.tests.CephLowLevelTest
- zaza.openstack.charm_tests.ceph.tests.CephRelationTest
- zaza.openstack.charm_tests.ceph.tests.CephTest