Add charmcraft 3 support

Update the charmcraft.yaml file to use base and platforms, only
allowing noble support.

- Update config to default to caracal.
- Update osci.yaml to use the charmcraft 3.x/beta
- Add noble/oracular to charmhelpers
- Drop non-noble tests

Change-Id: Id65dd63288d3f9652178d2645bd91f8ea6765290
This commit is contained in:
Billy Olsen
2024-06-21 19:09:07 -07:00
committed by Felipe Reyes
parent d7fad72df0
commit 291a947c82
17 changed files with 26 additions and 560 deletions

View File

@@ -4,31 +4,18 @@ parts:
charm:
plugin: dump
source: .
prime:
- actions/*
- charmhelpers/*
- files/*
- hooks/*
- lib/*
- swift_manager/*
- templates/*
- actions.yaml
- config.yaml
- copyright
- hardening.yaml
- icon.svg
- LICENSE
- Makefile
- metadata.yaml
- README.md
bases:
- build-on:
- name: ubuntu
channel: "22.04"
architectures:
- amd64
run-on:
- 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

View File

@@ -33,6 +33,8 @@ UBUNTU_RELEASES = (
'kinetic',
'lunar',
'mantic',
'noble',
'oracular',
)

View File

@@ -9,7 +9,7 @@ options:
description: Enable logging of all request headers.
openstack-origin:
type: string
default: bobcat
default: caracal
description: |
Repository from which to install. May be one of the following:
distro (default), ppa:somecustom/ppa, a deb url sources entry,

View File

@@ -3,21 +3,15 @@
- charm-unit-jobs-py310
check:
jobs:
- test-s3api-jammy-antelope
- test-s3api-jammy-bobcat:
voting: false
- test-s3api-lunar-antelope:
voting: false
- test-s3api-mantic-bobcat:
voting: false
- test-s3api-noble-caracal
vars:
needs_charm_build: true
charm_build_name: swift-proxy
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/beta
- job:
name: test-s3api-jammy-antelope
name: test-s3api-noble-caracal
parent: func-target
dependencies:
- charm-build
@@ -25,25 +19,4 @@
- name: tox-py310
soft: true
vars:
tox_extra_args: '-- test-s3api:jammy-antelope'
- job:
name: test-s3api-jammy-bobcat
parent: func-target
dependencies:
- test-s3api-jammy-antelope
vars:
tox_extra_args: '-- test-s3api:jammy-bobcat'
- job:
name: test-s3api-lunar-antelope
parent: func-target
dependencies:
- test-s3api-jammy-antelope
vars:
tox_extra_args: '-- test-s3api:lunar-antelope'
- job:
name: test-s3api-mantic-bobcat
parent: func-target
dependencies:
- test-s3api-jammy-antelope
vars:
tox_extra_args: '-- test-s3api:mantic-bobcat'
tox_extra_args: '-- test-s3api:noble-caracal'

View File

@@ -1,105 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
series: jammy
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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-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
keystone:
expose: True
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
channel: 2024.1/edge
swift-proxy:
charm: ../../swift-proxy.charm
num_units: 1
options:
zone-assignment: manual
replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: *openstack-origin
to:
- '4'
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
swift-storage:
charm: ch:swift-storage
num_units: 1
storage:
block-devices: 'cinder,2G,2'
options:
zone: 1
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:shared-db'
- 'glance-mysql-router:shared-db'
- - 'glance-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'swift-proxy:identity-service'
- 'keystone:identity-service'
- - 'swift-storage:swift-storage'
- 'swift-proxy:swift-storage'
- - 'glance:object-store'
- 'swift-proxy:object-store'

View File

@@ -1,105 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
series: jammy
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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-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
keystone:
expose: True
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
channel: 2024.1/edge
swift-proxy:
charm: ../../swift-proxy.charm
num_units: 1
options:
zone-assignment: manual
replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: *openstack-origin
to:
- '4'
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
swift-storage:
charm: ch:swift-storage
num_units: 1
storage:
block-devices: 'cinder,2G,2'
options:
zone: 1
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:shared-db'
- 'glance-mysql-router:shared-db'
- - 'glance-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'swift-proxy:identity-service'
- 'keystone:identity-service'
- - 'swift-storage:swift-storage'
- 'swift-proxy:swift-storage'
- - 'glance:object-store'
- 'swift-proxy:object-store'

View File

@@ -1,105 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-caracal
series: jammy
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':
applications:
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-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
keystone:
expose: True
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '3'
channel: 2024.1/edge
swift-proxy:
charm: ../../swift-proxy.charm
num_units: 1
options:
zone-assignment: manual
replicas: 1
swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
openstack-origin: *openstack-origin
to:
- '4'
glance:
expose: True
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
swift-storage:
charm: ch:swift-storage
num_units: 1
storage:
block-devices: 'cinder,2G,2'
options:
zone: 1
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
relations:
- - 'keystone:shared-db'
- 'keystone-mysql-router:shared-db'
- - 'keystone-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:shared-db'
- 'glance-mysql-router:shared-db'
- - 'glance-mysql-router:db-router'
- 'mysql-innodb-cluster:db-router'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'swift-proxy:identity-service'
- 'keystone:identity-service'
- - 'swift-storage:swift-storage'
- 'swift-proxy:swift-storage'
- - 'glance:object-store'
- 'swift-proxy:object-store'

View File

@@ -45,7 +45,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '3'
channel: 2024.1/edge
channel: latest/edge
swift-proxy:
charm: ../../swift-proxy.charm
@@ -66,7 +66,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '5'
channel: 2024.1/edge
channel: latest/edge
swift-storage:
charm: ch:swift-storage
@@ -78,7 +78,7 @@ applications:
openstack-origin: *openstack-origin
to:
- '6'
channel: 2024.1/edge
channel: latest/edge
relations:

View File

@@ -1,28 +0,0 @@
applications:
keystone:
offers:
keystone:
endpoints:
- identity-service
swift-proxy-region1:
charm: {{ charm_location }}
offers:
swift-proxy-region1:
endpoints:
- swift-storage
- rings-distributor
swift-storage-region1-zone1:
offers:
swift-storage-region1-zone1:
endpoints:
- swift-storage
swift-storage-region1-zone2:
offers:
swift-storage-region1-zone2:
endpoints:
- swift-storage
swift-storage-region1-zone3:
offers:
swift-storage-region1-zone3:
endpoints:
- swift-storage

View File

@@ -1,31 +0,0 @@
applications:
swift-proxy-region2:
charm: {{ charm_location }}
relations:
- - swift-proxy-region2:identity-service
- keystone:identity-service
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone3:swift-storage
- - swift-storage-region2-zone1:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone2:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone3:swift-storage
- swift-proxy-region1:swift-storage
- - swift-proxy-region2:rings-consumer
- swift-proxy-region1:rings-distributor
saas:
keystone:
url: admin/{{ swift_gr_region1 }}.keystone
swift-proxy-region1:
url: admin/{{ swift_gr_region1 }}.swift-proxy-region1
swift-storage-region1-zone1:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone1
swift-storage-region1-zone2:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone2
swift-storage-region1-zone3:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone3

View File

@@ -1,28 +0,0 @@
applications:
keystone:
offers:
keystone:
endpoints:
- identity-service
swift-proxy-region1:
charm: {{ charm_location }}
offers:
swift-proxy-region1:
endpoints:
- swift-storage
- rings-distributor
swift-storage-region1-zone1:
offers:
swift-storage-region1-zone1:
endpoints:
- swift-storage
swift-storage-region1-zone2:
offers:
swift-storage-region1-zone2:
endpoints:
- swift-storage
swift-storage-region1-zone3:
offers:
swift-storage-region1-zone3:
endpoints:
- swift-storage

View File

@@ -1,31 +0,0 @@
applications:
swift-proxy-region2:
charm: {{ charm_location }}
relations:
- - swift-proxy-region2:identity-service
- keystone:identity-service
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone3:swift-storage
- - swift-storage-region2-zone1:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone2:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone3:swift-storage
- swift-proxy-region1:swift-storage
- - swift-proxy-region2:rings-consumer
- swift-proxy-region1:rings-distributor
saas:
keystone:
url: admin/{{ swift_gr_region1 }}.keystone
swift-proxy-region1:
url: admin/{{ swift_gr_region1 }}.swift-proxy-region1
swift-storage-region1-zone1:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone1
swift-storage-region1-zone2:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone2
swift-storage-region1-zone3:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone3

View File

@@ -1,28 +0,0 @@
applications:
keystone:
offers:
keystone:
endpoints:
- identity-service
swift-proxy-region1:
charm: {{ charm_location }}
offers:
swift-proxy-region1:
endpoints:
- swift-storage
- rings-distributor
swift-storage-region1-zone1:
offers:
swift-storage-region1-zone1:
endpoints:
- swift-storage
swift-storage-region1-zone2:
offers:
swift-storage-region1-zone2:
endpoints:
- swift-storage
swift-storage-region1-zone3:
offers:
swift-storage-region1-zone3:
endpoints:
- swift-storage

View File

@@ -1,31 +0,0 @@
applications:
swift-proxy-region2:
charm: {{ charm_location }}
relations:
- - swift-proxy-region2:identity-service
- keystone:identity-service
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone1:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone2:swift-storage
- - swift-proxy-region2:swift-storage
- swift-storage-region1-zone3:swift-storage
- - swift-storage-region2-zone1:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone2:swift-storage
- swift-proxy-region1:swift-storage
- - swift-storage-region2-zone3:swift-storage
- swift-proxy-region1:swift-storage
- - swift-proxy-region2:rings-consumer
- swift-proxy-region1:rings-distributor
saas:
keystone:
url: admin/{{ swift_gr_region1 }}.keystone
swift-proxy-region1:
url: admin/{{ swift_gr_region1 }}.swift-proxy-region1
swift-storage-region1-zone1:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone1
swift-storage-region1-zone2:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone2
swift-storage-region1-zone3:
url: admin/{{ swift_gr_region1 }}.swift-storage-region1-zone3

View File

@@ -1,14 +1,12 @@
charm_name: swift-proxy
gate_bundles:
- jammy-antelope
- jammy-bobcat
- jammy-caracal
- noble-caracal
dev_bundles:
- noble-caracal
smoke_bundles:
# Use no s3api test for smoke
- jammy-caracal
- noble-caracal
configure:
- swift_gr_region1:
- zaza.openstack.charm_tests.swift.setup.wait_for_region2
@@ -25,7 +23,5 @@ tests:
- zaza.openstack.charm_tests.swift.tests.SwiftProxyMultiZoneTests
tests_options:
force_deploy:
- noble-caracal
policyd:
- service: swift