From 58c36233bc8c72805ad3640798eadf07b69e6684 Mon Sep 17 00:00:00 2001 From: Brent Eagles Date: Thu, 9 May 2019 11:59:31 -0230 Subject: [PATCH] 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 9e8d4e3c203fab396c653ffaad81ad6c869cc304) --- .../octavia/octavia-api-container-puppet.yaml | 45 +++++++++++++++++++ ...driver-agent-support-470fa6fd769c8428.yaml | 6 +++ 2 files changed, 51 insertions(+) create mode 100644 releasenotes/notes/add-octavia-driver-agent-support-470fa6fd769c8428.yaml diff --git a/deployment/octavia/octavia-api-container-puppet.yaml b/deployment/octavia/octavia-api-container-puppet.yaml index 8950a1b380..270edaee61 100644 --- a/deployment/octavia/octavia-api-container-puppet.yaml +++ b/deployment/octavia/octavia-api-container-puppet.yaml @@ -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 diff --git a/releasenotes/notes/add-octavia-driver-agent-support-470fa6fd769c8428.yaml b/releasenotes/notes/add-octavia-driver-agent-support-470fa6fd769c8428.yaml new file mode 100644 index 0000000000..c70d45121e --- /dev/null +++ b/releasenotes/notes/add-octavia-driver-agent-support-470fa6fd769c8428.yaml @@ -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.