Document adding "extra" networks
This change moves the hidden `container_extra_networks` options to the defaults file and adds a blerb regarding how this functions. Change-Id: I4d7a9f05cf8382d0b83dd0ce574f7f4ba3783a63 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
parent
32ac2a103e
commit
ca6fe7df8d
|
@ -67,6 +67,11 @@ nspawn_networks:
|
||||||
# tunnel_address:
|
# tunnel_address:
|
||||||
# bridge: eth0.10
|
# bridge: eth0.10
|
||||||
#
|
#
|
||||||
|
# Extra interfaces that are wholly configured by the user can be set using the
|
||||||
|
# container extra networks option. This option follows all of the parameters of
|
||||||
|
# both `container_networks` and `nspawn_networks`.
|
||||||
|
container_extra_networks: {}
|
||||||
|
|
||||||
# In this example management storage and tunnel networks will be created and
|
# In this example management storage and tunnel networks will be created and
|
||||||
# attached to the containers.
|
# attached to the containers.
|
||||||
# + The management network will have a route created for its corresponding CIDR
|
# + The management network will have a route created for its corresponding CIDR
|
||||||
|
|
|
@ -74,8 +74,12 @@
|
||||||
{%- set start_commands = [] %}
|
{%- set start_commands = [] %}
|
||||||
{%- set seen_start_interfaces = [] %}
|
{%- set seen_start_interfaces = [] %}
|
||||||
{%- for key, value in nspawn_combined_networks.items() %}
|
{%- for key, value in nspawn_combined_networks.items() %}
|
||||||
{%- set interface = value.bridge.split('br-')[-1] %}
|
{%- if value.interface is defined %}
|
||||||
{%- set mv_interface = 'mv-' + interface %}
|
{%- set mv_interface = value.interface %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set interface = value.bridge.split('br-')[-1] %}
|
||||||
|
{%- set mv_interface = 'mv-' + interface %}
|
||||||
|
{%- endif %}
|
||||||
{%- if value.bridge not in seen_start_interfaces %}
|
{%- if value.bridge not in seen_start_interfaces %}
|
||||||
{%- if value.private_device | default(false) | bool %}
|
{%- if value.private_device | default(false) | bool %}
|
||||||
{%- set _ = start_commands.append('-/sbin/ip link add dev ' + value.bridge + ' type dummy') %}
|
{%- set _ = start_commands.append('-/sbin/ip link add dev ' + value.bridge + ' type dummy') %}
|
||||||
|
@ -118,11 +122,11 @@
|
||||||
vars:
|
vars:
|
||||||
systemd_networkd_prefix: "nspawn_host"
|
systemd_networkd_prefix: "nspawn_host"
|
||||||
systemd_run_networkd: true
|
systemd_run_networkd: true
|
||||||
systemd_interface_cleanup: false
|
systemd_interface_cleanup: true
|
||||||
systemd_netdevs: |-
|
systemd_netdevs: |-
|
||||||
{% set seen_netdevs = [] %}
|
{% set seen_netdevs = [] %}
|
||||||
{% set _netdevs = [] %}
|
{% set _netdevs = [] %}
|
||||||
{% for _, value in (nspawn_networks | combine(container_extra_networks | default({}))).items() %}
|
{% for _, value in (nspawn_networks | combine(container_extra_networks)).items() %}
|
||||||
{% set netname = value.interface | default('mv-' + value.bridge.split('br-')[-1]) %}
|
{% set netname = value.interface | default('mv-' + value.bridge.split('br-')[-1]) %}
|
||||||
{% set _netdev = {'NetDev': {'Name': netname, 'Kind': 'macvlan'}, 'MACVLAN': {'Mode': 'bridge'}} %}
|
{% set _netdev = {'NetDev': {'Name': netname, 'Kind': 'macvlan'}, 'MACVLAN': {'Mode': 'bridge'}} %}
|
||||||
{% if netname not in seen_netdevs %}
|
{% if netname not in seen_netdevs %}
|
||||||
|
@ -136,7 +140,7 @@
|
||||||
{% set _networks = [] %}
|
{% set _networks = [] %}
|
||||||
{# All nspawn_networks and container_extra_networks will be iterated over. #}
|
{# All nspawn_networks and container_extra_networks will be iterated over. #}
|
||||||
{# If a device is found, a networkd config will be generated for it. #}
|
{# If a device is found, a networkd config will be generated for it. #}
|
||||||
{% for _, value in (nspawn_networks | combine(container_extra_networks | default({}))).items() %}
|
{% for _, value in (nspawn_networks | combine(container_extra_networks)).items() %}
|
||||||
{% set netname = value.interface | default('mv-' + value.bridge.split('br-')[-1]) %}
|
{% set netname = value.interface | default('mv-' + value.bridge.split('br-')[-1]) %}
|
||||||
{% set _network = {'interface': netname} %}
|
{% set _network = {'interface': netname} %}
|
||||||
{% if netname not in seen_networks %}
|
{% if netname not in seen_networks %}
|
||||||
|
|
|
@ -21,4 +21,4 @@ nspawn_architecture_mapping:
|
||||||
armv7l: armhf
|
armv7l: armhf
|
||||||
|
|
||||||
# A combined hash of all networks to be used within a deployment.
|
# A combined hash of all networks to be used within a deployment.
|
||||||
nspawn_combined_networks: "{{ container_networks | combine(container_extra_networks | default({})) | combine(nspawn_networks) }}"
|
nspawn_combined_networks: "{{ container_networks | combine(container_extra_networks) | combine(nspawn_networks) }}"
|
||||||
|
|
Loading…
Reference in New Issue