Add config options for volume-based amphora.
By default launched amphora will use ephemeral storage as defined by
flavor used, this is suboptimal for environments where live-migration is
desired (and avoiding the transfer of the blockstorage is needed), but
also provides some resiliency in case of hypervisor failures.
This patch adds a new set of configuration option to enable amphora
instances booted from volume.
* enable-volume-based-amphora
* volume-size
* volume-type
More details about this feature can be found at
93b509cfe5
Func-Test-Pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1173
Closes-Bug: #1901732
Change-Id: I45a8385e3522f161e31daf786f293777363e57e0
This commit is contained in:
parent
951ed04331
commit
a4711f55d7
@ -219,3 +219,22 @@ options:
|
|||||||
type: int
|
type: int
|
||||||
description: |
|
description: |
|
||||||
Retry timeout between connection attempts in seconds for active amphora.
|
Retry timeout between connection attempts in seconds for active amphora.
|
||||||
|
enable-volume-based-amphora:
|
||||||
|
default: False
|
||||||
|
type: boolean
|
||||||
|
description: |
|
||||||
|
Enable the use of cinder volumes for the amphora. When this option is
|
||||||
|
enabled, Octavia will create a volume and attach it to the amphora.
|
||||||
|
volume-size:
|
||||||
|
default: 16
|
||||||
|
type: int
|
||||||
|
description: |
|
||||||
|
Size of the volume, in GB, for amphora instance. Applies only when
|
||||||
|
enable-volume-based-amphora is True.
|
||||||
|
volume-type:
|
||||||
|
default:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Type of volume for amphora volume root disk. Applies only when
|
||||||
|
enable-volume-based-amphora is True.If this isn't specified,
|
||||||
|
the default_volume_type from cinder.conf will be used.
|
||||||
|
@ -70,6 +70,9 @@ network_driver = allowed_address_pairs_driver
|
|||||||
compute_driver = compute_nova_driver
|
compute_driver = compute_nova_driver
|
||||||
amphora_driver = amphora_haproxy_rest_driver
|
amphora_driver = amphora_haproxy_rest_driver
|
||||||
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_driver = volume_cinder_driver
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
[certificates]
|
[certificates]
|
||||||
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
||||||
@ -168,6 +171,12 @@ region_name = {{ options.region }}
|
|||||||
{% if options.use_internal_endpoints -%}
|
{% if options.use_internal_endpoints -%}
|
||||||
endpoint_type = internalURL
|
endpoint_type = internalURL
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_size = {{options.volume_size}}
|
||||||
|
{% if options.volume_type -%}
|
||||||
|
volume_type = {{options.volume_type}}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
[glance]
|
[glance]
|
||||||
{% if options.region -%}
|
{% if options.region -%}
|
||||||
|
158
src/templates/ussuri/octavia.conf
Normal file
158
src/templates/ussuri/octavia.conf
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
# victoria
|
||||||
|
[DEFAULT]
|
||||||
|
debug = {{ options.debug }}
|
||||||
|
|
||||||
|
{% include "parts/section-transport-url" %}
|
||||||
|
|
||||||
|
[health_manager]
|
||||||
|
{% if options.health_manager_bind_ip -%}
|
||||||
|
bind_ip = {{ options.health_manager_bind_ip }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.controller_ip_port_list -%}
|
||||||
|
controller_ip_port_list = {{ options.controller_ip_port_list }}
|
||||||
|
{% endif -%}
|
||||||
|
heartbeat_key = {{ options.heartbeat_key }}
|
||||||
|
health_update_threads = {{ options.workers }}
|
||||||
|
stats_update_threads = {{ options.workers }}
|
||||||
|
|
||||||
|
[house_keeping]
|
||||||
|
{% if options.spare_amphora_pool_size -%}
|
||||||
|
spare_amphora_pool_size = {{ options.spare_amphora_pool_size }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[controller_worker]
|
||||||
|
{% if options.amp_ssh_key_name %}
|
||||||
|
amp_ssh_key_name = {{ options.amp_ssh_key_name }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.amp_image_owner_id -%}
|
||||||
|
amp_image_owner_id = {{ options.amp_image_owner_id }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.amp_secgroup_list -%}
|
||||||
|
amp_secgroup_list = {{ options.amp_secgroup_list }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.amp_flavor_id -%}
|
||||||
|
amp_flavor_id = {{ options.amp_flavor_id }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.amp_boot_network_list -%}
|
||||||
|
amp_boot_network_list = {{ options.amp_boot_network_list }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.amp_image_tag -%}
|
||||||
|
amp_image_tag = {{ options.amp_image_tag }}
|
||||||
|
{% endif -%}
|
||||||
|
amp_active_retries = 180
|
||||||
|
# This certificate is installed on the ``Amphorae`` and used for validating
|
||||||
|
# the authenticity of the ``Octavia`` controller.
|
||||||
|
client_ca = {{ options.controller_cacert }}
|
||||||
|
network_driver = allowed_address_pairs_driver
|
||||||
|
compute_driver = compute_nova_driver
|
||||||
|
amphora_driver = amphora_haproxy_rest_driver
|
||||||
|
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_driver = volume_cinder_driver
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
[certificates]
|
||||||
|
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
||||||
|
# and its Amphorae instances are issued locally on the Octavia controller.
|
||||||
|
#
|
||||||
|
# At the time of this writing this is the only supported alternative upstream
|
||||||
|
# after the retirement of the Anchor project [0].
|
||||||
|
#
|
||||||
|
# Note that these certificates are not used for any load balancer payload data
|
||||||
|
#
|
||||||
|
# 0: https://review.opendev.org/#/c/597022/
|
||||||
|
cert_generator = local_cert_generator
|
||||||
|
# This certificate is used to issue individual certificates for each
|
||||||
|
# ``Amphora`` and to validate their authenticity when they connect to the
|
||||||
|
# ``Octavia`` controller.
|
||||||
|
ca_certificate = {{ options.issuing_cacert }}
|
||||||
|
ca_private_key = {{ options.issuing_ca_private_key }}
|
||||||
|
ca_private_key_passphrase = {{ options.issuing_ca_private_key_passphrase }}
|
||||||
|
|
||||||
|
cert_manager = barbican_cert_manager
|
||||||
|
{% if options.region -%}
|
||||||
|
region_name = {{ options.region }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
|
||||||
|
[haproxy_amphora]
|
||||||
|
# This certificate is used by the ``Octavia`` controller to validate the
|
||||||
|
# authenticity of the ``Amphorae`` connecting to it.
|
||||||
|
server_ca = {{ options.issuing_cacert }}
|
||||||
|
# This certificate is used by the ``Octavia`` controller when it takes on the
|
||||||
|
# role as a "client" connecting to the ``Amphorae``.
|
||||||
|
client_cert = {{ options.controller_cert }}
|
||||||
|
connection_max_retries = {{ options.connection_max_retries }}
|
||||||
|
connection_retry_interval = {{ options.connection_retry_interval }}
|
||||||
|
active_connection_max_retries = {{ options.active_connection_max_retries }}
|
||||||
|
active_connection_retry_interval = {{ options.active_connection_retry_interval }}
|
||||||
|
|
||||||
|
|
||||||
|
{% include "parts/section-database" %}
|
||||||
|
|
||||||
|
[service_auth]
|
||||||
|
auth_section = keystone_authtoken
|
||||||
|
|
||||||
|
{% include "parts/section-keystone-authtoken" %}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
[oslo_messaging]
|
||||||
|
topic = octavia
|
||||||
|
|
||||||
|
[nova]
|
||||||
|
{% if options.region -%}
|
||||||
|
region_name = {{ options.region }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
{%- if options.loadbalancer_topology == "SINGLE" or options.anti_affinity_policy == "disable" %}
|
||||||
|
enable_anti_affinity = False
|
||||||
|
{%- elif options.loadbalancer_topology == "ACTIVE_STANDBY" %}
|
||||||
|
{%- if options.anti_affinity_policy == "auto" %}
|
||||||
|
enable_anti_affinity = True
|
||||||
|
anti_affinity_policy = "soft-anti-affinity"
|
||||||
|
{%- elif options.anti_affinity_policy in ["anti-affinity", "soft-anti-affinity"] %}
|
||||||
|
enable_anti_affinity = True
|
||||||
|
anti_affinity_policy = {{ options.anti_affinity_policy }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
[cinder]
|
||||||
|
{% if options.region -%}
|
||||||
|
region_name = {{ options.region }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_size = {{options.volume_size}}
|
||||||
|
{% if options.volume_type -%}
|
||||||
|
volume_type = {{options.volume_type}}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
[glance]
|
||||||
|
{% if options.region -%}
|
||||||
|
region_name = {{ options.region }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
[neutron]
|
||||||
|
{% if options.region -%}
|
||||||
|
region_name = {{ options.region }}
|
||||||
|
{% endif -%}
|
||||||
|
{% if options.use_internal_endpoints -%}
|
||||||
|
endpoint_type = internalURL
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{% include "parts/section-oslo-messaging-rabbit" %}
|
||||||
|
|
||||||
|
{% include "parts/section-oslo-middleware" %}
|
@ -65,6 +65,9 @@ network_driver = allowed_address_pairs_driver
|
|||||||
compute_driver = compute_nova_driver
|
compute_driver = compute_nova_driver
|
||||||
amphora_driver = amphora_haproxy_rest_driver
|
amphora_driver = amphora_haproxy_rest_driver
|
||||||
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_driver = volume_cinder_driver
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
[certificates]
|
[certificates]
|
||||||
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
||||||
@ -145,6 +148,12 @@ region_name = {{ options.region }}
|
|||||||
{% if options.use_internal_endpoints -%}
|
{% if options.use_internal_endpoints -%}
|
||||||
endpoint_type = internalURL
|
endpoint_type = internalURL
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_size = {{options.volume_size}}
|
||||||
|
{% if options.volume_type -%}
|
||||||
|
volume_type = {{options.volume_type}}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
[glance]
|
[glance]
|
||||||
{% if options.region -%}
|
{% if options.region -%}
|
||||||
|
@ -70,6 +70,9 @@ network_driver = allowed_address_pairs_driver
|
|||||||
compute_driver = compute_nova_driver
|
compute_driver = compute_nova_driver
|
||||||
amphora_driver = amphora_haproxy_rest_driver
|
amphora_driver = amphora_haproxy_rest_driver
|
||||||
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
loadbalancer_topology = {{ options.loadbalancer_topology }}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_driver = volume_cinder_driver
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
[certificates]
|
[certificates]
|
||||||
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
# NOTE(fnordahl) certificates for authentication between Octavia controllers
|
||||||
@ -149,6 +152,12 @@ region_name = {{ options.region }}
|
|||||||
{% if options.use_internal_endpoints -%}
|
{% if options.use_internal_endpoints -%}
|
||||||
endpoint_type = internalURL
|
endpoint_type = internalURL
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{% if options.enable_volume_based_amphora -%}
|
||||||
|
volume_size = {{options.volume_size}}
|
||||||
|
{% if options.volume_type -%}
|
||||||
|
volume_type = {{options.volume_type}}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
[glance]
|
[glance]
|
||||||
{% if options.region -%}
|
{% if options.region -%}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
variables:
|
variables:
|
||||||
openstack-origin: &openstack-origin cloud:noble-caracal
|
openstack-origin: &openstack-origin distro
|
||||||
|
|
||||||
local_overlay_enabled: True
|
local_overlay_enabled: True
|
||||||
|
|
||||||
@ -90,6 +90,8 @@ relations:
|
|||||||
- octavia:certificates
|
- octavia:certificates
|
||||||
- - vault:certificates
|
- - vault:certificates
|
||||||
- glance-simplestreams-sync:certificates
|
- glance-simplestreams-sync:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder:certificates
|
||||||
- - hacluster-octavia:ha
|
- - hacluster-octavia:ha
|
||||||
- octavia:ha
|
- octavia:ha
|
||||||
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
@ -99,6 +101,15 @@ relations:
|
|||||||
- ["neutron-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"]
|
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
|
- ["cinder-ceph:storage-backend", "cinder:storage-backend"]
|
||||||
|
- ["nova-compute:ceph-access", "cinder-ceph:ceph-access"]
|
||||||
|
- ["ceph-mon:client", "cinder-ceph:ceph"]
|
||||||
|
- ["ceph-mon:osd", "ceph-osd:mon"]
|
||||||
|
- ["cinder:shared-db", "cinder-mysql-router:shared-db"]
|
||||||
|
- ["cinder-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
|
- ["cinder:identity-service", "keystone:identity-service"]
|
||||||
|
- ["cinder:amqp", "rabbitmq-server:amqp"]
|
||||||
|
- ["cinder:image-service", "glance:image-service"]
|
||||||
applications:
|
applications:
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@ -112,6 +123,9 @@ applications:
|
|||||||
options:
|
options:
|
||||||
openstack-origin: *openstack-origin
|
openstack-origin: *openstack-origin
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
|
cinder-mysql-router:
|
||||||
|
charm: ch:mysql-router
|
||||||
|
channel: latest/edge
|
||||||
octavia-mysql-router:
|
octavia-mysql-router:
|
||||||
charm: ch:mysql-router
|
charm: ch:mysql-router
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
@ -138,6 +152,35 @@ applications:
|
|||||||
charm: ch:mysql-innodb-cluster
|
charm: ch:mysql-innodb-cluster
|
||||||
num_units: 3
|
num_units: 3
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
|
ceph-osd:
|
||||||
|
charm: ch:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
storage:
|
||||||
|
osd-devices: '40G'
|
||||||
|
options:
|
||||||
|
source: *openstack-origin
|
||||||
|
channel: squid/candidate
|
||||||
|
ceph-mon:
|
||||||
|
charm: ch:ceph-mon
|
||||||
|
num_units: 1
|
||||||
|
options:
|
||||||
|
source: *openstack-origin
|
||||||
|
monitor-count: '1'
|
||||||
|
channel: squid/candidate
|
||||||
|
cinder:
|
||||||
|
charm: ch:cinder
|
||||||
|
num_units: 1
|
||||||
|
storage:
|
||||||
|
block-devices: '40G'
|
||||||
|
options:
|
||||||
|
openstack-origin: *openstack-origin
|
||||||
|
glance-api-version: 2
|
||||||
|
block-device: None
|
||||||
|
overwrite: "true"
|
||||||
|
channel: latest/edge
|
||||||
|
cinder-ceph:
|
||||||
|
charm: ch:cinder-ceph
|
||||||
|
channel: latest/edge
|
||||||
neutron-api:
|
neutron-api:
|
||||||
constraints: cores=4
|
constraints: cores=4
|
||||||
charm: ch:neutron-api
|
charm: ch:neutron-api
|
||||||
@ -196,7 +239,7 @@ applications:
|
|||||||
name_prefix: 'ubuntu:released',
|
name_prefix: 'ubuntu:released',
|
||||||
path: 'streams/v1/index.sjson', max: 1,
|
path: 'streams/v1/index.sjson', max: 1,
|
||||||
item_filters: [
|
item_filters: [
|
||||||
'release~(jammy)',
|
'release~(jammy|noble)',
|
||||||
'arch~(x86_64|amd64)',
|
'arch~(x86_64|amd64)',
|
||||||
'ftype~(disk1.img|disk.img)']}]"
|
'ftype~(disk1.img|disk.img)']}]"
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
@ -205,7 +248,7 @@ applications:
|
|||||||
options:
|
options:
|
||||||
amp-image-tag: 'octavia-amphora'
|
amp-image-tag: 'octavia-amphora'
|
||||||
retrofit-series: *series
|
retrofit-series: *series
|
||||||
retrofit-uca-pocket: bobcat
|
retrofit-uca-pocket: caracal
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
placement:
|
placement:
|
||||||
charm: ch:placement
|
charm: ch:placement
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
variables:
|
variables:
|
||||||
openstack-origin: &openstack-origin cloud:noble-caracal
|
openstack-origin: &openstack-origin distro
|
||||||
|
|
||||||
local_overlay_enabled: True
|
local_overlay_enabled: True
|
||||||
|
|
||||||
@ -84,6 +84,8 @@ relations:
|
|||||||
- glance-simplestreams-sync:certificates
|
- glance-simplestreams-sync:certificates
|
||||||
- - vault:certificates
|
- - vault:certificates
|
||||||
- placement:certificates
|
- placement:certificates
|
||||||
|
- - vault:certificates
|
||||||
|
- cinder:certificates
|
||||||
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
- ["octavia-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
- ["keystone-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"]
|
- ["nova-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
@ -91,6 +93,15 @@ relations:
|
|||||||
- ["neutron-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"]
|
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
- ["vault-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
|
- ["cinder-ceph:storage-backend", "cinder:storage-backend"]
|
||||||
|
- ["nova-compute:ceph-access", "cinder-ceph:ceph-access"]
|
||||||
|
- ["ceph-mon:client", "cinder-ceph:ceph"]
|
||||||
|
- ["ceph-mon:osd", "ceph-osd:mon"]
|
||||||
|
- ["cinder:shared-db", "cinder-mysql-router:shared-db"]
|
||||||
|
- ["cinder-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
||||||
|
- ["cinder:identity-service", "keystone:identity-service"]
|
||||||
|
- ["cinder:amqp", "rabbitmq-server:amqp"]
|
||||||
|
- ["cinder:image-service", "glance:image-service"]
|
||||||
applications:
|
applications:
|
||||||
glance:
|
glance:
|
||||||
charm: ch:glance
|
charm: ch:glance
|
||||||
@ -104,6 +115,9 @@ applications:
|
|||||||
options:
|
options:
|
||||||
openstack-origin: *openstack-origin
|
openstack-origin: *openstack-origin
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
|
cinder-mysql-router:
|
||||||
|
charm: ch:mysql-router
|
||||||
|
channel: latest/edge
|
||||||
octavia-mysql-router:
|
octavia-mysql-router:
|
||||||
charm: ch:mysql-router
|
charm: ch:mysql-router
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
@ -130,6 +144,35 @@ applications:
|
|||||||
charm: ch:mysql-innodb-cluster
|
charm: ch:mysql-innodb-cluster
|
||||||
num_units: 3
|
num_units: 3
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
|
ceph-osd:
|
||||||
|
charm: ch:ceph-osd
|
||||||
|
num_units: 3
|
||||||
|
storage:
|
||||||
|
osd-devices: '40G'
|
||||||
|
options:
|
||||||
|
source: *openstack-origin
|
||||||
|
channel: squid/candidate
|
||||||
|
ceph-mon:
|
||||||
|
charm: ch:ceph-mon
|
||||||
|
num_units: 1
|
||||||
|
options:
|
||||||
|
source: *openstack-origin
|
||||||
|
monitor-count: '1'
|
||||||
|
channel: squid/candidate
|
||||||
|
cinder:
|
||||||
|
charm: ch:cinder
|
||||||
|
num_units: 1
|
||||||
|
storage:
|
||||||
|
block-devices: '40G'
|
||||||
|
options:
|
||||||
|
openstack-origin: *openstack-origin
|
||||||
|
glance-api-version: 2
|
||||||
|
block-device: None
|
||||||
|
overwrite: "true"
|
||||||
|
channel: latest/edge
|
||||||
|
cinder-ceph:
|
||||||
|
charm: ch:cinder-ceph
|
||||||
|
channel: latest/edge
|
||||||
neutron-api:
|
neutron-api:
|
||||||
charm: ch:neutron-api
|
charm: ch:neutron-api
|
||||||
num_units: 1
|
num_units: 1
|
||||||
@ -207,7 +250,7 @@ applications:
|
|||||||
name_prefix: 'ubuntu:released',
|
name_prefix: 'ubuntu:released',
|
||||||
path: 'streams/v1/index.sjson', max: 1,
|
path: 'streams/v1/index.sjson', max: 1,
|
||||||
item_filters: [
|
item_filters: [
|
||||||
'release~(jammy)',
|
'release~(jammy|noble)',
|
||||||
'arch~(x86_64|amd64)',
|
'arch~(x86_64|amd64)',
|
||||||
'ftype~(disk1.img|disk.img)']}]"
|
'ftype~(disk1.img|disk.img)']}]"
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
@ -216,7 +259,7 @@ applications:
|
|||||||
options:
|
options:
|
||||||
amp-image-tag: 'octavia-amphora'
|
amp-image-tag: 'octavia-amphora'
|
||||||
retrofit-series: *series
|
retrofit-series: *series
|
||||||
retrofit-uca-pocket: bobcat
|
retrofit-uca-pocket: caracal
|
||||||
channel: latest/edge
|
channel: latest/edge
|
||||||
placement:
|
placement:
|
||||||
charm: ch:placement
|
charm: ch:placement
|
||||||
|
@ -58,6 +58,7 @@ configure:
|
|||||||
tests:
|
tests:
|
||||||
- zaza.openstack.charm_tests.octavia.tests.LBAASv2Test
|
- zaza.openstack.charm_tests.octavia.tests.LBAASv2Test
|
||||||
- zaza.openstack.charm_tests.octavia.tests.CharmOperationTest
|
- zaza.openstack.charm_tests.octavia.tests.CharmOperationTest
|
||||||
|
- zaza.openstack.charm_tests.octavia.tests.VolumeBasedAmphoraTest
|
||||||
- zaza.openstack.charm_tests.policyd.tests.OctaviaTests
|
- zaza.openstack.charm_tests.policyd.tests.OctaviaTests
|
||||||
- no-amphora:
|
- no-amphora:
|
||||||
- zaza.openstack.charm_tests.octavia.tests.LBAASv2Test
|
- zaza.openstack.charm_tests.octavia.tests.LBAASv2Test
|
||||||
|
Loading…
Reference in New Issue
Block a user