summaryrefslogtreecommitdiffstats
path: root/ci/trusty/ubuntu-nodes-controller/lxc/add-more-interface
diff options
context:
space:
mode:
Diffstat (limited to 'ci/trusty/ubuntu-nodes-controller/lxc/add-more-interface')
-rwxr-xr-xci/trusty/ubuntu-nodes-controller/lxc/add-more-interface52
1 files changed, 52 insertions, 0 deletions
diff --git a/ci/trusty/ubuntu-nodes-controller/lxc/add-more-interface b/ci/trusty/ubuntu-nodes-controller/lxc/add-more-interface
new file mode 100755
index 00000000..c9bca9fd
--- /dev/null
+++ b/ci/trusty/ubuntu-nodes-controller/lxc/add-more-interface
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+set -e
+set -u
+
+cat <<EOF >> "$LXC_CONFIG_FILE"
+
+## added by juju charm
+lxc.network.type = veth
+lxc.network.flags = up
+lxc.network.link = brData
+lxc.network.name = eth1
+lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')
+
+lxc.network.type = veth
+lxc.network.flags = up
+lxc.network.link = brPublic
+lxc.network.name = eth2
+lxc.network.hwaddr = 00:16:3e:$(openssl rand -hex 3| sed 's/\(..\)/\1:/g; s/.$//')
+EOF
+
+USERDATA="$LXC_ROOTFS_PATH/var/lib/cloud/seed/nocloud-net/user-data"
+
+additional_interfaces="
+- |
+ cat <<EOF >> /etc/network/interfaces.d/additional-interfaces
+ ## added by juju charm
+ ## those interfaces will be brought up by the upstart job as /etc/init/additional-interfaces.conf
+ ## LP: #1483932
+ auto eth1
+ iface eth1 inet dhcp
+
+ auto eth2
+ iface eth2 inet dhcp
+ EOF
+- machine_agent=\$(hostname | sed -e 's/^juju-/jujud-/')
+- |
+ cat <<EOF > /etc/init/additional-interfaces.conf
+ ## added by juju charm
+ ## LP: #1483932
+ start on started \${machine_agent}
+
+ script
+ sleep 10
+ ifup -a -i /etc/network/interfaces.d/additional-interfaces
+ end script
+ EOF
+"
+additional_interfaces=$(echo "$additional_interfaces" | sed -e 's/$/\\n/' | tr -d '\n')
+
+sed -i.orig -e "s@^runcmd:@\0$additional_interfaces@" \
+ "$USERDATA"