Add charmcraft 3 support

Summary of changes:
- 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
- Drop non-noble tests
- Update constraints file from -2024.1.txt to -noble.txt
- Add charmbuild to .zuul.yaml

Change-Id: I079511e0c40aa810da353af915525a9a149edfb5
This commit is contained in:
Myles Penner 2024-09-05 18:38:18 +00:00
parent ebe9d286ee
commit 951ed04331
12 changed files with 35 additions and 1019 deletions

View File

@ -2,3 +2,9 @@
templates:
- openstack-python3-charm-jobs
- openstack-cover-jobs
check:
jobs:
- charmbuild
vars:
charm_build_name: octavia

View File

@ -22,68 +22,17 @@ parts:
build-environment:
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/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

@ -17,7 +17,7 @@
needs_charm_build: true
charm_build_name: octavia
build_type: charmcraft
charmcraft_channel: 2.x/candidate
charmcraft_channel: 3.x/candidate
- job:
name: jammy-antelope-ha

View File

@ -18,8 +18,6 @@ description: |
docs: https://discourse.charmhub.io/t/octavia-docs-index/11221
tags:
- openstack
series:
- jammy
- mantic
subordinate: false
provides:

View File

@ -1,234 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
local_overlay_enabled: True
series: &series jammy
relations:
- - glance:image-service
- nova-cloud-controller:image-service
- - glance:image-service
- nova-compute:image-service
- - glance-mysql-router:shared-db
- glance:shared-db
- - keystone-mysql-router:shared-db
- keystone:shared-db
- - neutron-mysql-router:shared-db
- neutron-api:shared-db
- - nova-mysql-router:shared-db
- nova-cloud-controller:shared-db
- - octavia-mysql-router:shared-db
- octavia:shared-db
- - keystone:identity-service
- glance:identity-service
- - keystone:identity-service
- nova-cloud-controller:identity-service
- - keystone:identity-service
- neutron-api:identity-service
- - keystone:identity-service
- octavia:identity-service
- - nova-compute:cloud-compute
- nova-cloud-controller:cloud-compute
- - rabbitmq-server:amqp
- neutron-api:amqp
- - rabbitmq-server:amqp
- glance:amqp
- - rabbitmq-server:amqp
- nova-cloud-controller:amqp
- - rabbitmq-server:amqp
- nova-compute:amqp
- - rabbitmq-server:amqp
- octavia:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:neutron-load-balancer
- octavia:neutron-api
- - glance-simplestreams-sync:juju-info
- octavia-diskimage-retrofit:juju-info
- - keystone:identity-service
- glance-simplestreams-sync:identity-service
- - keystone:identity-credentials
- octavia-diskimage-retrofit:identity-credentials
- [ placement, placement-mysql-router ]
- [ placement, keystone ]
- [ placement, nova-cloud-controller ]
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - vault:shared-db
- vault-mysql-router:shared-db
- - 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-octavia:ovsdb-subordinate
- octavia:ovsdb-subordinate
- - ovn-chassis-octavia:certificates
- vault:certificates
- - ovn-chassis-octavia:ovsdb
- ovn-central:ovsdb
- - ovn-central:ovsdb-cms
- octavia:ovsdb-cms
- - 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
- - vault:certificates
- octavia:certificates
- - vault:certificates
- glance-simplestreams-sync:certificates
- - hacluster-octavia:ha
- octavia:ha
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["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"]
applications:
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
octavia-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
neutron-api:
constraints: cores=4
charm: ch:neutron-api
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
flat-network-providers: physnet1
enable-ml2-port-security: True
neutron-security-groups: True
channel: latest/edge
nova-cloud-controller:
constraints: mem=7168M
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
network-manager: Neutron
channel: latest/edge
nova-compute:
constraints: mem=7168M
charm: ch:nova-compute
num_units: 2
options:
openstack-origin: *openstack-origin
debug: True
channel: latest/edge
hacluster-octavia:
series: *series
charm: ch:hacluster
channel: latest/edge
ovn-chassis-octavia:
series: *series
charm: ch:ovn-chassis
channel: latest/edge
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-22.04-amd64.charm
num_units: 3
options:
openstack-origin: *openstack-origin
debug: True
loadbalancer-topology: 'ACTIVE_STANDBY'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
glance-simplestreams-sync:
charm: ch:glance-simplestreams-sync
num_units: 1
options:
use_swift: False
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
name_prefix: 'ubuntu:released',
path: 'streams/v1/index.sjson', max: 1,
item_filters: [
'release~(jammy)',
'arch~(x86_64|amd64)',
'ftype~(disk1.img|disk.img)']}]"
channel: latest/edge
octavia-diskimage-retrofit:
charm: ch:octavia-diskimage-retrofit
options:
amp-image-tag: 'octavia-amphora'
retrofit-series: *series
retrofit-uca-pocket: antelope
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
constraints: mem=1G
options:
openstack-origin: *openstack-origin
debug: true
channel: latest/edge
neutron-api-plugin-ovn:
charm: ch:neutron-api-plugin-ovn
channel: latest/edge
ovn-central:
constraints: mem=3072M
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge

View File

@ -1,232 +0,0 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-antelope
local_overlay_enabled: True
series: &series jammy
relations:
- - glance:image-service
- nova-cloud-controller:image-service
- - glance:image-service
- nova-compute:image-service
- - glance-mysql-router:shared-db
- glance:shared-db
- - keystone-mysql-router:shared-db
- keystone:shared-db
- - neutron-mysql-router:shared-db
- neutron-api:shared-db
- - nova-mysql-router:shared-db
- nova-cloud-controller:shared-db
- - octavia-mysql-router:shared-db
- octavia:shared-db
- - keystone:identity-service
- glance:identity-service
- - keystone:identity-service
- nova-cloud-controller:identity-service
- - keystone:identity-service
- neutron-api:identity-service
- - keystone:identity-service
- octavia:identity-service
- - nova-compute:cloud-compute
- nova-cloud-controller:cloud-compute
- - rabbitmq-server:amqp
- neutron-api:amqp
- - rabbitmq-server:amqp
- glance:amqp
- - rabbitmq-server:amqp
- nova-cloud-controller:amqp
- - rabbitmq-server:amqp
- nova-compute:amqp
- - rabbitmq-server:amqp
- octavia:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:neutron-load-balancer
- octavia:neutron-api
- - rabbitmq-server:amqp
- neutron-openvswitch:amqp
- - neutron-api:neutron-plugin-api
- neutron-openvswitch:neutron-plugin-api
- - neutron-openvswitch:neutron-plugin
- nova-compute:neutron-plugin
- - rabbitmq-server:amqp
- neutron-openvswitch-octavia:amqp
- - neutron-api:neutron-plugin-api
- neutron-openvswitch-octavia:neutron-plugin-api
- - neutron-openvswitch-octavia:neutron-plugin
- octavia:neutron-openvswitch
- - hacluster-octavia:ha
- octavia:ha
- - glance-simplestreams-sync:juju-info
- octavia-diskimage-retrofit:juju-info
- - keystone:identity-service
- glance-simplestreams-sync:identity-service
- - keystone:identity-credentials
- octavia-diskimage-retrofit:identity-credentials
- [ placement, placement-mysql-router ]
- [ placement, keystone ]
- [ placement, nova-cloud-controller ]
- - vault:shared-db
- vault-mysql-router:shared-db
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- neutron-api:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- octavia:certificates
- - vault:certificates
- octavia-diskimage-retrofit:certificates
- - vault:certificates
- glance-simplestreams-sync:certificates
- - vault:certificates
- placement:certificates
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["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"]
applications:
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
octavia-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
neutron-api:
charm: ch:neutron-api
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
flat-network-providers: physnet1
enable-ml2-port-security: True
neutron-security-groups: True
enable-dvr: True
manage-neutron-plugin-legacy-mode: True
channel: latest/edge
neutron-openvswitch:
series: *series
charm: ch:neutron-openvswitch
num_units: 0
options:
debug: True
enable-local-dhcp-and-metadata: True
use-dvr-snat: True
prevent-arp-spoofing: False
firewall-driver: openvswitch
bridge-mappings: physnet1:br-ex
channel: latest/edge
neutron-openvswitch-octavia:
series: *series
charm: ch:neutron-openvswitch
num_units: 0
options:
debug: True
prevent-arp-spoofing: False
firewall-driver: openvswitch
channel: latest/edge
nova-cloud-controller:
constraints: mem=7168M
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
network-manager: Neutron
channel: latest/edge
nova-compute:
constraints: mem=7168M
charm: ch:nova-compute
num_units: 2
options:
openstack-origin: *openstack-origin
debug: True
channel: latest/edge
hacluster-octavia:
charm: ch:hacluster
num_units: 0
channel: latest/edge
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-22.04-amd64.charm
num_units: 3
options:
openstack-origin: *openstack-origin
debug: True
loadbalancer-topology: 'ACTIVE_STANDBY'
vip: 'ADD YOUR VIP HERE'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
glance-simplestreams-sync:
charm: ch:glance-simplestreams-sync
num_units: 1
options:
use_swift: False
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
name_prefix: 'ubuntu:released',
path: 'streams/v1/index.sjson', max: 1,
item_filters: [
'release~(jammy)',
'arch~(x86_64|amd64)',
'ftype~(disk1.img|disk.img)']}]"
channel: latest/edge
octavia-diskimage-retrofit:
charm: ch:octavia-diskimage-retrofit
options:
amp-image-tag: 'octavia-amphora'
retrofit-series: *series
retrofit-uca-pocket: antelope
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
constraints: mem=1G
options:
openstack-origin: *openstack-origin
debug: true
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge

