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

Change-Id: Ied2b97aaf399593af2faee43753e9eaf1d1b1df6
This commit is contained in:
Felipe Reyes 2024-06-25 21:22:31 -04:00 committed by Billy Olsen
parent 71eadd2a9d
commit c91c6b0bb1
9 changed files with 39 additions and 422 deletions

View File

@ -8,7 +8,7 @@ parts:
- --binary-wheels-from-source
- --verbose
build-snaps:
- charm
- charm/latest/edge
build-packages:
- libpq-dev
- libpython3-dev
@ -16,68 +16,17 @@ parts:
- 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]
- 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]
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

@ -3,23 +3,17 @@
- charm-unit-jobs-py310
check:
jobs:
- jammy-mysql8
- jammy-raft
- jammy-raft-cluster
- mantic-mysql8:
voting: false
- mantic-raft:
voting: false
- mantic-raft-cluster:
voting: false
- noble-mysql8
- noble-raft
- noble-raft-cluster
vars:
needs_charm_build: true
charm_build_name: vault
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/beta
- job:
name: jammy-mysql8
name: noble-mysql8
parent: func-target
dependencies:
- osci-lint
@ -27,40 +21,19 @@
soft: True
- charm-build
vars:
tox_extra_args: '-- jammy-mysql8'
tox_extra_args: '-- noble-mysql8'
- job:
name: jammy-raft
name: noble-raft
parent: func-target
dependencies:
- jammy-mysql8
- noble-mysql8
vars:
tox_extra_args: '-- jammy-raft'
tox_extra_args: '-- noble-raft'
- job:
name: jammy-raft-cluster
name: noble-raft-cluster
parent: func-target
dependencies:
- jammy-mysql8
- noble-mysql8
vars:
tox_extra_args: '-- jammy-raft-cluster'
- job:
name: mantic-mysql8
parent: func-target
dependencies:
- jammy-mysql8
vars:
tox_extra_args: '-- mantic-mysql8'
- job:
name: mantic-raft
parent: func-target
dependencies:
- jammy-mysql8
vars:
tox_extra_args: '-- mantic-raft'
- job:
name: mantic-raft-cluster
parent: func-target
dependencies:
- jammy-mysql8
vars:
tox_extra_args: '-- mantic-raft-cluster'
tox_extra_args: '-- noble-raft-cluster'

View File

@ -1,107 +0,0 @@
variables:
openstack-origin: &openstack-origin distro
local_overlay_enabled: False
series: mantic
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':
'7':
'8':
'9':
'10':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
vault:
num_units: 1
charm: ../../../vault_ubuntu-23.10-amd64.charm
to:
- '3'
keystone:
charm: ch:keystone
num_units: 1
options:
admin-password: openstack
openstack-origin: *openstack-origin
to:
- '4'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
source: *openstack-origin
to:
- '5'
- '6'
- '7'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
options:
osd-encrypt: true
osd-encrypt-keymanager: vault
source: *openstack-origin
storage:
osd-devices: 10G,2
to:
- '8'
- '9'
- '10'
channel: latest/edge
relations:
- - 'vault:shared-db'
- 'vault-mysql-router:shared-db'
- - 'vault-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'vault:certificates'
- 'keystone:certificates'
- - 'vault:secrets'
- 'ceph-osd:secrets-storage'
- - 'ceph-mon:osd'
- 'ceph-osd:mon'

View File

@ -1,102 +0,0 @@
variables:
openstack-origin: &openstack-origin distro
local_overlay_enabled: False
series: mantic
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':
'7':
'8':
'9':
'10':
'11':
'12':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
vault:
num_units: 3
charm: ../../../vault_ubuntu-23.10-amd64.charm
to:
- '3'
- '11'
- '12'
keystone:
charm: ch:keystone
num_units: 1
options:
admin-password: openstack
openstack-origin: *openstack-origin
to:
- '4'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
source: *openstack-origin
to:
- '5'
- '6'
- '7'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
options:
osd-encrypt: true
osd-encrypt-keymanager: vault
source: *openstack-origin
storage:
osd-devices: 10G,2
to:
- '8'
- '9'
- '10'
channel: latest/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'vault:certificates'
- 'keystone:certificates'
- - 'vault:secrets'
- 'ceph-osd:secrets-storage'
- - 'ceph-mon:osd'
- 'ceph-osd:mon'

View File

@ -1,98 +0,0 @@
variables:
openstack-origin: &openstack-origin distro
local_overlay_enabled: False
series: mantic
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':
'7':
'8':
'9':
'10':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster
num_units: 3
options:
source: *openstack-origin
to:
- '0'
- '1'
- '2'
channel: latest/edge
vault:
num_units: 1
charm: ../../../vault_ubuntu-23.10-amd64.charm
to:
- '3'
keystone:
charm: ch:keystone
num_units: 1
options:
admin-password: openstack
openstack-origin: *openstack-origin
to:
- '4'
channel: latest/edge
ceph-mon:
charm: ch:ceph-mon
num_units: 3
options:
source: *openstack-origin
to:
- '5'
- '6'
- '7'
channel: latest/edge
ceph-osd:
charm: ch:ceph-osd
num_units: 3
options:
osd-encrypt: true
osd-encrypt-keymanager: vault
source: *openstack-origin
storage:
osd-devices: 10G,2
to:
- '8'
- '9'
- '10'
channel: latest/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'vault:certificates'
- 'keystone:certificates'
- - 'vault:secrets'
- 'ceph-osd:secrets-storage'
- - 'ceph-mon:osd'
- 'ceph-osd:mon'

View File

@ -3,7 +3,7 @@ variables:
local_overlay_enabled: False
series: jammy
series: noble
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -45,7 +45,7 @@ applications:
vault:
num_units: 1
charm: ../../../vault_ubuntu-22.04-amd64.charm
charm: ../../../vault_amd64.charm
to:
- '3'

View File

@ -3,7 +3,7 @@ variables:
local_overlay_enabled: False
series: jammy
series: noble
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -44,7 +44,7 @@ applications:
vault:
num_units: 3
charm: ../../../vault_ubuntu-22.04-amd64.charm
charm: ../../../vault_amd64.charm
to:
- '3'
- '11'

View File

@ -3,7 +3,7 @@ variables:
local_overlay_enabled: False
series: jammy
series: noble
comment:
- 'machines section to decide order of deployment. database sooner = faster'
@ -42,7 +42,7 @@ applications:
vault:
num_units: 1
charm: ../../../vault_ubuntu-22.04-amd64.charm
charm: ../../../vault_amd64.charm
to:
- '3'

View File

@ -1,21 +1,23 @@
netifaces
hvac<0.12.0
# for xenial support, tenacity 8.0.0+ drops support for py35
tenacity<8.0.0
tenacity
pbr
# for lunar support, psycopg 2.9.5 adds support for py311
psycopg2<2.9.5;python_version<'3.11'
psycopg2>=2.9.5;python_version>='3.11'
# for xenial support, requests 2.26.0 drops support for py35
requests<2.26.0
requests
psutil
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
git+https://github.com/wolsen/ops-reactive-interface.git@fix-endpoints#egg=ops_reactive_interface
loadbalancer-interface
# Bug: https://github.com/canonical/operator/issues/517