Add upgrade func testing

Change functional testing to also test upgrades from charmhub version
to the locally built charm. Include a new test for installing a locally built charm from scratch.

Also pin some support charms to specific tracks.

Change-Id: Id7de1723a4bbfcff02dd606be650b4410f897913
This commit is contained in:
Peter Sabaini 2023-09-27 12:52:32 +02:00
parent 7821a38e25
commit f13800fb0d
8 changed files with 284 additions and 21 deletions

View File

@ -8,3 +8,15 @@
charm_build_name: ceph-osd
build_type: charmcraft
charmcraft_channel: 2.x/stable
check:
jobs:
- new-install-jammy-antelope
- job:
name: new-install-jammy-antelope
parent: func-target
dependencies:
- osci-lint
- charm-build
- tox-py38
vars:
tox_extra_args: '-- install:local-jammy-antelope'

View File

@ -30,19 +30,19 @@ applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0.19/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0.19/edge
cinder-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0.19/edge
nova-cloud-controller-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0.19/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0.19/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
@ -53,10 +53,11 @@ applications:
- '0'
- '1'
- '2'
channel: latest/edge
channel: 8.0.19/edge
ceph-osd:
charm: ../../ceph-osd.charm
charm: ch:ceph-osd
channel: quincy/edge
num_units: 3
storage:
osd-devices: 'cinder,10G,2'
@ -88,7 +89,7 @@ applications:
source: *openstack-origin
to:
- '9'
channel: latest/edge
channel: 3.9/edge
keystone:
expose: True

View File

@ -54,7 +54,8 @@ applications:
channel: 8.0/edge
ceph-osd:
charm: ../../ceph-osd.charm
charm: ch:ceph-osd
channel: quincy/edge
num_units: 3
storage:
osd-devices: 'cinder,10G,2'

View File

@ -30,19 +30,19 @@ applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0/edge
cinder-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0/edge
nova-cloud-controller-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
channel: 8.0/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
@ -51,10 +51,11 @@ applications:
- '0'
- '1'
- '2'
channel: latest/edge
channel: 8.0/edge
ceph-osd:
charm: ../../ceph-osd.charm
charm: ch:ceph-osd
channel: latest/edge
num_units: 3
storage:
osd-devices: 'cinder,10G,2'
@ -84,7 +85,7 @@ applications:
num_units: 1
to:
- '9'
channel: latest/edge
channel: 3.9/edge
keystone:
expose: True

View File

@ -0,0 +1,234 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
series: jammy
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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
glance-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
cinder-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
nova-cloud-controller-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
placement-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
to:
- '0'
- '1'
- '2'
channel: 8.0/edge
ceph-osd:
charm: ../../ceph-osd.charm
num_units: 3
storage:
osd-devices: 'cinder,10G,2'
options:
osd-devices: '/dev/test-non-existent'
source: *openstack-origin
aa-profile-mode: enforce
to:
- '3'
- '4'
- '5'
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
monitor-count: '3'
source: *openstack-origin
to:
- '6'
- '7'
- '8'
channel: quincy/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
to:
- '9'
channel: 3.9/edge
keystone:
expose: True
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '10'
channel: 2023.1/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '11'
channel: 2023.1/edge
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '12'
channel: 2023.1/edge
cinder:
expose: True
charm: ch:cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: 'None'
glance-api-version: '2'
to:
- '13'
channel: 2023.1/edge
cinder-ceph:
charm: ch:cinder-ceph
channel: 2023.1/edge
nova-cloud-controller:
expose: True
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: 2023.1/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: 2023.1/edge
relations:
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-compute:image-service'
- 'glance:image-service'
- - 'nova-compute:ceph'
- 'ceph-mon:client'
- - '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'
- - 'cinder-ceph:ceph-access'
- 'nova-compute:ceph-access'

View File

@ -66,7 +66,8 @@ applications:
channel: 8.0/edge
ceph-osd:
charm: ../../ceph-osd.charm
charm: ch:ceph-osd
channel: quincy/edge
num_units: 3
storage:
osd-devices: 'cinder,10G,2'

View File

@ -66,7 +66,8 @@ applications:
channel: latest/edge
ceph-osd:
charm: ../../ceph-osd.charm
charm: ch:ceph-osd
channel: latest/edge
num_units: 3
storage:
osd-devices: 'cinder,10G,2'

View File

@ -8,12 +8,24 @@ gate_bundles:
- mantic-bobcat
smoke_bundles:
- focal-xena
- jammy-antelope
configure:
- zaza.openstack.charm_tests.glance.setup.add_lts_image
- install:
- zaza.openstack.charm_tests.glance.setup.add_lts_image
tests:
- install:
- zaza.openstack.charm_tests.ceph.tests.CephLowLevelTest
- zaza.openstack.charm_tests.ceph.tests.CephTest
- zaza.openstack.charm_tests.ceph.osd.tests.SecurityTest
- zaza.openstack.charm_tests.ceph.osd.tests.ServiceTest
- zaza.openstack.charm_tests.ceph.tests.CephLowLevelTest
- zaza.openstack.charm_tests.ceph.tests.CephTest
- zaza.openstack.charm_tests.ceph.osd.tests.SecurityTest
- zaza.openstack.charm_tests.ceph.osd.tests.ServiceTest
# Charm upgrade, then re-run tests
- zaza.charm_tests.lifecycle.tests.UpgradeCharmsToPath;ceph-osd
- zaza.openstack.charm_tests.ceph.tests.CephLowLevelTest
- zaza.openstack.charm_tests.ceph.tests.CephTest
- zaza.openstack.charm_tests.ceph.osd.tests.SecurityTest