View File

@ -1,237 +0,0 @@
variables:
openstack-origin: &openstack-origin distro
local_overlay_enabled: True
series: &series mantic
relations:
- - glance:image-service
- nova-cloud-controller:image-service
- - glance:image-service
- nova-compute:image-service
- - glance-mysql-router:shared-db
- glance:shared-db
- - keystone-mysql-router:shared-db
- keystone:shared-db
- - neutron-mysql-router:shared-db
- neutron-api:shared-db
- - nova-mysql-router:shared-db
- nova-cloud-controller:shared-db
- - octavia-mysql-router:shared-db
- octavia:shared-db
- - keystone:identity-service
- glance:identity-service
- - keystone:identity-service
- nova-cloud-controller:identity-service
- - keystone:identity-service
- neutron-api:identity-service
- - keystone:identity-service
- octavia:identity-service
- - nova-compute:cloud-compute
- nova-cloud-controller:cloud-compute
- - rabbitmq-server:amqp
- neutron-api:amqp
- - rabbitmq-server:amqp
- glance:amqp
- - rabbitmq-server:amqp
- nova-cloud-controller:amqp
- - rabbitmq-server:amqp
- nova-compute:amqp
- - rabbitmq-server:amqp
- octavia:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:neutron-load-balancer
- octavia:neutron-api
- - glance-simplestreams-sync:juju-info
- octavia-diskimage-retrofit:juju-info
- - keystone:identity-service
- glance-simplestreams-sync:identity-service
- - keystone:identity-credentials
- octavia-diskimage-retrofit:identity-credentials
- [ placement, placement-mysql-router ]
- [ placement, keystone ]
- [ placement, nova-cloud-controller ]
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - vault:shared-db
- vault-mysql-router:shared-db
- - 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-octavia:ovsdb-subordinate
- octavia:ovsdb-subordinate
- - ovn-chassis-octavia:certificates
- vault:certificates
- - ovn-chassis-octavia:ovsdb
- ovn-central:ovsdb
- - ovn-central:ovsdb-cms
- octavia:ovsdb-cms
- - 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
- - vault:certificates
- octavia:certificates
- - vault:certificates
- glance-simplestreams-sync:certificates
- - hacluster-octavia:ha
- octavia:ha
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["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"]
applications:
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
octavia-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
neutron-api:
constraints: cores=4
charm: ch:neutron-api
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
flat-network-providers: physnet1
enable-ml2-port-security: True
neutron-security-groups: True
channel: latest/edge
nova-cloud-controller:
constraints: mem=7168M
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
network-manager: Neutron
channel: latest/edge
nova-compute:
constraints: mem=7168M
charm: ch:nova-compute
num_units: 2
options:
openstack-origin: *openstack-origin
debug: True
channel: latest/edge
hacluster-octavia:
series: *series
charm: ch:hacluster
channel: latest/edge
ovn-chassis-octavia:
series: *series
charm: ch:ovn-chassis
channel: latest/edge
options:
ovn-source: distro
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-23.10-amd64.charm
num_units: 3
options:
openstack-origin: *openstack-origin
debug: True
loadbalancer-topology: 'ACTIVE_STANDBY'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
glance-simplestreams-sync:
charm: ch:glance-simplestreams-sync
num_units: 1
options:
use_swift: False
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
name_prefix: 'ubuntu:released',
path: 'streams/v1/index.sjson', max: 1,
item_filters: [
'release~(jammy)',
'arch~(x86_64|amd64)',
'ftype~(disk1.img|disk.img)']}]"
channel: latest/edge
octavia-diskimage-retrofit:
charm: ch:octavia-diskimage-retrofit
options:
amp-image-tag: 'octavia-amphora'
retrofit-series: *series
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
constraints: mem=1G
options:
openstack-origin: *openstack-origin
debug: true
channel: latest/edge
neutron-api-plugin-ovn:
charm: ch:neutron-api-plugin-ovn
channel: latest/edge
ovn-central:
constraints: mem=3072M
charm: ch:ovn-central
num_units: 3
options:
source: *openstack-origin
channel: latest/edge
ovn-chassis:
charm: ch:ovn-chassis
channel: latest/edge
options:
ovn-source: distro
vault:
charm: ch:vault
num_units: 1
channel: latest/edge

