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 setuptools pins in [test-]requirements.txt - Add noble/oracular to charmhelpers - Drop non-noble tests Change-Id: I082605e49a611b09ceafd3f4e02a1221621847bb
This commit is contained in:
@@ -2,36 +2,35 @@ type: charm
|
||||
|
||||
parts:
|
||||
charm:
|
||||
charm-entrypoint: "hooks/install"
|
||||
plugin: reactive
|
||||
reactive-charm-build-arguments:
|
||||
- --binary-wheels-from-source
|
||||
- --verbose
|
||||
build-packages:
|
||||
- git
|
||||
- libffi-dev
|
||||
- libmysqlclient-dev
|
||||
- pkg-config
|
||||
- python3-dev
|
||||
- tox
|
||||
override-build: |
|
||||
apt-get install ca-certificates -y
|
||||
tox -e build-reactive
|
||||
override-stage: |
|
||||
echo "Copying charm to staging area: $CRAFT_STAGE"
|
||||
NAME=$(ls $CRAFT_PART_BUILD/build/builds)
|
||||
cp -r $CRAFT_PART_BUILD/build/builds/$NAME/* $CRAFT_STAGE/
|
||||
override-prime: |
|
||||
# For some reason, the normal priming chokes on the fact that there's a
|
||||
# hooks directory.
|
||||
cp -r $CRAFT_STAGE/* .
|
||||
- tox
|
||||
- git
|
||||
- python3-dev
|
||||
- libffi-dev
|
||||
- libmysqlclient-dev
|
||||
- pkg-config
|
||||
source: src/
|
||||
build-snaps:
|
||||
- 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: "20.04"
|
||||
architectures:
|
||||
- amd64
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [amd64, s390x, ppc64el, arm64]
|
||||
- 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
|
||||
|
22
osci.yaml
22
osci.yaml
@@ -1,30 +1,20 @@
|
||||
- project:
|
||||
templates:
|
||||
- charm-unit-jobs-py38
|
||||
- charm-unit-jobs-py310
|
||||
check:
|
||||
jobs:
|
||||
- focal
|
||||
- jammy
|
||||
- full_model_ha-focal-full-ha
|
||||
- full_model_ha-jammy-full-ha
|
||||
- noble
|
||||
- full_model_ha-noble-full-ha
|
||||
vars:
|
||||
needs_charm_build: true
|
||||
charm_build_name: mysql-router
|
||||
build_type: charmcraft
|
||||
charmcraft_channel: 2.x/stable
|
||||
charmcraft_channel: 3.x/beta
|
||||
|
||||
- job:
|
||||
name: full_model_ha-focal-full-ha
|
||||
name: full_model_ha-noble-full-ha
|
||||
parent: func-target
|
||||
dependencies:
|
||||
- focal
|
||||
- noble
|
||||
vars:
|
||||
tox_extra_args: '-- full_model_ha:focal-full-ha'
|
||||
- job:
|
||||
name: full_model_ha-jammy-full-ha
|
||||
parent: func-target
|
||||
dependencies:
|
||||
- jammy
|
||||
vars:
|
||||
tox_extra_args: '-- full_model_ha:jammy-full-ha'
|
||||
tox_extra_args: '-- full_model_ha:noble-full-ha'
|
||||
|
@@ -6,7 +6,6 @@
|
||||
# NOTE(lourot): This might look like a duplication of test-requirements.txt but
|
||||
# some tox targets use only test-requirements.txt whereas charm-build uses only
|
||||
# requirements.txt
|
||||
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
|
||||
|
||||
# Build requirements
|
||||
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.
|
||||
|
@@ -1 +0,0 @@
|
||||
focal-full.yaml
|
@@ -1,185 +0,0 @@
|
||||
variables:
|
||||
openstack-origin: &openstack-origin distro
|
||||
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: &series focal
|
||||
|
||||
applications:
|
||||
keystone-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
nova-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
glance-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
neutron-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
placement-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
vault-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
mysql-innodb-cluster:
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
cluster-name: foo
|
||||
channel: latest/edge
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
rabbitmq-server:
|
||||
charm: ch:rabbitmq-server
|
||||
num_units: 1
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: 3.8/edge
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
channel: 1.7/edge
|
||||
ovn-central:
|
||||
charm: ch:ovn-central
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: 22.03/edge
|
||||
neutron-api-plugin-ovn:
|
||||
charm: ch:neutron-api-plugin-ovn
|
||||
channel: yoga/edge
|
||||
neutron-api:
|
||||
charm: ch:neutron-api
|
||||
series: *series
|
||||
num_units: 1
|
||||
options:
|
||||
flat-network-providers: physnet1
|
||||
neutron-security-groups: true
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
glance:
|
||||
charm: ch:glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
nova-cloud-controller:
|
||||
charm: ch:nova-cloud-controller
|
||||
num_units: 1
|
||||
options:
|
||||
network-manager: Neutron
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
ovn-chassis:
|
||||
charm: ch:ovn-chassis
|
||||
channel: 22.03/edge
|
||||
nova-compute:
|
||||
charm: ch:nova-compute
|
||||
num_units: 1
|
||||
options:
|
||||
config-flags: default_ephemeral_format=ext4
|
||||
enable-live-migration: true
|
||||
enable-resize: true
|
||||
migration-auth-type: ssh
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
memcached:
|
||||
charm: ch:memcached
|
||||
num_units: 1
|
||||
relations:
|
||||
- - 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
|
||||
- - memcached:cache
|
||||
- nova-cloud-controller:memcache
|
||||
- - 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
|
@@ -1,39 +0,0 @@
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: focal
|
||||
applications:
|
||||
keystone-mysql-router:
|
||||
series: focal
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
vault-mysql-router:
|
||||
series: focal
|
||||
charm: ../../../mysql-router.charm
|
||||
options:
|
||||
debug: True
|
||||
mysql-innodb-cluster:
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
channel: latest/edge
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
channel: yoga/edge
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
channel: 1.7/edge
|
||||
relations:
|
||||
- - vault:certificates
|
||||
- mysql-innodb-cluster:certificates
|
||||
- - vault:certificates
|
||||
- keystone:certificates
|
||||
- - keystone:shared-db
|
||||
- keystone-mysql-router:shared-db
|
||||
- - vault:shared-db
|
||||
- vault-mysql-router:shared-db
|
||||
- - keystone-mysql-router:db-router
|
||||
- mysql-innodb-cluster:db-router
|
||||
- - vault-mysql-router:db-router
|
||||
- mysql-innodb-cluster:db-router
|
@@ -1 +0,0 @@
|
||||
jammy-full.yaml
|
1
src/tests/bundles/noble-full-ha.yaml
Symbolic link
1
src/tests/bundles/noble-full-ha.yaml
Symbolic link
@@ -0,0 +1 @@
|
||||
noble-full.yaml
|
@@ -3,31 +3,31 @@ variables:
|
||||
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: &series jammy
|
||||
series: &series noble
|
||||
|
||||
applications:
|
||||
keystone-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
nova-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
glance-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
neutron-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
placement-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
vault-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
mysql-innodb-cluster:
|
||||
@@ -41,26 +41,26 @@ applications:
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
rabbitmq-server:
|
||||
charm: ch:rabbitmq-server
|
||||
num_units: 1
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: 3.9/edge
|
||||
channel: latest/edge
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
channel: 1.7/edge
|
||||
channel: latest/edge
|
||||
ovn-central:
|
||||
charm: ch:ovn-central
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: 22.03/edge
|
||||
channel: latest/edge
|
||||
neutron-api-plugin-ovn:
|
||||
charm: ch:neutron-api-plugin-ovn
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
neutron-api:
|
||||
charm: ch:neutron-api
|
||||
series: *series
|
||||
@@ -69,23 +69,23 @@ applications:
|
||||
flat-network-providers: physnet1
|
||||
neutron-security-groups: true
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
glance:
|
||||
charm: ch:glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
nova-cloud-controller:
|
||||
charm: ch:nova-cloud-controller
|
||||
num_units: 1
|
||||
options:
|
||||
network-manager: Neutron
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
ovn-chassis:
|
||||
charm: ch:ovn-chassis
|
||||
channel: 22.03/edge
|
||||
channel: latest/edge
|
||||
nova-compute:
|
||||
charm: ch:nova-compute
|
||||
num_units: 1
|
||||
@@ -95,13 +95,13 @@ applications:
|
||||
enable-resize: true
|
||||
migration-auth-type: ssh
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
memcached:
|
||||
charm: ch:memcached
|
||||
num_units: 1
|
@@ -1,13 +1,13 @@
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: jammy
|
||||
series: noble
|
||||
applications:
|
||||
keystone-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
vault-mysql-router:
|
||||
charm: ../../../mysql-router.charm
|
||||
charm: ../../../mysql-router_amd64.charm
|
||||
options:
|
||||
debug: True
|
||||
mysql-innodb-cluster:
|
||||
@@ -17,11 +17,11 @@ applications:
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
channel: 1.7/edge
|
||||
channel: latest/edge
|
||||
relations:
|
||||
- - vault:certificates
|
||||
- mysql-innodb-cluster:certificates
|
@@ -1,18 +0,0 @@
|
||||
applications:
|
||||
keystone:
|
||||
num_units: 3
|
||||
options:
|
||||
vip: {{TEST_VIP00}}
|
||||
nova-cloud-controller:
|
||||
num_units: 3
|
||||
options:
|
||||
vip: {{TEST_VIP01}}
|
||||
keystone-hacluster:
|
||||
charm: ch:hacluster
|
||||
channel: 2.4/edge
|
||||
nova-hacluster:
|
||||
charm: ch:hacluster
|
||||
channel: 2.4/edge
|
||||
relations:
|
||||
- ["keystone:ha", "keystone-hacluster:ha"]
|
||||
- ["nova-cloud-controller:ha", "nova-hacluster:ha"]
|
@@ -9,10 +9,10 @@ applications:
|
||||
vip: {{TEST_VIP01}}
|
||||
keystone-hacluster:
|
||||
charm: ch:hacluster
|
||||
channel: 2.0.3/edge
|
||||
channel: latest/edge
|
||||
nova-hacluster:
|
||||
charm: ch:hacluster
|
||||
channel: 2.0.3/edge
|
||||
channel: latest/edge
|
||||
relations:
|
||||
- ["keystone:ha", "keystone-hacluster:ha"]
|
||||
- ["nova-cloud-controller:ha", "nova-hacluster:ha"]
|
@@ -22,21 +22,21 @@ tests:
|
||||
- zaza.openstack.charm_tests.hacluster.tests.HaclusterScaleBackAndForthTest
|
||||
|
||||
gate_bundles:
|
||||
- full_model_ha: focal-full-ha
|
||||
- full_model_ha: noble-full-ha
|
||||
|
||||
dev_bundles:
|
||||
- full_model_ha: jammy-full-ha
|
||||
- full_model_ha: noble-full-ha
|
||||
|
||||
smoke_bundles:
|
||||
- full_model_ha: focal-full-ha
|
||||
- full_model_ha: noble-full-ha
|
||||
|
||||
tests_options:
|
||||
hacluster:
|
||||
principle-app-name: keystone
|
||||
hacluster-charm-name: hacluster
|
||||
force_deploy:
|
||||
- jammy
|
||||
- jammy-full-ha
|
||||
- noble
|
||||
- noble-full-ha
|
||||
|
||||
target_deploy_status:
|
||||
neutron-api-plugin-ovn:
|
||||
|
@@ -3,6 +3,8 @@ mysqlclient
|
||||
tenacity<8.0.0
|
||||
poetry-core
|
||||
|
||||
git+https://github.com/wolsen/charms.reactive.git@fix-entry-points#egg=charms.reactive
|
||||
|
||||
git+https://github.com/juju/charm-helpers.git#egg=charmhelpers
|
||||
|
||||
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#
|
||||
pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here.
|
||||
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.
|
||||
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
|
||||
|
||||
stestr>=2.2.0
|
||||
|
||||
|
Reference in New Issue
Block a user