Add Ubuntu 24.04 (Noble) support
Add support for Ubuntu 24.04 LTS (Noble) to the charm while maintaining backward compatibility with Ubuntu 22.04 (Jammy). Summary of changes: * Add Noble base configuration to charmcraft.yaml with multi-architecture support (amd64, s390x, ppc64el, arm64) * Add 'noble' series to metadata.yaml * Update osci.yaml CI configuration: - Add charm-unit-jobs-py312 template for Python 3.12 - Add openstack-loadbalancer-noble job definition - Upgrade charmcraft channel from 2.0/stable to 3.x/stable * Add complete Noble test bundle configuration * Refactor overlay templates to use shared local_overlay.yaml.j2 to eliminate code duplication between Ubuntu versions This change enables the charm to run on both Ubuntu 22.04 and 24.04 systems, with Noble becoming the primary test target while maintaining Jammy compatibility for existing deployments. Change-Id: I210e00cb43ad93b2e410ebe1cbefa4d9159a49d2 Signed-off-by: Felipe Reyes <felipe.reyes@canonical.com>
This commit is contained in:
@@ -19,13 +19,14 @@ parts:
|
||||
apt install -y ca-certificates
|
||||
update-ca-certificates
|
||||
|
||||
bases:
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures:
|
||||
- amd64
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [amd64, s390x, ppc64el, arm64]
|
||||
platforms:
|
||||
# jammy
|
||||
ubuntu@22.04:amd64:
|
||||
ubuntu@22.04:s390x:
|
||||
ubuntu@22.04:ppc64el:
|
||||
ubuntu@22.04:arm64:
|
||||
# noble
|
||||
ubuntu@24.04:amd64:
|
||||
ubuntu@24.04:s390x:
|
||||
ubuntu@24.04:ppc64el:
|
||||
ubuntu@24.04:arm64:
|
||||
|
||||
@@ -10,6 +10,7 @@ tags:
|
||||
- openstack
|
||||
series:
|
||||
- jammy
|
||||
- noble
|
||||
extra-bindings:
|
||||
public:
|
||||
admin:
|
||||
|
||||
14
osci.yaml
14
osci.yaml
@@ -1,14 +1,16 @@
|
||||
- project:
|
||||
templates:
|
||||
- charm-unit-jobs-py310
|
||||
- charm-unit-jobs-py312
|
||||
check:
|
||||
jobs:
|
||||
- openstack-loadbalancer-jammy
|
||||
- openstack-loadbalancer-noble
|
||||
vars:
|
||||
needs_charm_build: true
|
||||
charm_build_name: openstack-loadbalancer
|
||||
build_type: charmcraft
|
||||
charmcraft_channel: 2.0/stable
|
||||
charmcraft_channel: 3.x/stable
|
||||
- job:
|
||||
name: openstack-loadbalancer-jammy
|
||||
parent: func-target
|
||||
@@ -19,3 +21,13 @@
|
||||
soft: true
|
||||
vars:
|
||||
tox_extra_args: jammy
|
||||
- job:
|
||||
name: openstack-loadbalancer-noble
|
||||
parent: func-target
|
||||
dependencies:
|
||||
- charm-build
|
||||
- osci-lint
|
||||
- name: tox-py312
|
||||
soft: true
|
||||
vars:
|
||||
tox_extra_args: noble
|
||||
|
||||
13
rename.sh
13
rename.sh
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
charm=$(grep "charm_build_name" osci.yaml | awk '{print $2}')
|
||||
echo "renaming ${charm}_*.charm to ${charm}.charm"
|
||||
echo -n "pwd: "
|
||||
pwd
|
||||
ls -al
|
||||
echo "Removing bad downloaded charm maybe?"
|
||||
if [[ -e "${charm}.charm" ]];
|
||||
then
|
||||
rm "${charm}.charm"
|
||||
fi
|
||||
echo "Renaming charm here."
|
||||
mv ${charm}_*.charm ${charm}.charm
|
||||
@@ -33,7 +33,7 @@ applications:
|
||||
public-hostname: 'ceph-dashboard.zaza.local'
|
||||
channel: latest/edge
|
||||
openstack-loadbalancer:
|
||||
charm: ../../openstack-loadbalancer.charm
|
||||
charm: ../../openstack-loadbalancer_ubuntu@22.04-amd64.charm
|
||||
num_units: 3
|
||||
hacluster:
|
||||
charm: ch:hacluster
|
||||
|
||||
57
tests/bundles/noble.yaml
Normal file
57
tests/bundles/noble.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
local_overlay_enabled: False
|
||||
series: noble
|
||||
applications:
|
||||
ceph-osd:
|
||||
charm: ch:ceph-osd
|
||||
num_units: 6
|
||||
storage:
|
||||
osd-devices: 'cinder,10G'
|
||||
options:
|
||||
osd-devices: '/dev/test-non-existent'
|
||||
channel: latest/edge
|
||||
ceph-mon:
|
||||
charm: ch:ceph-mon
|
||||
num_units: 3
|
||||
options:
|
||||
monitor-count: '3'
|
||||
channel: latest/edge
|
||||
vault:
|
||||
num_units: 1
|
||||
charm: ch:vault
|
||||
channel: latest/edge
|
||||
mysql-innodb-cluster:
|
||||
charm: ch:mysql-innodb-cluster
|
||||
constraints: mem=3072M
|
||||
num_units: 3
|
||||
channel: latest/edge
|
||||
vault-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
ceph-dashboard:
|
||||
charm: ch:ceph-dashboard
|
||||
options:
|
||||
public-hostname: 'ceph-dashboard.zaza.local'
|
||||
channel: latest/edge
|
||||
openstack-loadbalancer:
|
||||
charm: ../../openstack-loadbalancer_ubuntu@24.04-amd64.charm
|
||||
num_units: 3
|
||||
hacluster:
|
||||
charm: ch:hacluster
|
||||
options:
|
||||
cluster_count: 3
|
||||
channel: latest/edge
|
||||
relations:
|
||||
- - 'ceph-osd:mon'
|
||||
- 'ceph-mon:osd'
|
||||
- - 'vault:shared-db'
|
||||
- 'vault-mysql-router:shared-db'
|
||||
- - 'vault-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
- - 'ceph-dashboard:dashboard'
|
||||
- 'ceph-mon:dashboard'
|
||||
- - 'ceph-dashboard:certificates'
|
||||
- 'vault:certificates'
|
||||
- - 'openstack-loadbalancer:loadbalancer'
|
||||
- 'ceph-dashboard:loadbalancer'
|
||||
- - 'openstack-loadbalancer:ha'
|
||||
- 'hacluster:ha'
|
||||
@@ -1,4 +0,0 @@
|
||||
applications:
|
||||
openstack-loadbalancer:
|
||||
options:
|
||||
vip: '{{ TEST_VIP00 }}'
|
||||
1
tests/bundles/overlays/jammy.yaml.j2
Symbolic link
1
tests/bundles/overlays/jammy.yaml.j2
Symbolic link
@@ -0,0 +1 @@
|
||||
local_overlay.yaml.j2
|
||||
4
tests/bundles/overlays/local_overlay.yaml.j2
Normal file
4
tests/bundles/overlays/local_overlay.yaml.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
applications:
|
||||
openstack-loadbalancer:
|
||||
options:
|
||||
vip: '{{ TEST_VIP00 }}'
|
||||
1
tests/bundles/overlays/noble.yaml.j2
Symbolic link
1
tests/bundles/overlays/noble.yaml.j2
Symbolic link
@@ -0,0 +1 @@
|
||||
local_overlay.yaml.j2
|
||||
@@ -2,9 +2,10 @@ charm_name: openstack-loadbalancer
|
||||
gate_bundles:
|
||||
- jammy
|
||||
smoke_bundles:
|
||||
- jammy
|
||||
- noble
|
||||
dev_bundles:
|
||||
- jammy
|
||||
- noble
|
||||
configure:
|
||||
- zaza.openstack.charm_tests.vault.setup.auto_initialize_no_validation
|
||||
- zaza.openstack.charm_tests.ceph.dashboard.setup.check_dashboard_cert
|
||||
|
||||
Reference in New Issue
Block a user