From f3421d7687e99bf030ef6c057c5da1c8fc614eb6 Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Tue, 15 May 2018 12:56:31 -0500 Subject: [PATCH] Correct contianer network creation and test it The container network creation process needs to assume that the bridge name is available and fall back to the interface. Previously this was being done in reverse. Change-Id: I51829349b5bc3f97c100a379b13f7e99f4007228 Signed-off-by: Kevin Carter --- tasks/main.yml | 6 +++++- templates/container_config_old.nspawn.j2 | 2 -- tests/test-nspawn-containers.yml | 19 +++++++++++++++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index a337984..0479ff3 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -298,7 +298,11 @@ systemd_networks: |- {% set _networks = [] %} {% for _, value in (container_networks | combine(nspawn_networks)).items() %} - {% set _network = {'interface': value.interface | default('mv-mv-' + value.bridge.split('br-')[-1])} %} + {% if value.bridge is defined %} + {% set _network = {'interface': 'mv-mv-' + value.bridge.split('br-')[-1]} %} + {% else %} + {% set _network = {'interface': value.interface} %} + {% endif %} {% if value.address is defined %} {% set _ = _network.__setitem__('address', value.address) %} {% if (value.netmask is defined) and (_network.address != 'dhcp') %} diff --git a/templates/container_config_old.nspawn.j2 b/templates/container_config_old.nspawn.j2 index 6c4949f..4b87edb 100644 --- a/templates/container_config_old.nspawn.j2 +++ b/templates/container_config_old.nspawn.j2 @@ -22,8 +22,6 @@ {% for key, value in container_networks.items() %} {% if value.bridge is defined %} {% set macvlan = 'mv-' + value.bridge.split('br-')[-1] %} -{% else %} -{% set macvlan = 'mv-' + key %} {% endif %} {% if macvlan not in macvlans %} {% set _ = macvlans.append(macvlan) %} diff --git a/tests/test-nspawn-containers.yml b/tests/test-nspawn-containers.yml index fa9b517..a0f145b 100644 --- a/tests/test-nspawn-containers.yml +++ b/tests/test-nspawn-containers.yml @@ -18,14 +18,25 @@ connection: local become: true tasks: - # NOTE(cloudnull): This should be revised at a future date. - - name: Test intra cluster connectivity - command: ping -c 1 8.8.8.8 + - name: Test connectivity to external address + command: ping -c 1 git.openstack.org register: machinectl_ping retries: 3 delay: 2 until: machinectl_ping is success - failed_when: false + delegate_to: "{{ item }}" + with_items: "{{ groups['all_containers'] }}" + tags: + - skip_ansible_lint + + - name: Test connectivity to internal address + command: ping -c 1 172.29.100.101 + register: machinectl_ping + retries: 3 + delay: 2 + until: machinectl_ping is success + delegate_to: "{{ item }}" + with_items: "{{ groups['all_containers'] }}" tags: - skip_ansible_lint