View File

@ -1,231 +0,0 @@
variables:
openstack-origin: &openstack-origin distro
local_overlay_enabled: True
series: &series mantic
relations:
- - glance:image-service
- nova-cloud-controller:image-service
- - glance:image-service
- nova-compute:image-service
- - glance-mysql-router:shared-db
- glance:shared-db
- - keystone-mysql-router:shared-db
- keystone:shared-db
- - neutron-mysql-router:shared-db
- neutron-api:shared-db
- - nova-mysql-router:shared-db
- nova-cloud-controller:shared-db
- - octavia-mysql-router:shared-db
- octavia:shared-db
- - keystone:identity-service
- glance:identity-service
- - keystone:identity-service
- nova-cloud-controller:identity-service
- - keystone:identity-service
- neutron-api:identity-service
- - keystone:identity-service
- octavia:identity-service
- - nova-compute:cloud-compute
- nova-cloud-controller:cloud-compute
- - rabbitmq-server:amqp
- neutron-api:amqp
- - rabbitmq-server:amqp
- glance:amqp
- - rabbitmq-server:amqp
- nova-cloud-controller:amqp
- - rabbitmq-server:amqp
- nova-compute:amqp
- - rabbitmq-server:amqp
- octavia:amqp
- - neutron-api:neutron-api
- nova-cloud-controller:neutron-api
- - neutron-api:neutron-load-balancer
- octavia:neutron-api
- - rabbitmq-server:amqp
- neutron-openvswitch:amqp
- - neutron-api:neutron-plugin-api
- neutron-openvswitch:neutron-plugin-api
- - neutron-openvswitch:neutron-plugin
- nova-compute:neutron-plugin
- - rabbitmq-server:amqp
- neutron-openvswitch-octavia:amqp
- - neutron-api:neutron-plugin-api
- neutron-openvswitch-octavia:neutron-plugin-api
- - neutron-openvswitch-octavia:neutron-plugin
- octavia:neutron-openvswitch
- - hacluster-octavia:ha
- octavia:ha
- - glance-simplestreams-sync:juju-info
- octavia-diskimage-retrofit:juju-info
- - keystone:identity-service
- glance-simplestreams-sync:identity-service
- - keystone:identity-credentials
- octavia-diskimage-retrofit:identity-credentials
- [ placement, placement-mysql-router ]
- [ placement, keystone ]
- [ placement, nova-cloud-controller ]
- - vault:shared-db
- vault-mysql-router:shared-db
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- neutron-api:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- octavia:certificates
- - vault:certificates
- octavia-diskimage-retrofit:certificates
- - vault:certificates
- glance-simplestreams-sync:certificates
- - vault:certificates
- placement:certificates
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
- ["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"]
applications:
glance:
charm: ch:glance
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
keystone:
charm: ch:keystone
num_units: 1
options:
openstack-origin: *openstack-origin
channel: latest/edge
octavia-mysql-router:
charm: ch:mysql-router
channel: latest/edge
keystone-mysql-router:
charm: ch:mysql-router
channel: latest/edge
nova-mysql-router:
charm: ch:mysql-router
channel: latest/edge
glance-mysql-router:
charm: ch:mysql-router
channel: latest/edge
neutron-mysql-router:
charm: ch:mysql-router
channel: latest/edge
placement-mysql-router:
charm: ch:mysql-router
channel: latest/edge
vault-mysql-router:
charm: ch:mysql-router
channel: latest/edge
mysql-innodb-cluster:
constraints: mem=3072M
charm: ch:mysql-innodb-cluster
num_units: 3
channel: latest/edge
neutron-api:
charm: ch:neutron-api
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
flat-network-providers: physnet1
enable-ml2-port-security: True
neutron-security-groups: True
enable-dvr: True
manage-neutron-plugin-legacy-mode: True
channel: latest/edge
neutron-openvswitch:
series: *series
charm: ch:neutron-openvswitch
num_units: 0
options:
debug: True
enable-local-dhcp-and-metadata: True
use-dvr-snat: True
prevent-arp-spoofing: False
firewall-driver: openvswitch
bridge-mappings: physnet1:br-ex
channel: latest/edge
neutron-openvswitch-octavia:
series: *series
charm: ch:neutron-openvswitch
num_units: 0
options:
debug: True
prevent-arp-spoofing: False
firewall-driver: openvswitch
channel: latest/edge
nova-cloud-controller:
constraints: mem=7168M
charm: ch:nova-cloud-controller
num_units: 1
options:
openstack-origin: *openstack-origin
debug: True
network-manager: Neutron
channel: latest/edge
nova-compute:
constraints: mem=7168M
charm: ch:nova-compute
num_units: 2
options:
openstack-origin: *openstack-origin
debug: True
channel: latest/edge
hacluster-octavia:
charm: ch:hacluster
num_units: 0
channel: latest/edge
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-23.10-amd64.charm
num_units: 3
options:
openstack-origin: *openstack-origin
debug: True
loadbalancer-topology: 'ACTIVE_STANDBY'
vip: 'ADD YOUR VIP HERE'
rabbitmq-server:
charm: ch:rabbitmq-server
num_units: 1
channel: latest/edge
glance-simplestreams-sync:
charm: ch:glance-simplestreams-sync
num_units: 1
options:
use_swift: False
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
name_prefix: 'ubuntu:released',
path: 'streams/v1/index.sjson', max: 1,
item_filters: [
'release~(jammy)',
'arch~(x86_64|amd64)',
'ftype~(disk1.img|disk.img)']}]"
channel: latest/edge
octavia-diskimage-retrofit:
charm: ch:octavia-diskimage-retrofit
options:
amp-image-tag: 'octavia-amphora'
retrofit-series: *series
channel: latest/edge
placement:
charm: ch:placement
num_units: 1
constraints: mem=1G
options:
openstack-origin: *openstack-origin
debug: true
channel: latest/edge
vault:
charm: ch:vault
num_units: 1
channel: latest/edge

