Add a single variable for combined networks

The combined networks variable will allow deployers to set basic
container networks, default nspawn networks, and any "extra" networks a
deployer may need outside of a standard build.

Change-Id: I5346fdf81967d6eb7f69e61a187166c076ca4b60
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2018-05-31 13:04:29 -05:00 committed by Kevin Carter (cloudnull)
parent eececf267f
commit 4552c56f2b
3 changed files with 9 additions and 6 deletions

View File

@ -34,7 +34,7 @@
daemon_reload: true
when:
- item.value.enable_dhcp | default(false) | bool
with_dict: "{{ container_networks | combine(nspawn_networks) }}"
with_dict: "{{ nspawn_combined_networks }}"
- name: Remove policy-rc
file:

View File

@ -73,7 +73,7 @@
execstarts: |-
{%- set start_commands = [] %}
{%- set seen_start_interfaces = [] %}
{%- for key, value in (container_networks | combine(nspawn_networks)).items() %}
{%- for key, value in nspawn_combined_networks.items() %}
{%- set interface = value.bridge.split('br-')[-1] %}
{%- set mv_interface = 'mv-' + interface %}
{%- if value.bridge not in seen_start_interfaces %}
@ -113,7 +113,7 @@
systemd_netdevs: |-
{% set seen_netdevs = [] %}
{% set _netdevs = [] %}
{% for _, value in (container_networks | combine(nspawn_networks)).items() %}
{% for _, value in nspawn_combined_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 %}
@ -125,7 +125,7 @@
systemd_networks: |-
{% set seen_networks = [] %}
{% set _networks = [] %}
{% for _, value in (container_networks | combine(nspawn_networks)).items() %}
{% for _, value in nspawn_combined_networks.items() %}
{% set netname = value.interface | default('mv-' + value.bridge.split('br-')[-1]) %}
{% set _network = {'interface': netname} %}
{% if netname not in seen_networks %}
@ -156,7 +156,7 @@
template:
src: "dnsmasq-config.conf.j2"
dest: "/etc/dnsmasq.d/dnsmasq-{{ 'mv-' + item.value.bridge.split('br-')[-1] }}.conf"
with_dict: "{{ container_networks | combine(nspawn_networks) }}"
with_dict: "{{ nspawn_combined_networks }}"
when:
- item.value.enable_dhcp | default(false) | bool
notify:
@ -205,7 +205,7 @@
- dnsmasq_var.value.enable_dhcp | default(false) | bool
- dnsmasq_var.value.address is defined
- dnsmasq_var.value.netmask is defined
with_dict: "{{ container_networks | combine(nspawn_networks) }}"
with_dict: "{{ nspawn_combined_networks }}"
loop_control:
loop_var: dnsmasq_var
tags:

View File

@ -19,3 +19,6 @@ nspawn_architecture_mapping:
ppc64le: ppc64el
s390x: s390x
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) }}"