Add charmcraft 3 support

Summary of changes:
- Update the charmcraft.yaml file to use base and platforms, only
  allowing noble support.
- Update config to default to caracal.
- Update osci.yaml to use the charmcraft 3.x/beta
- Drop non-noble tests
- Update constraints file from -2024.1.txt to -noble.txt
- Add charmbuild to .zuul.yaml

Change-Id: I08613408a391b3982dfdd9e9f245921abf00ea64
This commit is contained in:
Myles Penner 2024-08-30 16:28:23 +00:00
parent 944233da41
commit f359488858
12 changed files with 37 additions and 572 deletions

View File

@ -2,3 +2,8 @@
templates:
- openstack-python3-charm-jobs
- openstack-cover-jobs
check:
jobs:
- charmbuild
vars:
charm_build_name: aodh

View File

@ -9,18 +9,22 @@ parts:
build-packages:
- libpython3-dev
build-snaps:
- charm
- charm/latest/edge
build-environment:
- CHARM_INTERFACES_DIR: /root/project/interfaces/
- CHARM_LAYERS_DIR: /root/project/layers/
bases:
- build-on:
- name: ubuntu
channel: "22.04"
architectures:
- amd64
run-on:
- 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

@ -6,4 +6,4 @@
needs_charm_build: true
charm_build_name: aodh
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/stable

View File

@ -22,4 +22,4 @@ options:
description: |
Comma separated list of nagios servicegroups for the service checks.
openstack-origin:
default: bobcat
default: caracal

View File

@ -13,8 +13,6 @@ description: |
docs: https://discourse.charmhub.io/t/aodh-docs-index/11004
tags:
- openstack
series:
- jammy
subordinate: false
requires:
mongodb:

View File

@ -1,180 +0,0 @@
local_overlay_enabled: False
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
series: jammy
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:
series: focal
# We specify machine placements for these to improve iteration
# time, given that machine "0" comes up way before machine "7"
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
aodh-mysql-router:
charm: ch:mysql-router
channel: latest/edge
gnocchi-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
aodh:
charm: ../../../aodh.charm
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
to:
- '4'
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
ceilometer:
charm: ch:ceilometer
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
storage:
osd-devices: 'cinder,10G'
to:
- '7'
- '8'
- '9'
channel: reef/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
monitor-count: '3'
to:
- '10'
- '11'
- '12'
channel: reef/edge
gnocchi:
charm: ch:gnocchi
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '13'
channel: 2024.1/edge
memcached:
charm: ch:memcached
num_units: 1
# Note that holding memcached at focal as it's not available at jammy yet.
series: focal
to:
- '14'
nrpe:
charm: ch:nrpe
channel: latest/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'ceph-osd:mon'
- 'ceph-mon:osd'
- - 'aodh:shared-db'
- 'aodh-mysql-router:shared-db'
- - 'aodh-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'aodh:amqp'
- 'rabbitmq-server:amqp'
- - 'aodh:identity-service'
- 'keystone:identity-service'
- - 'ceilometer:amqp'
- 'rabbitmq-server:amqp'
- - 'ceilometer:identity-credentials'
- 'keystone:identity-credentials'
- - 'ceilometer:identity-notifications'
- 'keystone:identity-notifications'
- - 'ceilometer:metric-service'
- 'gnocchi:metric-service'
- - 'gnocchi:identity-service'
- 'keystone:identity-service'
- - 'gnocchi:shared-db'
- 'gnocchi-mysql-router:shared-db'
- - 'gnocchi-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'gnocchi:storage-ceph'
- 'ceph-mon:client'
- - 'gnocchi:coordinator-memcached'
- 'memcached:cache'
- - 'aodh:nrpe-external-master'
- 'nrpe:nrpe-external-master'

View File

@ -1,180 +0,0 @@
local_overlay_enabled: False
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
series: jammy
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:
series: focal
# We specify machine placements for these to improve iteration
# time, given that machine "0" comes up way before machine "7"
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
aodh-mysql-router:
charm: ch:mysql-router
channel: latest/edge
gnocchi-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
aodh:
charm: ../../../aodh.charm
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
to:
- '4'
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
ceilometer:
charm: ch:ceilometer
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
storage:
osd-devices: 'cinder,10G'
to:
- '7'
- '8'
- '9'
channel: reef/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
monitor-count: '3'
to:
- '10'
- '11'
- '12'
channel: reef/edge
gnocchi:
charm: ch:gnocchi
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '13'
channel: 2024.1/edge
memcached:
charm: ch:memcached
num_units: 1
# Note that holding memcached at focal as it's not available at jammy yet.
series: focal
to:
- '14'
nrpe:
charm: ch:nrpe
channel: latest/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'ceph-osd:mon'
- 'ceph-mon:osd'
- - 'aodh:shared-db'
- 'aodh-mysql-router:shared-db'
- - 'aodh-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'aodh:amqp'
- 'rabbitmq-server:amqp'
- - 'aodh:identity-service'
- 'keystone:identity-service'
- - 'ceilometer:amqp'
- 'rabbitmq-server:amqp'
- - 'ceilometer:identity-credentials'
- 'keystone:identity-credentials'
- - 'ceilometer:identity-notifications'
- 'keystone:identity-notifications'
- - 'ceilometer:metric-service'
- 'gnocchi:metric-service'
- - 'gnocchi:identity-service'
- 'keystone:identity-service'
- - 'gnocchi:shared-db'
- 'gnocchi-mysql-router:shared-db'
- - 'gnocchi-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'gnocchi:storage-ceph'
- 'ceph-mon:client'
- - 'gnocchi:coordinator-memcached'
- 'memcached:cache'
- - 'aodh:nrpe-external-master'
- 'nrpe:nrpe-external-master'

View File

@ -1,180 +0,0 @@
local_overlay_enabled: False
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
series: jammy
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:
series: focal
# We specify machine placements for these to improve iteration
# time, given that machine "0" comes up way before machine "7"
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
aodh-mysql-router:
charm: ch:mysql-router
channel: latest/edge
gnocchi-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
aodh:
charm: ../../../aodh.charm
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
to:
- '4'
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
ceilometer:
charm: ch:ceilometer
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
storage:
osd-devices: 'cinder,10G'
to:
- '7'
- '8'
- '9'
channel: reef/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
expected-osd-count: 3
monitor-count: '3'
to:
- '10'
- '11'
- '12'
channel: reef/edge
gnocchi:
charm: ch:gnocchi
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '13'
channel: 2024.1/edge
memcached:
charm: ch:memcached
num_units: 1
# Note that holding memcached at focal as it's not available at jammy yet.
series: focal
to:
- '14'
nrpe:
charm: ch:nrpe
channel: latest/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'ceph-osd:mon'
- 'ceph-mon:osd'
- - 'aodh:shared-db'
- 'aodh-mysql-router:shared-db'
- - 'aodh-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'aodh:amqp'
- 'rabbitmq-server:amqp'
- - 'aodh:identity-service'
- 'keystone:identity-service'
- - 'ceilometer:amqp'
- 'rabbitmq-server:amqp'
- - 'ceilometer:identity-credentials'
- 'keystone:identity-credentials'
- - 'ceilometer:identity-notifications'
- 'keystone:identity-notifications'
- - 'ceilometer:metric-service'
- 'gnocchi:metric-service'
- - 'gnocchi:identity-service'
- 'keystone:identity-service'
- - 'gnocchi:shared-db'
- 'gnocchi-mysql-router:shared-db'
- - 'gnocchi-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'gnocchi:storage-ceph'
- 'ceph-mon:client'
- - 'gnocchi:coordinator-memcached'
- 'memcached:cache'
- - 'aodh:nrpe-external-master'
- 'nrpe:nrpe-external-master'

View File

@ -24,7 +24,7 @@ machines:
12:
13:
14:
series: focal
series: noble
# We specify machine placements for these to improve iteration
# time, given that machine "0" comes up way before machine "7"
@ -73,7 +73,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
channel: latest/edge
ceilometer:
charm: ch:ceilometer
@ -82,7 +82,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
@ -93,7 +93,7 @@ applications:
- '7'
- '8'
- '9'
channel: reef/edge
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
@ -105,7 +105,7 @@ applications:
- '10'
- '11'
- '12'
channel: reef/edge
channel: latest/edge
gnocchi:
charm: ch:gnocchi
@ -114,13 +114,13 @@ applications:
openstack-origin: *openstack-origin
to:
- '13'
channel: 2024.1/edge
channel: latest/edge
memcached:
charm: ch:memcached
num_units: 1
# Note that holding memcached at focal as it's not available at jammy yet.
series: focal
# Holding memcached at jammy as it's not available for noble
series: jammy
to:
- '14'

View File

@ -1,13 +1,11 @@
charm_name: aodh
gate_bundles:
- jammy-antelope
- jammy-bobcat
- jammy-caracal
- noble-caracal
dev_bundles:
- noble-caracal
smoke_bundles:
- jammy-caracal
- noble-caracal
tests:
- zaza.openstack.charm_tests.aodh.tests.AodhTest
configure:

View File

@ -26,7 +26,7 @@ passenv =
OS_*
TEST_*
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
-r{toxinidir}/test-requirements.txt
[testenv:pep8]

View File

@ -62,21 +62,21 @@ commands =
[testenv:py3]
basepython = python3
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py310]
basepython = python3.10
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py312]
basepython = python3.12
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
@ -91,7 +91,7 @@ commands = flake8 {posargs} src unit_tests
# https://github.com/openstack/nova/blob/master/tox.ini
basepython = python3
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
setenv =