View File

@ -1,9 +1,9 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
openstack-origin: &openstack-origin cloud:noble-caracal
local_overlay_enabled: True
series: &series jammy
series: &series noble
relations:
- - glance:image-service
- nova-cloud-controller:image-service
@ -177,7 +177,7 @@ applications:
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-22.04-amd64.charm
charm: ../../../octavia.charm
num_units: 3
options:
openstack-origin: *openstack-origin

View File

@ -1,9 +1,9 @@
variables:
openstack-origin: &openstack-origin cloud:jammy-bobcat
openstack-origin: &openstack-origin cloud:noble-caracal
local_overlay_enabled: True
series: &series jammy
series: &series noble
relations:
- - glance:image-service
- nova-cloud-controller:image-service
@ -187,7 +187,7 @@ applications:
octavia:
constraints: cores=8
series: *series
charm: ../../../octavia_ubuntu-22.04-amd64.charm
charm: ../../../octavia.charm
num_units: 3
options:
openstack-origin: *openstack-origin

View File

@ -1,18 +1,14 @@
charm_name: octavia
gate_bundles:
- jammy-antelope-ha-ovn
- jammy-antelope-ha
- noble-caracal-ha
smoke_bundles:
- jammy-antelope-ha
- noble-caracal-ha
dev_bundles:
- jammy-bobcat-ha-ovn
- jammy-bobcat-ha
- mantic-bobcat-ha-ovn
- mantic-bobat-ha
- noble-caracal-ha-ovn
- noble-caracal-ha
comment: |
The `bionic-rocky-lxd` bundle currently fails due to a bug in LXD.
@ -72,5 +68,5 @@ tests_options:
policyd:
service: octavia
force_deploy:
- mantic-bobcat-ha-ovn
- mantic-bobcat-ha
- noble-caracal-ha-ovn
- noble-caracal-ha

View File

@ -33,7 +33,7 @@ allowlist_externals =
charmcraft
bash
tox
rename.sh
{toxinidir}/rename.sh
deps =
-r{toxinidir}/requirements.txt
@ -46,6 +46,7 @@ basepython = python3
commands =
charmcraft clean
charmcraft -v pack
{toxinidir}/rename.sh
charmcraft clean
[testenv:build-reactive]