Add support for erasure coded pools

Add test bundle for erasure-coding with check to validate that
pools are created correctly.

Change-Id: Ic6f959b2e598f7f9cfa13bd60fdab62a22e03b59
Func-Test-PR: https://github.com/openstack-charmers/zaza-openstack-tests/pull/396
This commit is contained in:
James Page 2020-08-06 15:27:01 +01:00
parent f84e71392c
commit a0f71f6bc8
2 changed files with 227 additions and 1 deletions

View File

@ -0,0 +1,215 @@
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':
applications:
cinder-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
glance-mysql-router:
charm: cs:~openstack-charmers-next/mysql-router
keystone-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-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: *openstack-origin
to:
- '3'
- '4'
- '5'
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 6
storage:
osd-devices: 10G
options:
source: *openstack-origin
to:
- '6'
- '7'
- '8'
- '16'
- '17'
- '18'
ceph-proxy:
charm: ceph-proxy
num_units: 1
options:
source: *openstack-origin
to:
- '9'
ceph-radosgw:
charm: cs:~openstack-charmers-next/ceph-radosgw
num_units: 1
options:
source: *openstack-origin
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
to:
- '10'
cinder:
charm: cs:~openstack-charmers-next/cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: ""
ephemeral-unmount: ""
glance-api-version: 2
overwrite: "false"
constraints: mem=2048
to:
- '11'
cinder-ceph:
charm: cs:~openstack-charmers-next/cinder-ceph
options:
restrict-ceph-pools: True
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
ec-profile-plugin: lrc
ec-profile-locality: 3
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
constraints: mem=1024
to:
- '12'
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
constraints: mem=1024
options:
source: *openstack-origin
to:
- '13'
glance:
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:
- '14'
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:
- '15'
relations:
- - 'ceph-osd:mon'
- 'ceph-mon:osd'
- - 'ceph-proxy:radosgw'
- 'ceph-radosgw:mon'
- - 'cinder:amqp'
- 'rabbitmq-server:amqp'
- - 'cinder:shared-db'
- 'cinder-mysql-router:shared-db'
- - 'cinder-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'cinder:identity-service'
- 'keystone:identity-service'
- - 'cinder-ceph:storage-backend'
- 'cinder:storage-backend'
- - 'cinder-ceph:ceph'
- 'ceph-proxy:client'
- - 'glance:image-service'
- 'nova-compute:image-service'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'glance:shared-db'
- 'glance-mysql-router:shared-db'
- - 'glance-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:ceph'
- 'ceph-proxy:client'
- - 'nova-compute:ceph-access'
- 'cinder-ceph:ceph-access'
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-compute:ceph'
- 'ceph-proxy:client'

View File

@ -2,9 +2,14 @@ charm_name: ceph-proxy
configure:
- zaza.openstack.configure.ceph_proxy.setup_ceph_proxy
- erasure-coded:
- zaza.openstack.configure.ceph_proxy.setup_ceph_proxy
tests:
- zaza.openstack.charm_tests.ceph.tests.CephProxyTest
- erasure-coded:
- zaza.openstack.charm_tests.ceph.tests.CephProxyTest
- zaza.openstack.charm_tests.ceph.tests.CheckPoolTypes
gate_bundles:
- trusty-mitaka # jewel
@ -16,6 +21,8 @@ gate_bundles:
- bionic-train
- bionic-ussuri
- focal-ussuri
- erasure-coded: focal-ussuri-ec
dev_bundles:
# Icehouse
- trusty-icehouse
@ -25,8 +32,9 @@ dev_bundles:
- xenial-pike
- focal-victoria
- groovy-victoria
smoke_bundles:
- bionic-train
- focal-ussuri
target_deploy_status:
ceph-proxy:
@ -41,6 +49,9 @@ target_deploy_status:
keystone:
workload-status: active
workload-status-message: "Unit is ready"
nova-compute:
workload-status: waiting
workload-status-message: "Incomplete relations: storage-backend"
tests_options:
force_deploy: