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:
|
||||
# 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
|
||||
# attached to the containers.
|
||||
# + The management network will have a route created for its corresponding CIDR
|
||||
|
|
|
@ -74,8 +74,12 @@
|
|||
{%- set start_commands = [] %}
|
||||
{%- set seen_start_interfaces = [] %}
|
||||
{%- for key, value in nspawn_combined_networks.items() %}
|
||||
{%- set interface = value.bridge.split('br-')[-1] %}
|
||||
{%- set mv_interface = 'mv-' + interface %}
|
||||
{%- if value.interface is defined %}
|
||||
{%- 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.private_device | default(false) | bool %}
|
||||
{%- set _ = start_commands.append('-/sbin/ip link add dev ' + value.bridge + ' type dummy') %}
|
||||
|
@ -118,11 +122,11 @@
|
|||
vars:
|
||||
systemd_networkd_prefix: "nspawn_host"
|
||||
systemd_run_networkd: true
|
||||
systemd_interface_cleanup: false
|
||||
systemd_interface_cleanup: true
|
||||
systemd_netdevs: |-
|
||||
{% set seen_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 _netdev = {'NetDev': {'Name': netname, 'Kind': 'macvlan'}, 'MACVLAN': {'Mode': 'bridge'}} %}
|
||||
{% if netname not in seen_netdevs %}
|
||||
|
@ -136,7 +140,7 @@
|
|||
{% set _networks = [] %}
|
||||
{# All nspawn_networks and container_extra_networks will be iterated over. #}
|
||||
{# 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 _network = {'interface': netname} %}
|
||||
{% if netname not in seen_networks %}
|
||||
|
|
|
@ -21,4 +21,4 @@ nspawn_architecture_mapping:
|
|||
armv7l: armhf
|
||||
|
||||
# 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