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: I144c385c844e5f321070fe0dd9cb8da2b8e6e61c
This commit is contained in:
Billy Olsen 2024-06-21 17:45:43 -07:00 committed by Billy Olsen
parent 91f868b420
commit 0cbd0e70b8
No known key found for this signature in database
GPG Key ID: 6A8CA9BDB5995260
8 changed files with 32 additions and 551 deletions

View File

@ -5,45 +5,27 @@ parts:
source: src/
plugin: reactive
reactive-charm-build-arguments:
- --binary-wheels-from-source
- --verbose
- --binary-wheels-from-source
- --verbose
build-packages:
- libpython3-dev
- 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]
- build-on:
- name: ubuntu
channel: "22.04"
architectures: [s390x]
run-on:
- name: ubuntu
channel: "22.04"
architectures: [s390x]
- build-on:
- name: ubuntu
channel: "22.04"
architectures: [ppc64el]
run-on:
- name: ubuntu
channel: "22.04"
architectures: [ppc64el]
- build-on:
- name: ubuntu
channel: "22.04"
architectures: [arm64]
run-on:
- name: ubuntu
channel: "22.04"
architectures: [arm64]
- CHARM_INTERFACES_DIR: /root/project/interfaces/
- CHARM_LAYERS_DIR: /root/project/layers/
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: neutron-api-plugin-ovn
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/beta

View File

