Add charmcraft 3 support

Update the charmcraft.yaml file to use base and platforms, only
allowing noble support.

- Update osci.yaml to use the charmcraft 3.x/beta
- Add noble/oracular to charmhelpers
- Drop non-noble tests

Change-Id: I348adb15ea78490df3b377eaba9b479ad496b2ca
This commit is contained in:
Billy Olsen 2024-06-21 13:34:47 -07:00 committed by Billy Olsen
parent 503ca402f9
commit 64ba83a3b5
No known key found for this signature in database
GPG Key ID: 6A8CA9BDB5995260
9 changed files with 29 additions and 999 deletions

View File

@ -4,32 +4,18 @@ parts:
charm:
plugin: dump
source: .
prime:
- actions/*
- files/*
- hooks/*
- lib/*
- templates/*
- actions.yaml
- config.yaml
- copyright
- hardening.yaml
- icon.svg
- LICENSE
- Makefile
- metadata.yaml
- README.md
bases:
- build-on:
- name: ubuntu
channel: "20.04"
architectures:
- amd64
run-on:
- name: ubuntu
channel: "20.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]
base: ubuntu@24.04
platforms:
amd64:
build-on: amd64
build-for: amd64
arm64:
build-on: arm64
build-for: arm64
ppc64el:
build-on: ppc64el
build-for: ppc64el
s390x:
build-on: s390x
build-for: s390x

View File

@ -33,6 +33,8 @@ UBUNTU_RELEASES = (
'kinetic',
'lunar',
'mantic',
'noble',
'oracular',
)

View File

@ -1,22 +1,9 @@
- project:
templates:
- charm-unit-jobs-py38
- charm-unit-jobs-py310
- charm-functional-jobs
vars:
needs_charm_build: true
charm_build_name: ceph-osd
build_type: charmcraft
charmcraft_channel: 2.x/stable
check:
jobs:
- new-install-jammy-caracal
- job:
name: new-install-jammy-caracal
parent: func-target
dependencies:
- osci-lint
- charm-build
- tox-py38
vars:
tox_extra_args: '-- install:local-jammy-caracal'
charmcraft_channel: 3.x/beta

View File

@ -1,239 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:focal-yoga
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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: 8.0.19/edge
glance-mysql-router:
charm: ch:mysql-router
channel: 8.0.19/edge
cinder-mysql-router:
charm: ch:mysql-router
channel: 8.0.19/edge
nova-cloud-controller-mysql-router:
charm: ch:mysql-router
channel: 8.0.19/edge
placement-mysql-router:
charm: ch:mysql-router
channel: 8.0.19/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: 8.0.19/edge
ceph-osd:
charm: ch:ceph-osd
channel: quincy/edge
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
options:
source: *openstack-origin
to:
- '9'
channel: 3.9/edge
keystone:
expose: True
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '10'
channel: yoga/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '11'
channel: yoga/edge
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '12'
channel: yoga/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: yoga/edge
cinder-ceph:
charm: ch:cinder-ceph
channel: yoga/edge
nova-cloud-controller:
expose: True
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: yoga/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: yoga/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

@ -1,235 +0,0 @@
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: ch:ceph-osd
channel: quincy/edge
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

@ -1,235 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
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: ch:ceph-osd
channel: reef/edge
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: reef/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.2/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '11'
channel: 2023.2/edge
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '12'
channel: 2023.2/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.2/edge
cinder-ceph:
charm: ch:cinder-ceph
channel: 2023.2/edge
nova-cloud-controller:
expose: True
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: 2023.2/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: 2023.2/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

@ -1,234 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
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: latest/edge
nova-compute:
charm: ch:nova-compute
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '11'
channel: latest/edge
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '12'
channel: latest/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: latest/edge
cinder-ceph:
charm: ch:cinder-ceph
channel: latest/edge
nova-cloud-controller:
expose: True
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '14'
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '15'
channel: latest/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

@ -1,7 +1,7 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
openstack-origin: &openstack-origin distro
series: jammy
series: noble
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -30,19 +30,19 @@ applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
channel: latest/edge
cinder-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
channel: latest/edge
nova-cloud-controller-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: 8.0/edge
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
@ -51,10 +51,10 @@ applications:
- '0'
- '1'
- '2'
channel: 8.0/edge
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
charm: ../../ceph-osd.charm
channel: latest/edge
num_units: 3
storage:
@ -85,7 +85,7 @@ applications:
num_units: 1
to:
- '9'
channel: 3.9/edge
channel: latest/edge
keystone:
expose: True

View File

@ -1,12 +1,10 @@
charm_name: ceph-osd
gate_bundles:
- jammy-yoga
- jammy-bobcat
- jammy-caracal
- noble-caracal
smoke_bundles:
- jammy-caracal
- noble-caracal
configure:
- install: