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: templates:
- openstack-python3-charm-jobs - openstack-python3-charm-jobs
- openstack-cover-jobs - openstack-cover-jobs
check:
jobs:
- charmbuild
vars:
charm_build_name: aodh

View File

@ -9,18 +9,22 @@ parts:
build-packages: build-packages:
- libpython3-dev - libpython3-dev
build-snaps: build-snaps:
- charm - charm/latest/edge
build-environment: build-environment:
- CHARM_INTERFACES_DIR: /root/project/interfaces/ - CHARM_INTERFACES_DIR: /root/project/interfaces/
- CHARM_LAYERS_DIR: /root/project/layers/ - CHARM_LAYERS_DIR: /root/project/layers/
bases: base: ubuntu@24.04
- build-on: platforms:
- name: ubuntu amd64:
channel: "22.04" build-on: amd64
architectures: build-for: amd64
- amd64 arm64:
run-on: build-on: arm64
- name: ubuntu build-for: arm64
channel: "22.04" ppc64el:
architectures: [amd64, s390x, ppc64el, arm64] build-on: ppc64el
build-for: ppc64el
s390x:
build-on: s390x
build-for: s390x

View File

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

View File

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

View File

@ -13,8 +13,6 @@ description: |
docs: https://discourse.charmhub.io/t/aodh-docs-index/11004 docs: https://discourse.charmhub.io/t/aodh-docs-index/11004
tags: tags:
- openstack - openstack
series:
- jammy
subordinate: false subordinate: false
requires: requires:
mongodb: 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: 12:
13: 13:
14: 14:
series: focal series: noble
# We specify machine placements for these to improve iteration # We specify machine placements for these to improve iteration
# time, given that machine "0" comes up way before machine "7" # time, given that machine "0" comes up way before machine "7"
@ -73,7 +73,7 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '5' - '5'
channel: 2024.1/edge channel: latest/edge
ceilometer: ceilometer:
charm: ch:ceilometer charm: ch:ceilometer
@ -82,7 +82,7 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '6' - '6'
channel: 2024.1/edge channel: latest/edge
ceph-osd: ceph-osd:
charm: ch:ceph-osd charm: ch:ceph-osd
@ -93,7 +93,7 @@ applications:
- '7' - '7'
- '8' - '8'
- '9' - '9'
channel: reef/edge channel: latest/edge
ceph-mon: ceph-mon:
charm: ch:ceph-mon charm: ch:ceph-mon
@ -105,7 +105,7 @@ applications:
- '10' - '10'
- '11' - '11'
- '12' - '12'
channel: reef/edge channel: latest/edge
gnocchi: gnocchi:
charm: ch:gnocchi charm: ch:gnocchi
@ -114,13 +114,13 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '13' - '13'
channel: 2024.1/edge channel: latest/edge
memcached: memcached:
charm: ch:memcached charm: ch:memcached
num_units: 1 num_units: 1
# Note that holding memcached at focal as it's not available at jammy yet. # Holding memcached at jammy as it's not available for noble
series: focal series: jammy
to: to:
- '14' - '14'

View File

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

View File

@ -26,7 +26,7 @@ passenv =
OS_* OS_*
TEST_* TEST_*
deps = 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 -r{toxinidir}/test-requirements.txt
[testenv:pep8] [testenv:pep8]

View File

@ -62,21 +62,21 @@ commands =
[testenv:py3] [testenv:py3]
basepython = python3 basepython = python3
deps = 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 -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs} commands = stestr run --slowest {posargs}
[testenv:py310] [testenv:py310]
basepython = python3.10 basepython = python3.10
deps = 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 -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs} commands = stestr run --slowest {posargs}
[testenv:py312] [testenv:py312]
basepython = python3.12 basepython = python3.12
deps = 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 -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs} commands = stestr run --slowest {posargs}
@ -91,7 +91,7 @@ commands = flake8 {posargs} src unit_tests
# https://github.com/openstack/nova/blob/master/tox.ini # https://github.com/openstack/nova/blob/master/tox.ini
basepython = python3 basepython = python3
deps = 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}/requirements.txt
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
setenv = setenv =