Thomas Vachuska

Adding tools for next version of warden.

Change-Id: I35b0ac57b54b0bf7b8c6b6a40e02f050b3fcc7f1
1 +#!/bin/bash
2 +# Creates a cell definition from the given name and LXC info
3 +
4 +name="$1"
5 +apps="${2:-drivers,openflow,proxyarp,mobility,pathpainter}"
6 +
7 +echo "export ONOS_CELL=borrow"
8 +echo "export ONOS_NIC=\"10.128.11.*\""
9 +
10 +sudo lxc-ls -F "name,ipv4" --fancy | grep $name | \
11 + sed "s/^$name/OC/" | tr "[:lower:]" "[:upper:]" | \
12 + sed -r 's/[ ]+/\=/;s/^/export /'
13 +
14 +echo "export OCT=\"\$OC1\""
15 +echo "export ONOS_USE_SSH=true"
16 +echo "export ONOS_APPS=${apps}"
1 +#!/bin/bash
2 +# Creates a new node from the base image.
3 +
4 +base="$1"
5 +ip="$2"
6 +name="$3"
7 +key="$4"
8 +
9 +sudo lxc-clone -o $base -n $name
10 +
11 +sudo chmod 777 /var/lib/lxc
12 +sudo chmod 777 /var/lib/lxc/$name
13 +sudo chmod 666 /var/lib/lxc/$name/config
14 +
15 +sudo cat >>/var/lib/lxc/$name/config <<EOF
16 +lxc.network.ipv4 = ${ip}/16
17 +lxc.network.ipv4.gateway = 10.128.0.1
18 +EOF
19 +
20 +sudo chmod 644 /var/lib/lxc/$name/config
21 +sudo chmod 750 /var/lib/lxc/$name
22 +sudo chmod 700 /var/lib/lxc
23 +
24 +sudo lxc-start -d -n $name
25 +sudo lxc-attach -n $name -- ping -c1 8.8.8.8
26 +sudo lxc-attach -n $name -- bash -c "echo $key >> /home/sdn/.ssh/authorized_keys"
27 +sudo lxc-ls --fancy
1 +#!/bin/bash
2 +# Creates a new cell.
3 +
4 +name="$1"
5 +ipx="$2"
6 +key="$3"
7 +
8 +cd $(dirname $0)
9 +
10 +./clone-node base-mininet ${ipx/x/0} $name-mn "$key"
11 +
12 +for n in {1..3}; do
13 + ./clone-node base-onos ${ipx/x/$n} $name-$n "$key"
14 +done
1 +#!/bin/bash
2 +# Destroys an LXC cell with the specified name.
3 +
4 +name=$1
5 +
6 +cd $(dirname $0)
7 +
8 +./destroy-node $name-mn
9 +
10 +for n in {1..3}; do
11 + ./destroy-node $name-$n
12 +done
1 +#!/bin/bash
2 +# Destroys an LXC node with the specified name.
3 +
4 +name=$1
5 +[ "$name" = "onos-base" ] && echo "Don't do that!" && exit 1
6 +[ "$name" = "mininet-base" ] && echo "Don't do that!" && exit 1
7 +
8 +sudo lxc-stop -n $name
9 +sudo lxc-destroy -n $name