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
- Drop non-noble tests
- Add temporary override for charms.reactive in wheelhouse.txt

Change-Id: I1d1bbdd60cc247874d97dfc0ee749f2cec3ccfd2
This commit is contained in:
Billy Olsen 2024-06-21 19:41:34 -07:00 committed by Billy Olsen
parent 365fa44952
commit 39c6ab9b6c
No known key found for this signature in database
GPG Key ID: 6A8CA9BDB5995260
8 changed files with 38 additions and 199 deletions

View File

@ -5,84 +5,34 @@ parts:
source: src/
plugin: reactive
reactive-charm-build-arguments:
- --binary-wheels-from-source
- -v
- --binary-wheels-from-source
- -v
build-packages:
- git
- python3-dev
- libffi-dev
- libssl-dev
- rustc
- cargo
- git
- python3-dev
- libffi-dev
- libssl-dev
- rustc
- cargo
build-snaps:
- charm
- charm/latest/edge
build-environment:
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/
- MAKEFLAGS: -j$(nproc)
- CARGO_HTTP_MULTIPLEXING: "false"
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]
- build-on:
- name: ubuntu
channel: "23.10"
architectures: [amd64]
run-on:
- name: ubuntu
channel: "23.10"
architectures: [amd64]
- build-on:
- name: ubuntu
channel: "23.10"
architectures: [s390x]
run-on:
- name: ubuntu
channel: "23.10"
architectures: [s390x]
- build-on:
- name: ubuntu
channel: "23.10"
architectures: [ppc64el]
run-on:
- name: ubuntu
channel: "23.10"
architectures: [ppc64el]
- build-on:
- name: ubuntu
channel: "23.10"
architectures: [arm64]
run-on:
- name: ubuntu
channel: "23.10"
architectures: [arm64]
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/
- MAKEFLAGS: -j$(nproc)
- CARGO_HTTP_MULTIPLEXING: 'false'
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: ovn-chassis
build_type: charmcraft
charmcraft_channel: 2.2/stable
charmcraft_channel: 3.x/beta

View File

@ -1,53 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
local_overlay_enabled: False
series: jammy
applications:
vault:
charm: ch:vault
num_units: 1
# The vault raft support is currently only available for jammy
series: jammy
channel: latest/edge
ovn-central:
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
magpie:
# By default, when instance NUMA placement is not specified,
# a topology of N sockets, each with one core and one thread,
# is used for an instance, where N corresponds to the number of
# instance vCPUs requested.
#
# Let's use a 8 VCPU 2 socket flavor for low level tests
constraints: "instance-type=twosocketm1.xlarge"
charm: ch:magpie
num_units: 2
options:
source: *openstack-origin
channel: latest/edge
ovn-chassis:
charm: ../../../ovn-chassis_ubuntu-22.04-amd64.charm
relations:
- - 'ovn-central:certificates'
- 'vault:certificates'
- - 'magpie:juju-info'
- 'ovn-chassis:juju-info'
- - 'ovn-chassis:ovsdb'
- 'ovn-central:ovsdb'
- - 'ovn-chassis:certificates'
- 'vault:certificates'

View File

@ -1,53 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
local_overlay_enabled: False
series: jammy
applications:
vault:
charm: ch:vault
num_units: 1
# The vault raft support is currently only available for jammy
series: jammy
channel: latest/edge
ovn-central:
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
magpie:
# By default, when instance NUMA placement is not specified,
# a topology of N sockets, each with one core and one thread,
# is used for an instance, where N corresponds to the number of
# instance vCPUs requested.
#
# Let's use a 8 VCPU 2 socket flavor for low level tests
constraints: "instance-type=twosocketm1.xlarge"
charm: ch:magpie
num_units: 2
options:
source: *openstack-origin
channel: latest/edge
ovn-chassis:
charm: ../../../ovn-chassis_ubuntu-22.04-amd64.charm
relations:
- - 'ovn-central:certificates'
- 'vault:certificates'
- - 'magpie:juju-info'
- 'ovn-chassis:juju-info'
- - 'ovn-chassis:ovsdb'
- 'ovn-central:ovsdb'
- - 'ovn-chassis:certificates'
- 'vault:certificates'

View File

@ -1,17 +1,16 @@
variables:
openstack-origin: &openstack-origin distro
openstack-origin: &openstack-origin caracal
local_overlay_enabled: False
series: mantic
series: noble
applications:
vault:
charm: ch:vault
num_units: 1
# The vault raft support is currently only available for jammy
series: jammy
series: noble
channel: latest/edge
ovn-central:
@ -36,7 +35,7 @@ applications:
channel: latest/edge
ovn-chassis:
charm: ../../../ovn-chassis_ubuntu-23.10-amd64.charm
charm: ../../../ovn-chassis_amd64.charm
relations:

View File

@ -1,15 +1,13 @@
charm_name: ovn-chassis
gate_bundles:
- jammy-caracal
- noble-caracal
smoke_bundles:
- jammy-caracal
- noble-caracal
dev_bundles:
- jammy-bobcat
- jammy-caracal
- mantic-bobcat
- noble-caracal
target_deploy_status:
magpie:
@ -41,6 +39,3 @@ tests:
- zaza.openstack.charm_tests.ovn.tests.ChassisCharmOperationTest
- zaza.openstack.charm_tests.ovn.tests.DPDKTest
tests_options:
force_deploy:
- mantic-bobcat

View File

@ -1,4 +1,6 @@
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

View File

@ -4,7 +4,6 @@
# https://github.com/openstack-charmers/release-tools
#
pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here.
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
stestr>=2.2.0