CORD-603 support for pre-, post- statements in network interfaces file
Change-Id: I18495080694a9a50dd06080888077b7852b17499
diff --git a/roles/compute-node/tasks/networking.yml b/roles/compute-node/tasks/networking.yml
index f974898..89b0400 100644
--- a/roles/compute-node/tasks/networking.yml
+++ b/roles/compute-node/tasks/networking.yml
@@ -220,6 +220,27 @@
set_fact:
reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"
+- name: Ensure Veth Interface
+ netfile:
+ src: "{{ compute_node.interfaces.file }}"
+ state: present
+ name: veth3
+ config: static
+ auto: true
+ address: 0.0.0.0
+ pre-up:
+ - /sbin/ip link add name veth3 type veth peer name veth2
+ - /sbin/ip link set veth2 up
+ - /sbin/brctl addif mgmtbr veth2
+ pre-down: /sbin/brctl delif mgmtbr veth2
+ post-down: /sbin/ip link del veth2
+ description: "Veth interfaces for VTN app"
+ register: net_changed
+
+- name: Verify Veth Interface Changed
+ set_fact:
+ reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"
+
- name: Ensure Management Bridge DHCP
netfile:
src: "{{ compute_node.interfaces.file }}"
@@ -227,7 +248,7 @@
name: mgmtbr
config: "dhcp"
auto: true
- bridge_ports: "mgmtbond"
+ bridge_ports: "mgmtbond veth2"
description: "Internal POD management bridge"
register: net_changed
when: compute_node.addresses.management == "dhcp"
@@ -246,7 +267,7 @@
address: "{{ compute_node.addresses.management }}"
gateway: "{{ compute_node.gateway.management }}"
broadcast: "{{ compute_node.broadcast.management }}"
- bridge_ports: "mgmtbond"
+ bridge_ports: "mgmtbond veth2"
description: "Internal POD management bridge"
register: net_changed
when: compute_node.addresses.management != "dhcp"