Add support for interim Ubuntu releases

- update bundles to include UCA pocket tests
- update test configuration
- update metadata to include kinetic and lunar
- update snapcraft to allow run-on for kinetic and lunar

Change-Id: Ic4c19ccfc0ff42280634f5ba705c49ffb946799e
This commit is contained in:
Chris MacNaughton 2023-03-20 14:01:08 -04:00 committed by Luciano Lo Giudice
parent 4a5c98fdac
commit 941088f691
13 changed files with 656 additions and 22 deletions

View File

@ -2,3 +2,4 @@
host=review.opendev.org
port=29418
project=openstack/charm-ceph-proxy.git
defaultbranch=stable/quincy.2

View File

@ -2,4 +2,5 @@
templates:
- openstack-python3-charm-zed-jobs
- openstack-python3-charm-yoga-jobs
- openstack-python3-charm-jobs

View File

@ -31,3 +31,9 @@ bases:
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "22.10"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "23.04"
architectures: [amd64, s390x, ppc64el, arm64]

View File

@ -10,7 +10,7 @@ options:
Setting this to True will allow supporting services to log to syslog.
source:
type: string
default: zed
default: antelope
description: |
Repository from which to install. May be one of the following:
distro (default), ppa:somecustom/ppa, a deb url sources entry,

View File

@ -11,6 +11,8 @@ tags:
- misc
series:
- jammy
- kinetic
- lunar
extra-bindings:
public:
cluster:

View File

@ -9,6 +9,8 @@
- jammy-yoga-ec
- kinetic-zed-ec:
voting: false
- lunar-antelope-ec:
voting: false
vars:
needs_charm_build: true
charm_build_name: ceph-proxy
@ -31,3 +33,10 @@
- jammy-yoga-ec
vars:
tox_extra_args: erasure-coded:kinetic-zed-ec
- job:
name: lunar-antelope-ec
parent: func-target
dependencies:
- jammy-yoga-ec
vars:
tox_extra_args: erasure-coded:lunar-antelope-ec

18
pip.sh
View File

@ -1,18 +0,0 @@
#!/usr/bin/env bash
#
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos. See the 'global' dir contents for available
# choices of tox.ini for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# setuptools 58.0 dropped the support for use_2to3=true which is needed to
# install blessings (an indirect dependency of charm-tools).
#
# More details on the beahvior of tox and virtualenv creation can be found at
# https://github.com/tox-dev/tox/issues/448
#
# This script is wrapper to force the use of the pinned versions early in the
# process when the virtualenv was created and upgraded before installing the
# depedencies declared in the target.
pip install 'pip<20.3' 'setuptools<50.0.0'
pip "$@"

View File

@ -20,8 +20,8 @@ cliff<3.0.0
coverage>=4.5.2
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
git+https://github.com/openstack-charmers/zaza.git@stable/zed#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/zed#egg=zaza.openstack
# Needed for charm-glance:
git+https://opendev.org/openstack/tempest.git#egg=tempest

View File

@ -0,0 +1,199 @@
variables:
openstack-origin: &openstack-origin distro
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:
cinder-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: *openstack-origin
to:
- '3'
- '4'
- '5'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
storage:
osd-devices: 10G
options:
source: *openstack-origin
to:
- '6'
- '7'
- '8'
channel: latest/edge
ceph-proxy:
charm: ../../ceph-proxy.charm
num_units: 1
options:
source: *openstack-origin
to:
- '9'
ceph-radosgw:
charm: ch:ceph-radosgw
num_units: 1
options:
source: *openstack-origin
to:
- '10'
channel: latest/edge
cinder:
charm: ch:cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: ""
ephemeral-unmount: ""
glance-api-version: 2
overwrite: "false"
constraints: mem=2048
to:
- '11'
channel: latest/edge
cinder-ceph:
charm: ch:cinder-ceph
options:
restrict-ceph-pools: True
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
constraints: mem=1024
to:
- '12'
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
constraints: mem=1024
options:
source: *openstack-origin
to:
- '13'
channel: latest/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: latest/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: latest/edge
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'
- - 'nova-compute:ceph-access'
- 'cinder-ceph:ceph-access'
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'

