Add support for Neutron FWaaS v2
This patch adds support for deploying Neutron FWaaS v2 with OpenStack Ansible Change-Id: I2eae414fba7ddfac44ad6f5125e08740dc7a80a2
This commit is contained in:
parent
213137468a
commit
7c64d5ea8e
@ -243,7 +243,7 @@ neutron_notifications_designate: notifications_designate
|
|||||||
# Other plugins can be added to the system by simply extending the list `neutron_plugin_base`.
|
# Other plugins can be added to the system by simply extending the list `neutron_plugin_base`.
|
||||||
# neutron_plugin_base:
|
# neutron_plugin_base:
|
||||||
# - router
|
# - router
|
||||||
# - firewall
|
# - firewall/firewall_v2 either one or the other, not both
|
||||||
# - lbaas
|
# - lbaas
|
||||||
# - neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
|
# - neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2
|
||||||
# - neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin
|
# - neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin
|
||||||
|
@ -29,6 +29,9 @@ Firewall service (optional)
|
|||||||
The following procedure describes how to modify the
|
The following procedure describes how to modify the
|
||||||
``/etc/openstack_deploy/user_variables.yml`` file to enable FWaaS.
|
``/etc/openstack_deploy/user_variables.yml`` file to enable FWaaS.
|
||||||
|
|
||||||
|
Deploying FWaaS v1
|
||||||
|
------------------
|
||||||
|
|
||||||
#. Override the default list of neutron plugins to include
|
#. Override the default list of neutron plugins to include
|
||||||
``firewall``:
|
``firewall``:
|
||||||
|
|
||||||
@ -68,6 +71,43 @@ The FWaaS default configuration options may be changed through the
|
|||||||
`conf override`_ mechanism using the ``neutron_neutron_conf_overrides``
|
`conf override`_ mechanism using the ``neutron_neutron_conf_overrides``
|
||||||
dict.
|
dict.
|
||||||
|
|
||||||
|
Deploying FWaaS v2
|
||||||
|
------------------
|
||||||
|
|
||||||
|
FWaaS v2 is the next generation Neutron firewall service and will provide
|
||||||
|
a rich set of APIs for securing OpenStack networks. It is still under
|
||||||
|
active development.
|
||||||
|
|
||||||
|
Refer to the `FWaaS 2.0 API specification
|
||||||
|
<https://specs.openstack.org/openstack/neutron-specs/specs/newton/fwaas-api-2.0.html>`_
|
||||||
|
for more information on these FWaaS v2 features
|
||||||
|
|
||||||
|
Follow the steps below to deploy FWaaS v2:
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
FWaaS v1 and v2 cannot be deployed simultaneously.
|
||||||
|
|
||||||
|
#. Add the FWaaS v2 plugin to the ``neutron_plugin_base`` variable
|
||||||
|
in ``/etc/openstack_deploy/user_variables.yml``:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
neutron_plugin_base:
|
||||||
|
- router
|
||||||
|
- metering
|
||||||
|
- firewall_v2
|
||||||
|
|
||||||
|
Ensure that ``neutron_plugin_base`` includes all of the plugins that you
|
||||||
|
want to deploy with neutron in addition to the firewall_v2 plugin.
|
||||||
|
|
||||||
|
#. Run the neutron playbook to deploy the FWaaS v2 service plugin
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# cd /opt/openstack-ansible/playbooks
|
||||||
|
# openstack-ansible os-neutron-install.yml
|
||||||
|
|
||||||
|
|
||||||
Load balancing service (optional)
|
Load balancing service (optional)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
4
releasenotes/notes/fwaasv2-added-ab9ba18c8b98a83e.yaml
Normal file
4
releasenotes/notes/fwaasv2-added-ab9ba18c8b98a83e.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- FWaaS V2 has been added to neutron. To enable this service simply add
|
||||||
|
"firewall_v2" to the "neutron_plugin_base" list.
|
@ -13,6 +13,9 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
- include: neutron_check.yml
|
||||||
|
|
||||||
|
|
||||||
- name: Gather variables for each operating system
|
- name: Gather variables for each operating system
|
||||||
include_vars: "{{ item }}"
|
include_vars: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
|
23
tasks/neutron_check.yml
Normal file
23
tasks/neutron_check.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
# Copyright 2016
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
- name: Ensure FWaaS v1 and v2 are not enabled simultaneously
|
||||||
|
fail:
|
||||||
|
message: |
|
||||||
|
FWaaS v1 and v2 cannot be enabled at the same time.
|
||||||
|
Verify that your neutron_plugin_base variable is correct.
|
||||||
|
when:
|
||||||
|
- neutron_fwaas | bool
|
||||||
|
- neutron_fwaas_v2 | bool
|
@ -27,3 +27,25 @@ send_arp_for_ha = 3
|
|||||||
|
|
||||||
# Metadata
|
# Metadata
|
||||||
enable_metadata_proxy = True
|
enable_metadata_proxy = True
|
||||||
|
|
||||||
|
{% if neutron_fwaas | bool %}
|
||||||
|
|
||||||
|
[fwaas]
|
||||||
|
enabled = true
|
||||||
|
driver = iptables
|
||||||
|
agent_version = v1
|
||||||
|
|
||||||
|
[AGENT]
|
||||||
|
extensions = fwaas
|
||||||
|
|
||||||
|
{% elif neutron_fwaas_v2 | bool %}
|
||||||
|
|
||||||
|
[fwaas]
|
||||||
|
enabled = true
|
||||||
|
driver = iptables_v2
|
||||||
|
agent_version = v2
|
||||||
|
|
||||||
|
[AGENT]
|
||||||
|
extensions = fwaas_v2
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
@ -206,12 +206,6 @@ auth_version = 3
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if neutron_fwaas | bool %}
|
|
||||||
[fwaas]
|
|
||||||
enabled = true
|
|
||||||
driver = neutron_fwaas.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# Agent
|
# Agent
|
||||||
[agent]
|
[agent]
|
||||||
polling_interval = {{ neutron_agent_polling_interval|default(5) }}
|
polling_interval = {{ neutron_agent_polling_interval|default(5) }}
|
||||||
@ -241,5 +235,3 @@ transport_url = rabbit://{% for host in neutron_rabbitmq_telemetry_servers.split
|
|||||||
# Concurrency (locking mechanisms)
|
# Concurrency (locking mechanisms)
|
||||||
[oslo_concurrency]
|
[oslo_concurrency]
|
||||||
lock_path = {{ neutron_lock_path }}
|
lock_path = {{ neutron_lock_path }}
|
||||||
|
|
||||||
|
|
||||||
|
@ -265,7 +265,8 @@ neutron_metadata: "{% if neutron_plugin_type.split('.')[0] == 'ml2' %}True{% els
|
|||||||
###
|
###
|
||||||
|
|
||||||
# Please add the 'firewall' to the neutron_plugin_base list
|
# Please add the 'firewall' to the neutron_plugin_base list
|
||||||
neutron_fwaas: "{% if 'firewall' in neutron_plugin_base %}True{% else %}False{% endif %}"
|
neutron_fwaas: "{{ 'firewall' in neutron_plugin_base | ternary('True', 'False') }}"
|
||||||
|
neutron_fwaas_v2: "{{ 'firewall_v2' in neutron_plugin_base | ternary('True', 'False') }}"
|
||||||
|
|
||||||
###
|
###
|
||||||
### LBaaS Plugin Configuration
|
### LBaaS Plugin Configuration
|
||||||
|
Loading…
x
Reference in New Issue
Block a user