diff --git a/roles/openqa/worker/files/ifup-pre-local b/roles/openqa/worker/files/ifup-pre-local new file mode 100644 index 0000000000..639178a84a --- /dev/null +++ b/roles/openqa/worker/files/ifup-pre-local @@ -0,0 +1,9 @@ +#!/bin/sh + +# if the interface being brought up is tap[n], create +# the tap device first +if=$(echo "$1" | sed -e 's,ifcfg-,,') +tap=$(echo "$if" | sed -e 's,[0-9]\+$,,') +if [ "$tap" == "tap" ]; then + tunctl -u _openqa-worker -p -t "$if" +fi diff --git a/roles/openqa/worker/tasks/main.yml b/roles/openqa/worker/tasks/main.yml index 46da0ce686..8eb01c121a 100644 --- a/roles/openqa/worker/tasks/main.yml +++ b/roles/openqa/worker/tasks/main.yml @@ -53,12 +53,11 @@ command: ifup br0 when: "brstatus.rc > 0" -- name: Create tap devices - command: "tunctl -u _openqa-worker -p -t tap{{ item }} creates=/sys/devices/virtual/net/tap{{ item }}" - with_sequence: start=0 end={{ openqa_workers | int }} +- name: Install ifup-pre-local script to create tap devices + copy: src=ifup-pre-local dest=/etc/sysconfig/network-scripts/ifup-pre-local owner=root group=root mode=0755 - name: openvswitch tap devices config - template: src=ifcfg-tap dest=/etc/sysconfig/network-scripts/ifcfg-tap{{ item }} owner=root group=root mode=0644 + template: src=ifcfg-tap.j2 dest=/etc/sysconfig/network-scripts/ifcfg-tap{{ item }} owner=root group=root mode=0644 with_sequence: start=0 end={{ openqa_workers | int }} notify: - restart NetworkManager diff --git a/roles/openqa/worker/templates/ifcfg-tap b/roles/openqa/worker/templates/ifcfg-tap.j2 similarity index 100% rename from roles/openqa/worker/templates/ifcfg-tap rename to roles/openqa/worker/templates/ifcfg-tap.j2