View File

@ -0,0 +1,228 @@
variables:
openstack-origin: &openstack-origin distro
series: lunar
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: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: *openstack-origin
to:
- '3'
- '4'
- '5'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 6
storage:
osd-devices: 10G
options:
source: *openstack-origin
to:
- '6'
- '7'
- '8'
- '16'
- '17'
- '18'
channel: latest/edge
ceph-proxy:
charm: ../../ceph-proxy.charm
num_units: 1
options:
source: *openstack-origin
to:
- '9'
ceph-radosgw:
charm: ch:ceph-radosgw
num_units: 1
options:
source: *openstack-origin
pool-type: erasure-coded
ec-profile-k: 4
ec-profile-m: 2
to:
- '10'
channel: latest/edge
cinder:
charm: ch:cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: ""
ephemeral-unmount: ""
glance-api-version: 2
overwrite: "false"
constraints: mem=2048
to:
- '11'
channel: latest/edge
cinder-ceph:
charm: ch: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
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
constraints: mem=1024
to:
- '12'
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
constraints: mem=1024
options:
source: *openstack-origin
to:
- '13'
channel: latest/edge
glance:
charm: ch: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'
channel: latest/edge
nova-compute:
charm: ch: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'
channel: latest/edge
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

@ -0,0 +1,199 @@
variables:
openstack-origin: &openstack-origin cloud:lunar-antelope
series: lunar
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:
cinder-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
source: *openstack-origin
to:
- '3'
- '4'
- '5'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
storage:
osd-devices: 10G
options:
source: *openstack-origin
to:
- '6'
- '7'
- '8'
channel: latest/edge
ceph-proxy:
charm: ../../ceph-proxy.charm
num_units: 1
options:
source: *openstack-origin
to:
- '9'
ceph-radosgw:
charm: ch:ceph-radosgw
num_units: 1
options:
source: *openstack-origin
to:
- '10'
channel: latest/edge
cinder:
charm: ch:cinder
num_units: 1
options:
openstack-origin: *openstack-origin
block-device: ""
ephemeral-unmount: ""
glance-api-version: 2
overwrite: "false"
constraints: mem=2048
to:
- '11'
channel: latest/edge
cinder-ceph:
charm: ch:cinder-ceph
options:
restrict-ceph-pools: True
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
admin-password: openstack
constraints: mem=1024
to:
- '12'
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
constraints: mem=1024
options:
source: *openstack-origin
to:
- '13'
channel: latest/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: latest/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: latest/edge
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'
- - 'nova-compute:ceph-access'
- 'cinder-ceph:ceph-access'
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'

View File

@ -19,9 +19,13 @@ dev_bundles:
- jammy-yoga
- erasure-coded: jammy-yoga-ec
- jammy-zed
- lunar-antelope
- erasure-coded: jammy-zed-ec
- erasure-coded: lunar-antelope-ec
- kinetic-zed
- jammy-antelope
- erasure-coded: kinetic-zed-ec
- erasure-coded: jammy-antelope-ec
smoke_bundles:
- jammy-yoga
@ -49,4 +53,6 @@ target_deploy_status:
tests_options:
force_deploy:
- kinetic-zed
- jammy-antelope
- kinetic-zed-ec
- jammy-antelope-ec

View File

@ -26,6 +26,7 @@ requires =
pip < 20.3
virtualenv < 20.0
setuptools < 50.0.0
tox < 4.0.0
# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci
minversion = 3.18.0
@ -35,7 +36,7 @@ setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
CHARM_DIR={envdir}
install_command =
{toxinidir}/pip.sh install {opts} {packages}
pip install {opts} {packages}
commands = stestr run --slowest {posargs}
allowlist_externals =
charmcraft