@ -1,166 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
local_overlay_enabled: False
series: &series jammy
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge
ovn-central:
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
neutron-api-plugin-ovn:
charm: ../../../neutron-api-plugin-ovn_ubuntu-22.04-amd64.charm
hacluster-neutron-api:
charm: ch:hacluster
channel: latest/edge
neutron-api:
charm: ch:neutron-api
series: *series
num_units: 3
options:
# NOTE(fnordahl): At current state of upstream Neutron development this
# is a requirement. Remove once fixed upstream.
enable-ml2-port-security: true
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *openstack-origin
channel: 2024.1/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
nova-cloud-controller:
charm: ch:nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
openstack-origin: *openstack-origin
channel: 2024.1/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
nova-compute:
constraints: "root-disk=20G mem=4G"
charm: ch:nova-compute
num_units: 2
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: *openstack-origin
channel: 2024.1/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
relations:
- - hacluster-neutron-api:ha
- neutron-api:ha
- - neutron-api:amqp
- rabbitmq-server:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:identity-service
- keystone:identity-service
- - nova-cloud-controller:amqp
- rabbitmq-server:amqp
- - nova-compute:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:identity-service
- keystone:identity-service
- - nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
- - glance:identity-service
- keystone:identity-service
- - glance:amqp
- rabbitmq-server:amqp
- - nova-compute:image-service
- glance:image-service
- - nova-cloud-controller:image-service
- glance:image-service
- - placement:identity-service
- keystone:identity-service
- - placement:placement
- nova-cloud-controller:placement
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - ovn-central:certificates
- vault:certificates
- - ovn-central:ovsdb-cms
- neutron-api-plugin-ovn:ovsdb-cms
- - neutron-api:certificates
- vault:certificates
- - ovn-chassis:nova-compute
- nova-compute:neutron-plugin
- - ovn-chassis:certificates
- vault:certificates
- - ovn-chassis:ovsdb
- ovn-central:ovsdb
- - vault:certificates
- neutron-api-plugin-ovn:certificates
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- placement:certificates
- ["keystone:shared-db", "keystone-mysql-router:shared-db"]
- ["glance:shared-db", "glance-mysql-router:shared-db"]
- ["nova-cloud-controller:shared-db", "nova-mysql-router:shared-db"]
- ["neutron-api:shared-db", "neutron-mysql-router:shared-db"]
- ["placement:shared-db", "placement-mysql-router:shared-db"]
- ["vault:shared-db", "vault-mysql-router:shared-db"]
- ["keystone-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["nova-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["glance-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["neutron-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]

View File

@ -1,166 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
local_overlay_enabled: False
series: &series jammy
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge
ovn-central:
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
neutron-api-plugin-ovn:
charm: ../../../neutron-api-plugin-ovn_ubuntu-22.04-amd64.charm
hacluster-neutron-api:
charm: ch:hacluster
channel: latest/edge
neutron-api:
charm: ch:neutron-api
series: *series
num_units: 3
options:
# NOTE(fnordahl): At current state of upstream Neutron development this
# is a requirement. Remove once fixed upstream.
enable-ml2-port-security: true
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *openstack-origin
channel: 2024.1/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
nova-cloud-controller:
charm: ch:nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
openstack-origin: *openstack-origin
channel: 2024.1/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
nova-compute:
constraints: "root-disk=20G mem=4G"
charm: ch:nova-compute
num_units: 2
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: *openstack-origin
channel: 2024.1/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
relations:
- - hacluster-neutron-api:ha
- neutron-api:ha
- - neutron-api:amqp
- rabbitmq-server:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:identity-service
- keystone:identity-service
- - nova-cloud-controller:amqp
- rabbitmq-server:amqp
- - nova-compute:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:identity-service
- keystone:identity-service
- - nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
- - glance:identity-service
- keystone:identity-service
- - glance:amqp
- rabbitmq-server:amqp
- - nova-compute:image-service
- glance:image-service
- - nova-cloud-controller:image-service
- glance:image-service
- - placement:identity-service
- keystone:identity-service
- - placement:placement
- nova-cloud-controller:placement
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - ovn-central:certificates
- vault:certificates
- - ovn-central:ovsdb-cms
- neutron-api-plugin-ovn:ovsdb-cms
- - neutron-api:certificates
- vault:certificates
- - ovn-chassis:nova-compute
- nova-compute:neutron-plugin
- - ovn-chassis:certificates
- vault:certificates
- - ovn-chassis:ovsdb
- ovn-central:ovsdb
- - vault:certificates
- neutron-api-plugin-ovn:certificates
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- placement:certificates
- ["keystone:shared-db", "keystone-mysql-router:shared-db"]
- ["glance:shared-db", "glance-mysql-router:shared-db"]
- ["nova-cloud-controller:shared-db", "nova-mysql-router:shared-db"]
- ["neutron-api:shared-db", "neutron-mysql-router:shared-db"]
- ["placement:shared-db", "placement-mysql-router:shared-db"]
- ["vault:shared-db", "vault-mysql-router:shared-db"]
- ["keystone-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["nova-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["glance-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["neutron-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]

View File

@ -1,166 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
local_overlay_enabled: False
series: &series jammy
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge
ovn-central:
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
neutron-api-plugin-ovn:
charm: ../../../neutron-api-plugin-ovn_ubuntu-22.04-amd64.charm
hacluster-neutron-api:
charm: ch:hacluster
channel: latest/edge
neutron-api:
charm: ch:neutron-api
series: *series
num_units: 3
options:
# NOTE(fnordahl): At current state of upstream Neutron development this
# is a requirement. Remove once fixed upstream.
enable-ml2-port-security: true
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *openstack-origin
channel: 2024.1/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
nova-cloud-controller:
charm: ch:nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
openstack-origin: *openstack-origin
channel: 2024.1/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
nova-compute:
constraints: "root-disk=20G mem=4G"
charm: ch:nova-compute
num_units: 2
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: *openstack-origin
channel: 2024.1/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
relations:
- - hacluster-neutron-api:ha
- neutron-api:ha
- - neutron-api:amqp
- rabbitmq-server:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:identity-service
- keystone:identity-service
- - nova-cloud-controller:amqp
- rabbitmq-server:amqp
- - nova-compute:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:identity-service
- keystone:identity-service
- - nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
- - glance:identity-service
- keystone:identity-service
- - glance:amqp
- rabbitmq-server:amqp
- - nova-compute:image-service
- glance:image-service
- - nova-cloud-controller:image-service
- glance:image-service
- - placement:identity-service
- keystone:identity-service
- - placement:placement
- nova-cloud-controller:placement
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - ovn-central:certificates
- vault:certificates
- - ovn-central:ovsdb-cms
- neutron-api-plugin-ovn:ovsdb-cms
- - neutron-api:certificates
- vault:certificates
- - ovn-chassis:nova-compute
- nova-compute:neutron-plugin
- - ovn-chassis:certificates
- vault:certificates
- - ovn-chassis:ovsdb
- ovn-central:ovsdb
- - vault:certificates
- neutron-api-plugin-ovn:certificates
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- placement:certificates
- ["keystone:shared-db", "keystone-mysql-router:shared-db"]
- ["glance:shared-db", "glance-mysql-router:shared-db"]
- ["nova-cloud-controller:shared-db", "nova-mysql-router:shared-db"]
- ["neutron-api:shared-db", "neutron-mysql-router:shared-db"]
- ["placement:shared-db", "placement-mysql-router:shared-db"]
- ["vault:shared-db", "vault-mysql-router:shared-db"]
- ["keystone-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["nova-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["glance-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["neutron-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]

View File

@ -59,26 +59,26 @@ applications:
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
nova-cloud-controller:
charm: ch:nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
@ -92,13 +92,13 @@ applications:
enable-resize: true
migration-auth-type: ssh
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
options:
openstack-origin: *openstack-origin
channel: 2024.1/edge
channel: latest/edge
relations:
- - hacluster-neutron-api:ha
- neutron-api:ha

View File

@ -1,11 +1,9 @@
charm_name: neutron-api-plugin-ovn
smoke_bundles:
- jammy-caracal
- noble-caracal
gate_bundles:
- jammy-antelope
- jammy-bobcat
- jammy-caracal
- noble-caracal
dev_bundles:
- noble-caracal
target_deploy_status:
@ -32,6 +30,3 @@ configure:
tests:
- zaza.openstack.charm_tests.neutron.tests.NeutronNetworkingTest
tests_options:
force_deploy:
- noble-caracal

View File

@ -5,6 +5,8 @@ poetry-core
flit_core
importlib_metadata<3.1.1
git+https://github.com/wolsen/charms.reactive.git@fix-entry-points#egg=charms.reactive
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack
git+https://github.com/juju/charm-helpers.git#egg=charmhelpers