Add Fuel OVS plugin demo script
Change-Id: I558e8ade392f7649ca938f8eb841de285b69bf6b Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
This commit is contained in:
parent
10894a064c
commit
37cc96b2fa
|
@ -0,0 +1,64 @@
|
|||
#!/bin/sh
|
||||
HTTP_PROXY=http://10.19.8.225:911
|
||||
DNS_SERVER=10.248.2.1
|
||||
SOCK5_IP=10.7.211.16
|
||||
SOCK5_PORT=1080
|
||||
|
||||
cat <<EOF | sudo tee /etc/apt/apt.conf
|
||||
Acquire::http::Proxy "$HTTP_PROXY";
|
||||
EOF
|
||||
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install redsocks -y
|
||||
|
||||
cat <<EOF | sudo tee /etc/redsocks.conf
|
||||
base {
|
||||
log_debug = on;
|
||||
log_info = on;
|
||||
log = "file:/root/proxy.log";
|
||||
daemon = on;
|
||||
redirector = iptables;
|
||||
}
|
||||
|
||||
redsocks {
|
||||
local_ip = 0.0.0.0;
|
||||
local_port = 6666;
|
||||
ip = $SOCK5_IP;
|
||||
port = $SOCK5_PORT;
|
||||
type = socks5;
|
||||
}
|
||||
|
||||
EOF
|
||||
|
||||
sudo apt-get install iptables -y
|
||||
|
||||
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
sudo iptables -t filter -F
|
||||
sudo iptables -t mangle -F
|
||||
sudo iptables -t nat -F
|
||||
|
||||
#DNS DNAT
|
||||
sudo iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination $DNS_SERVER
|
||||
|
||||
#NTP DNAT
|
||||
sudo iptables -t nat -A PREROUTING -p udp --dport 123 -j DNAT --to-destination 10.20.0.1
|
||||
|
||||
sudo iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -j MASQUERADE
|
||||
sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
|
||||
|
||||
sudo iptables -t nat -N REDSOCKS
|
||||
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
|
||||
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 6666
|
||||
sudo iptables -t nat -A REDSOCKS -p udp -j REDIRECT --to-ports 9999
|
||||
sudo iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
|
||||
sudo iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
|
||||
|
||||
sudo service redsocks restart
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
cat << EOF | sudo tee /etc/sudoers.d/fuel
|
||||
fuel ALL = (root) NOPASSWD:ALL
|
||||
EOF
|
||||
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install openssh-server -y
|
||||
sudo apt-get autoremove gnome-settings-daemon-schemas -y
|
||||
sudo apt-get autoremove libmetacity-private0a metacity-common -y
|
||||
sudo apt-get install gnome-session gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y
|
||||
sudo apt-get install virt-manager libvirt-bin qemu-system -y
|
||||
sudo virsh net-destroy default
|
||||
sudo virsh net-undefine default
|
||||
sudo rm -rf /etc/libvirt/qemu/networks/autostart/default.xml
|
||||
sudo service libvirt-bin restart
|
||||
sudo ifconfig virbr0 down
|
||||
sudo brctl delbr virbr0
|
||||
sudo apt-get install putty-tools -y
|
||||
sudo service ntp stop
|
||||
sudo apt-get autoremove ntp -y
|
||||
sudo rm -rf /etc/ntp.conf.dpkg-old
|
||||
sudo rm -rf /etc/ntp.conf
|
||||
sudo apt-get install ntp -y --force-yes
|
||||
sudo bash -c 'cat << EOF >> /etc/ntp.conf
|
||||
server 127.127.1.0
|
||||
fudge 127.127.1.0 stratum 10
|
||||
EOF'
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
rm -rf ~/.vnc; mkdir ~/.vnc
|
||||
echo "123456\n123456\n" | vncpasswd
|
||||
|
||||
cat << EOF > ~/.vnc/xstartup
|
||||
#!/bin/bash
|
||||
DESK_TYPE=gnome
|
||||
export XKL_XMODMAP_DISABLE=1
|
||||
unset SESSION_MANAGER
|
||||
unset DBUS_SESSION_BUS_ADDRESS
|
||||
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
|
||||
xsetroot -solid grey
|
||||
vncconfig -iconic &
|
||||
vncconfig -nowin &
|
||||
gnome-session &
|
||||
gnome-panel &
|
||||
gnome-settings-daemon &
|
||||
metacity &
|
||||
nautilus -n &
|
||||
gnome-terminal &
|
||||
EOF
|
||||
|
||||
chmod 755 ~/.vnc/xstartup
|
||||
vnc4server -geometry 1650x950 -depth 16 &
|
||||
echo "vnc password is 123456"
|
|
@ -0,0 +1,69 @@
|
|||
#!/bin/bash
|
||||
|
||||
#setup ntp server
|
||||
sudo service ntp restart
|
||||
|
||||
#setup network
|
||||
|
||||
sudo ifconfig br-eth0 down
|
||||
sudo brctl delbr br-eth0
|
||||
sudo brctl addbr br-eth0
|
||||
sudo ifconfig br-eth0 10.20.0.1/24 up
|
||||
|
||||
sudo ifconfig br-eth1 down
|
||||
sudo brctl delbr br-eth1
|
||||
sudo brctl addbr br-eth1
|
||||
sudo ifconfig br-eth1 172.16.0.1/24 up
|
||||
|
||||
sudo ifconfig br-dpdk down
|
||||
sudo brctl delbr br-dpdk
|
||||
sudo brctl addbr br-dpdk
|
||||
|
||||
#setup master
|
||||
|
||||
sudo virt-manager
|
||||
sudo virsh destroy fuel-master
|
||||
sudo rm -rf /var/lib/libvirt/images/fuel-master.img
|
||||
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/fuel-master.img 200G
|
||||
|
||||
mkdir -p vms
|
||||
|
||||
iso=`pwd`/`ls *.iso`
|
||||
sed "s~ISO_FILE~$iso~g" fuel-master.xml > vms/fuel-master.xml
|
||||
|
||||
sudo virsh create vms/fuel-master.xml
|
||||
|
||||
#login fuel master
|
||||
sleep 30
|
||||
rm -rf ~/.ssh/known_hosts
|
||||
sudo rm -rf ~/.putty
|
||||
inprog=1
|
||||
while [ $inprog -ne 0 ]
|
||||
do
|
||||
echo "y\n" | plink -ssh -pw r00tme root@10.20.0.2 "echo y" >& /dev/null
|
||||
inprog=$?
|
||||
sleep 20
|
||||
done
|
||||
|
||||
#cat astute.yaml | plink -ssh -pw r00tme root@10.20.0.2 "dd of=/etc/fuel/astute.yaml"
|
||||
#echo plink -ssh -pw r00tme root@10.20.0.2 "pkill fuelmenu"
|
||||
|
||||
inprog=1
|
||||
while [ $inprog -ne 0 ]
|
||||
do
|
||||
echo "y\n" | plink -ssh -pw r00tme root@10.20.0.2 "grep 'Fuel node deployment complete' /var/log/puppet/bootstrap_admin_node.log " >& /dev/null
|
||||
inprog=$?
|
||||
sleep 20
|
||||
done
|
||||
|
||||
#setup slave
|
||||
for i in {1..4}; do
|
||||
sudo virsh destroy fuel-slave-$i
|
||||
sudo rm -rf /var/lib/libvirt/images/fuel-slave-${i}.img
|
||||
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/fuel-slave-${i}.img 200G
|
||||
sed "s/FUEL_SLAVE/fuel-slave-$i/g" fuel-slave.xml > vms/fuel-slave-${i}.xml
|
||||
sudo virsh create vms/fuel-slave-${i}.xml
|
||||
done
|
||||
|
||||
#setup web browser
|
||||
firefox https://10.20.0.2:8443 >& /dev/null &
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
sudo virt-manager
|
||||
|
||||
#destroy master
|
||||
sudo virsh destroy fuel-master
|
||||
sudo rm -rf /var/lib/libvirt/images/fuel-master.img
|
||||
|
||||
#destroy slave
|
||||
for i in {1..4}; do
|
||||
sudo virsh destroy fuel-slave-$i
|
||||
sudo rm -rf /var/lib/libvirt/images/fuel-slave-${i}.img
|
||||
done
|
|
@ -0,0 +1,42 @@
|
|||
Fuel OVS Plugin Demo Script
|
||||
===========================
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
This directory includes scripts to setup fuel ovs plugin demo.
|
||||
|
||||
The scripts are ONLY tested in new installation of Ubuntu 14.04.03 Desktop
|
||||
64bit. Extra configuration or Extra packages such as virtualbox may break
|
||||
functionality. All packages or network configuration are provided by the
|
||||
the following scripts.
|
||||
|
||||
Scripts
|
||||
-------
|
||||
|
||||
1. 01_setup_network.sh
|
||||
|
||||
The script is to setup socks5 proxy. You may change the script to support
|
||||
NAT. The following network setting is updated before running the script:
|
||||
|
||||
a. HTTP_PROXY: proxy for package installation
|
||||
b. DNS_SERVER: DNS for fuel VM
|
||||
c. SOCK5_IP: socks5 proxy for fuel VM
|
||||
d. SOCK5_PORT: socks5 proxy for fuel VM
|
||||
|
||||
2. 02_install_packages.sh
|
||||
|
||||
The script is to install all packages
|
||||
|
||||
3. 03_setup_vnc.sh
|
||||
|
||||
The script is to setup vnc. Default vnc password is 123456.
|
||||
|
||||
4. 04_setup_fuel.sh
|
||||
|
||||
The script is to create 1 master VM and 4 slave VMs. Fuel ISO is copied to this
|
||||
directory before running the script.
|
||||
|
||||
5. 05_destroy_fuel.sh
|
||||
|
||||
The script is to destroy 1 master VM and 4 slave VMs.
|
|
@ -0,0 +1,94 @@
|
|||
<domain type='kvm' id='5'>
|
||||
<name>fuel-master</name>
|
||||
<memory unit='KiB'>4194304</memory>
|
||||
<currentMemory unit='KiB'>4194304</currentMemory>
|
||||
<vcpu placement='static'>4</vcpu>
|
||||
<resource>
|
||||
<partition>/machine</partition>
|
||||
</resource>
|
||||
<os>
|
||||
<type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
<boot dev='cdrom'/>
|
||||
<bootmenu enable='yes'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<disk type='file' device='disk'>
|
||||
<driver name='qemu' type='qcow2'/>
|
||||
<source file='/var/lib/libvirt/images/fuel-master.img'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
<alias name='ide0-0-0'/>
|
||||
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||
</disk>
|
||||
<disk type='file' device='cdrom'>
|
||||
<driver name='qemu' type='raw'/>
|
||||
<source file='ISO_FILE' />
|
||||
<target dev='hdc' bus='ide'/>
|
||||
<readonly/>
|
||||
<alias name='ide0-1-0'/>
|
||||
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
|
||||
</disk>
|
||||
<controller type='usb' index='0'>
|
||||
<alias name='usb0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'>
|
||||
<alias name='pci.0'/>
|
||||
</controller>
|
||||
<controller type='ide' index='0'>
|
||||
<alias name='ide0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||
</controller>
|
||||
<interface type='bridge'>
|
||||
<source bridge='br-eth0'/>
|
||||
<target dev='vnet0'/>
|
||||
<model type='virtio'/>
|
||||
<alias name='net0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
||||
</interface>
|
||||
<serial type='pty'>
|
||||
<source path='/dev/pts/16'/>
|
||||
<target port='0'/>
|
||||
<alias name='serial0'/>
|
||||
</serial>
|
||||
<console type='pty' tty='/dev/pts/16'>
|
||||
<source path='/dev/pts/16'/>
|
||||
<target type='serial' port='0'/>
|
||||
<alias name='serial0'/>
|
||||
</console>
|
||||
<input type='tablet' bus='usb'>
|
||||
<alias name='input0'/>
|
||||
</input>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
|
||||
<listen type='address' address='127.0.0.1'/>
|
||||
</graphics>
|
||||
<sound model='ich6'>
|
||||
<alias name='sound0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
||||
</sound>
|
||||
<video>
|
||||
<model type='cirrus' vram='9216' heads='1'/>
|
||||
<alias name='video0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='virtio'>
|
||||
<alias name='balloon0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
<seclabel type='dynamic' model='apparmor' relabel='yes'>
|
||||
</seclabel>
|
||||
</domain>
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
<domain type='kvm' id='75'>
|
||||
<name>FUEL_SLAVE</name>
|
||||
<memory unit='KiB'>4194304</memory>
|
||||
<currentMemory unit='KiB'>4194304</currentMemory>
|
||||
<vcpu placement='static'>4</vcpu>
|
||||
<resource>
|
||||
<partition>/machine</partition>
|
||||
</resource>
|
||||
<os>
|
||||
<type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
|
||||
<boot dev='network'/>
|
||||
<boot dev='hd'/>
|
||||
<bootmenu enable='no' />
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<cpu mode='custom' match='exact'>
|
||||
<model fallback='allow'>SandyBridge</model>
|
||||
<vendor>Intel</vendor>
|
||||
<feature policy='require' name='vmx'/>
|
||||
</cpu>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<disk type='file' device='disk'>
|
||||
<driver name='qemu' type='qcow2'/>
|
||||
<source file='/var/lib/libvirt/images/FUEL_SLAVE.img'/>
|
||||
<target dev='vda' bus='virtio'/>
|
||||
<alias name='virtio-disk0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
|
||||
</disk>
|
||||
<controller type='usb' index='0'>
|
||||
<alias name='usb0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'>
|
||||
<alias name='pci.0'/>
|
||||
</controller>
|
||||
<interface type='bridge'>
|
||||
<source bridge='br-eth0'/>
|
||||
<model type='e1000' />
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
||||
</interface>
|
||||
<interface type='bridge'>
|
||||
<source bridge='br-eth1'/>
|
||||
<model type='e1000' />
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
|
||||
</interface>
|
||||
<interface type='bridge'>
|
||||
<source bridge='br-dpdk'/>
|
||||
<model type='e1000' />
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
|
||||
</interface>
|
||||
<serial type='pty'>
|
||||
<source path='/dev/pts/20'/>
|
||||
<target port='0'/>
|
||||
<alias name='serial0'/>
|
||||
</serial>
|
||||
<console type='pty' tty='/dev/pts/20'>
|
||||
<source path='/dev/pts/20'/>
|
||||
<target type='serial' port='0'/>
|
||||
<alias name='serial0'/>
|
||||
</console>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
|
||||
<listen type='address' address='127.0.0.1'/>
|
||||
</graphics>
|
||||
<sound model='ich6'>
|
||||
<alias name='sound0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
||||
</sound>
|
||||
<video>
|
||||
<model type='cirrus' vram='9216' heads='1'/>
|
||||
<alias name='video0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='virtio'>
|
||||
<alias name='balloon0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
|
||||
</memballoon>
|
||||
</devices>
|
||||
<seclabel type='dynamic' model='apparmor' relabel='yes'>
|
||||
</seclabel>
|
||||
</domain>
|
||||
|
Loading…
Reference in New Issue