Add possibility to configure tenant network types and type drivers
This patch add configuration options for tenant network types and type drivers. Both lists are checked so that tenant types are listed in drivers. For ironic 'flat' driver is mandatory and is added explicitly into ironic prechecks. Change-Id: Ie5775001165412910a258cbed2d2ebbb8ebbd879 Closes-Bug: #1694725
This commit is contained in:
parent
9dc17cee0f
commit
296ddbeb03
@ -517,6 +517,11 @@ designate_ns_record: "sample.openstack.org"
|
|||||||
#######################
|
#######################
|
||||||
neutron_bgp_router_id: "1.1.1.1"
|
neutron_bgp_router_id: "1.1.1.1"
|
||||||
neutron_bridge_name: "br-ex"
|
neutron_bridge_name: "br-ex"
|
||||||
|
# Comma-separated type of enabled ml2 type drivers
|
||||||
|
neutron_type_drivers: "flat,vlan,vxlan"
|
||||||
|
# Comma-separated types of tenant networks (should be listed in 'neutron_type_drivers')
|
||||||
|
# NOTE: for ironic this list should also contain 'flat'
|
||||||
|
neutron_tenant_network_types: "vxlan"
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Nova options
|
# Nova options
|
||||||
|
@ -38,3 +38,9 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- "ironic-agent.kernel"
|
- "ironic-agent.kernel"
|
||||||
- "ironic-agent.initramfs"
|
- "ironic-agent.initramfs"
|
||||||
|
|
||||||
|
- name: Looking for 'flat' in tenant network types
|
||||||
|
local_action: fail msg="'flat' is not in neutron_tenant_network_types [{{ neutron_tenant_network_types }}]"
|
||||||
|
changed_when: false
|
||||||
|
when: tenant_network_types.find('flat') == -1
|
||||||
|
run_once: true
|
||||||
|
@ -36,3 +36,13 @@
|
|||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
- ansible_os_family == 'RedHat' or ansible_distribution == 'Ubuntu'
|
- ansible_os_family == 'RedHat' or ansible_distribution == 'Ubuntu'
|
||||||
|
|
||||||
|
- name: Checking tenant network types
|
||||||
|
vars:
|
||||||
|
type_drivers: "{{ neutron_type_drivers.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
||||||
|
tenant_network_types: "{{ neutron_tenant_network_types.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
||||||
|
local_action: fail msg="Tenant network type '{{ item }}' is not in type drivers [{{ neutron_type_drivers }}]"
|
||||||
|
changed_when: false
|
||||||
|
when: item not in type_drivers
|
||||||
|
run_once: true
|
||||||
|
with_items: "{{ tenant_network_types }}"
|
||||||
|
@ -1,16 +1,8 @@
|
|||||||
# ml2_conf.ini
|
# ml2_conf.ini
|
||||||
[ml2]
|
[ml2]
|
||||||
{% if enable_ironic | bool %}
|
|
||||||
tenant_network_types = vxlan, flat
|
|
||||||
mechanism_drivers = openvswitch
|
|
||||||
{% elif enable_hyperv | bool %}
|
|
||||||
type_drivers = flat,vlan,vxlan
|
|
||||||
tenant_network_types = flat,vlan
|
|
||||||
{% else %}
|
|
||||||
# Changing type_drivers after bootstrap can lead to database inconsistencies
|
# Changing type_drivers after bootstrap can lead to database inconsistencies
|
||||||
type_drivers = flat,vlan,vxlan
|
type_drivers = {{ neutron_type_drivers }}
|
||||||
tenant_network_types = vxlan
|
tenant_network_types = {{ neutron_tenant_network_types }}
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if neutron_plugin_agent == "openvswitch" %}
|
{% if neutron_plugin_agent == "openvswitch" %}
|
||||||
{% if enable_hyperv | bool %}
|
{% if enable_hyperv | bool %}
|
||||||
|
@ -94,6 +94,12 @@ Hyper-V options are also required in ``/etc/kolla/globals.yml``:
|
|||||||
vswitch_name: <HyperV virtual switch name>
|
vswitch_name: <HyperV virtual switch name>
|
||||||
nova_msi_url: "https://www.cloudbase.it/downloads/HyperVNovaCompute_Beta.msi"
|
nova_msi_url: "https://www.cloudbase.it/downloads/HyperVNovaCompute_Beta.msi"
|
||||||
|
|
||||||
|
If tenant networks are to be built using VLAN add corresponding type in ``/etc/kolla/globals.yml``:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
neutron_tenant_network_types: 'flat,vlan'
|
||||||
|
|
||||||
The virtual switch is the same one created on the HyperV setup part.
|
The virtual switch is the same one created on the HyperV setup part.
|
||||||
For nova_msi_url, different Nova MSI (Mitaka/Newton/Ocata) versions can be found on
|
For nova_msi_url, different Nova MSI (Mitaka/Newton/Ocata) versions can be found on
|
||||||
`Cloudbase website
|
`Cloudbase website
|
||||||
|
@ -20,6 +20,21 @@ The Ironic implementation is "tech preview", so currently instances can only be
|
|||||||
deployed on baremetal. Further work will be done to allow scheduling for both
|
deployed on baremetal. Further work will be done to allow scheduling for both
|
||||||
virtualized and baremetal deployments.
|
virtualized and baremetal deployments.
|
||||||
|
|
||||||
|
Pre-deployment Configuration
|
||||||
|
============================
|
||||||
|
|
||||||
|
Enable Ironic role in ``/etc/kolla/globals.yml``:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
enable_ironic: "yes"
|
||||||
|
|
||||||
|
Beside that an additional network type 'flat' has to be added to a list of tenant network types:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
neutron_tenant_network_types: "vxlan,flat"
|
||||||
|
|
||||||
Configuring Web Console
|
Configuring Web Console
|
||||||
=======================
|
=======================
|
||||||
Configuration based off upstream web_console_documentation_.
|
Configuration based off upstream web_console_documentation_.
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Allow users to set neutron type drivers and tenant network types.
|
||||||
|
These are configurable via 'neutron_type_drivers' and
|
||||||
|
'neutron_tenant_network_types' variables correspondingly.
|
||||||
|
Tenant network types are checked against a list of type drivers.
|
||||||
|
Also 'flat' network type is checked in the lists for Ironic.
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Default neutron_tenant_network_types list consist of 'vxlan'.
|
||||||
|
Ironic users should add 'flat' to the list. Also for Hyper-V
|
||||||
|
the list should contain 'vlan'.
|
Loading…
Reference in New Issue
Block a user