Add Octavia driver agent service

Initial addition of the octavia driver agent service which is required
for the Octavia OVN provider.

Conflicts:
    deployment/octavia/octavia-api-container-puppet.yaml

Change-Id: Iddfbb649b3161a69a7d9a4a81b6913919d307d01
(cherry picked from commit 9e8d4e3c20)
This commit is contained in:
Brent Eagles 2019-05-09 11:59:31 -02:30 committed by Carlos Goncalves
parent 24f49c0e47
commit 58c36233bc
2 changed files with 51 additions and 0 deletions

View File

@ -80,11 +80,17 @@ parameters:
default: true
description: Configure the nova flavor for the amphora.
type: boolean
NeutronMechanismDrivers:
default: 'ovn'
description: |
The mechanism drivers for the Neutron tenant network.
type: comma_delimited_list
conditions:
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
use_tls_proxy: {equals : [{get_param: EnableInternalTLS}, true]}
is_ovn_in_neutron_mechanism_driver: {contains: ['ovn', {get_param: NeutronMechanismDrivers}]}
resources:
@ -169,6 +175,12 @@ outputs:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, OctaviaApiNetwork]}
-
if:
- is_ovn_in_neutron_mechanism_driver
- octavia::api::provider_drivers: 'amphora: Octavia Amphora Driver.,octavia: Deprecated alias of the Octavia Amphora driver.,ovn: Octavia OVN driver.'
- {}
service_config_settings:
rsyslog:
tripleo_logging_sources_octavia_api:
@ -214,6 +226,17 @@ outputs:
- path: /var/log/octavia
owner: octavia:octavia
recurse: true
/var/lib/kolla/config_files/octavia_driver_agent.json:
command: /usr/bin/octavia-driver-agent --config-file /usr/share/octavia/octavia-dist.conf --config-file /etc/octavia/octavia.conf --log-file /var/log/octavia/driver-agent.log --config-dir /etc/octavia/conf.d/common
config_files:
- source: "/var/lib/kolla/config_files/src/*"
dest: "/"
merge: true
preserve_properties: true
permissions:
- path: /var/log/octavia
owner: octavia:octavia
recurse: true
container_puppet_tasks:
step_5:
config_volume: octavia
@ -276,6 +299,7 @@ outputs:
- /var/lib/kolla/config_files/octavia_api.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/puppet-generated/octavia/:/var/lib/kolla/config_files/src:ro
- /var/log/containers/octavia:/var/log/octavia:z
- /var/run/octavia:/var/run/octavia:shared,z
- /var/log/containers/httpd/octavia-api:/var/log/httpd:z
-
if:
@ -289,6 +313,26 @@ outputs:
- ''
environment:
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
- if:
- is_ovn_in_neutron_mechanism_driver
- octavia_driver_agent:
start_order: 2
image: *octavia_api_image
net: host
privileged: true
restart: always
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/octavia_driver_agent.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/puppet-generated/octavia/:/var/lib/kolla/config_files/src:ro
- /var/log/containers/octavia:/var/log/octavia:z
- /var/run/octavia:/var/run/octavia:shared,z
environment:
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
- {}
host_prep_tasks:
- name: create persistent directories
file:
@ -299,6 +343,7 @@ outputs:
- { 'path': /var/log/containers/octavia, 'setype': svirt_sandbox_file_t }
- { 'path': /var/log/containers/httpd/octavia-api, 'setype': svirt_sandbox_file_t }
- { 'path': /var/log/octavia, 'setype': svirt_sandbox_file_t }
- { 'path': /var/run/octavia, 'setype': svirt_sandbox_file_t }
- name: octavia logs readme
copy:
dest: /var/log/octavia/readme.txt

View File

@ -0,0 +1,6 @@
---
features:
- |
Added support for running the Octavia driver agent in a container. This
will enable features such as the OVN load balancer provider in octavia as
well as other third party providers.