From 9ce401e74dfe5e2c5330bb4310383a7de27a0402 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 27 Apr 2016 15:46:13 -0700 Subject: [PATCH] use an ifup-pre-local for tap device creation holy crap, this is some ancient magic. --- roles/openqa/worker/files/ifup-pre-local | 9 +++++++++ roles/openqa/worker/tasks/main.yml | 7 +++---- .../openqa/worker/templates/{ifcfg-tap => ifcfg-tap.j2} | 0 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 roles/openqa/worker/files/ifup-pre-local rename roles/openqa/worker/templates/{ifcfg-tap => ifcfg-tap.j2} (100%) 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