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: I13c14f0cb413daaf81fa93dad70314469f027ee3
This commit is contained in:
Myles Penner
2024-08-30 21:59:24 +00:00
parent 40c3c3aeba
commit e9a08f5c2d
12 changed files with 33 additions and 378 deletions

View File

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

View File

@@ -9,16 +9,21 @@ parts:
- python3-dev
source: src/
build-snaps:
- charm
- charm/latest/edge
build-environment:
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/
bases:
- build-on:
- name: ubuntu
channel: "22.04"
architectures: [amd64]
run-on:
- name: ubuntu
channel: "22.04"
architectures: [amd64, arm64, ppc64el, s390x]
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: watcher-dashboard
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/stable

View File

@@ -7,8 +7,6 @@ description: |
service, Watcher.
tags:
- openstack
series:
- jammy
subordinate: true
requires:
dashboard:

View File

@@ -1,117 +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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
openstack-dashboard-mysql-router:
charm: ch:mysql-router
channel: latest/edge
watcher-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
channel: latest/edge
num_units: 3
options:
source: distro
to:
- '0'
- '1'
- '2'
keystone:
charm: ch:keystone
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
openstack-dashboard:
charm: ch:openstack-dashboard
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '4'
rabbitmq-server:
charm: ch:rabbitmq-server
channel: latest/edge
num_units: 1
options:
source: *openstack-origin
to:
- '5'
watcher:
charm: ch:watcher
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
datasources: gnocchi
planner: weight
planner-config: >
{
"weights": "change_node_power_state:9,change_nova_service_state:50,migrate:30,nop:70,resize:20,sleep:40,turn_host_to_acpi_s3_state:10,volume_migrate:60",
"parallelization": "change_node_power_state:2,change_nova_service_state:1,migrate:2,nop:1,resize:2,sleep:1,turn_host_to_acpi_s3_state:2,volume_migrate:2"
}
to:
- '6'
watcher-dashboard:
charm: ../../../watcher-dashboard.charm
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'openstack-dashboard:shared-db'
- 'openstack-dashboard-mysql-router:shared-db'
- - 'openstack-dashboard-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'watcher:shared-db'
- 'watcher-mysql-router:shared-db'
- - 'watcher-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'keystone:identity-service'
- 'watcher:identity-service'
- - 'keystone:identity-service'
- 'openstack-dashboard:identity-service'
- - 'openstack-dashboard:dashboard-plugin'
- 'watcher-dashboard:dashboard'
- - 'rabbitmq-server:amqp'
- 'watcher:amqp'

View File

@@ -1,117 +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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
openstack-dashboard-mysql-router:
charm: ch:mysql-router
channel: latest/edge
watcher-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
channel: latest/edge
num_units: 3
options:
source: distro
to:
- '0'
- '1'
- '2'
keystone:
charm: ch:keystone
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
openstack-dashboard:
charm: ch:openstack-dashboard
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '4'
rabbitmq-server:
charm: ch:rabbitmq-server
channel: latest/edge
num_units: 1
options:
source: *openstack-origin
to:
- '5'
watcher:
charm: ch:watcher
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
datasources: gnocchi
planner: weight
planner-config: >
{
"weights": "change_node_power_state:9,change_nova_service_state:50,migrate:30,nop:70,resize:20,sleep:40,turn_host_to_acpi_s3_state:10,volume_migrate:60",
"parallelization": "change_node_power_state:2,change_nova_service_state:1,migrate:2,nop:1,resize:2,sleep:1,turn_host_to_acpi_s3_state:2,volume_migrate:2"
}
to:
- '6'
watcher-dashboard:
charm: ../../../watcher-dashboard.charm
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'openstack-dashboard:shared-db'
- 'openstack-dashboard-mysql-router:shared-db'
- - 'openstack-dashboard-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'watcher:shared-db'
- 'watcher-mysql-router:shared-db'
- - 'watcher-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'keystone:identity-service'
- 'watcher:identity-service'
- - 'keystone:identity-service'
- 'openstack-dashboard:identity-service'
- - 'openstack-dashboard:dashboard-plugin'
- 'watcher-dashboard:dashboard'
- - 'rabbitmq-server:amqp'
- 'watcher:amqp'

View File

@@ -1,117 +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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
openstack-dashboard-mysql-router:
charm: ch:mysql-router
channel: latest/edge
watcher-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
channel: latest/edge
num_units: 3
options:
source: distro
to:
- '0'
- '1'
- '2'
keystone:
charm: ch:keystone
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
openstack-dashboard:
charm: ch:openstack-dashboard
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '4'
rabbitmq-server:
charm: ch:rabbitmq-server
channel: latest/edge
num_units: 1
options:
source: *openstack-origin
to:
- '5'
watcher:
charm: ch:watcher
channel: 2024.1/edge
num_units: 1
options:
openstack-origin: *openstack-origin
datasources: gnocchi
planner: weight
planner-config: >
{
"weights": "change_node_power_state:9,change_nova_service_state:50,migrate:30,nop:70,resize:20,sleep:40,turn_host_to_acpi_s3_state:10,volume_migrate:60",
"parallelization": "change_node_power_state:2,change_nova_service_state:1,migrate:2,nop:1,resize:2,sleep:1,turn_host_to_acpi_s3_state:2,volume_migrate:2"
}
to:
- '6'
watcher-dashboard:
charm: ../../../watcher-dashboard.charm
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'openstack-dashboard:shared-db'
- 'openstack-dashboard-mysql-router:shared-db'
- - 'openstack-dashboard-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'watcher:shared-db'
- 'watcher-mysql-router:shared-db'
- - 'watcher-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'keystone:identity-service'
- 'watcher:identity-service'
- - 'keystone:identity-service'
- 'openstack-dashboard:identity-service'
- - 'openstack-dashboard:dashboard-plugin'
- 'watcher-dashboard:dashboard'
- - 'rabbitmq-server:amqp'
- 'watcher:amqp'

View File

@@ -42,7 +42,7 @@ applications:
keystone:
charm: ch:keystone
channel: 2024.1/edge
channel: latest/edge
num_units: 1
options:
openstack-origin: *openstack-origin
@@ -51,7 +51,7 @@ applications:
openstack-dashboard:
charm: ch:openstack-dashboard
channel: 2024.1/edge
channel: latest/edge
num_units: 1
options:
openstack-origin: *openstack-origin
@@ -69,7 +69,7 @@ applications:
watcher:
charm: ch:watcher
channel: 2024.1/edge
channel: latest/edge
num_units: 1
options:
openstack-origin: *openstack-origin

View File

@@ -1,10 +1,8 @@
charm_name: watcher-dashboard
gate_bundles:
- jammy-antelope
- jammy-bobcat
- jammy-caracal
- noble-caracal
smoke_bundles:
- jammy-caracal
- noble-caracal
configure:
- zaza.charm_tests.noop.setup.basic_setup

View File

@@ -20,7 +20,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]

12
tox.ini
View File

@@ -53,35 +53,35 @@ 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:py38]
basepython = python3.8
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:py311]
basepython = python3.11
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}
@@ -104,7 +104,7 @@ commands = functest-run-suite --keep-model --bundle {posargs}
# 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 =

Binary file not shown.