Add support for IPv6 to machine and cluster chart
[icn.git] / tools / vagrant / create_baremetal_network.sh
1 #!/bin/bash
2 set -eu -o pipefail
3
4 site=$1                 # vm
5 gateway4=$2             # 192.168.151.1
6 netmask=$3              # 255.255.255.0
7 gateway6=${4:-""}       # fd9c:05f4:ea84:0::1
8 prefix=${5:-"64"}       # 64
9
10 if virsh -c qemu:///system net-info ${site}-baremetal >/dev/null 2>&1; then
11     echo baremetal network is already created
12 else
13     cat <<EOF >${site}-baremetal-network.xml
14 <network>
15   <name>${site}-baremetal</name>
16   <forward mode="nat">
17     <nat>
18       <port start="1024" end="65535"/>
19     </nat>
20   </forward>
21   <bridge name="${site}0"/>
22   <ip address="${gateway4}" netmask="${netmask}"/>
23 EOF
24     if [[ ! -z ${gateway6} ]]; then
25         cat <<EOF >>${site}-baremetal-network.xml
26   <ip family="ipv6" address="${gateway6}" prefix="${prefix}"/>
27 EOF
28     fi
29     cat <<EOF >>${site}-baremetal-network.xml
30 </network>
31 EOF
32     virsh -c qemu:///system net-define ${site}-baremetal-network.xml
33     virsh -c qemu:///system net-start ${site}-baremetal
34 fi