#!/bin/bash

echo "--"
echo "-- Instalando practicas Redes IP..."
echo "--"
START_TIME=$SECONDS

# Borramos el JetBrains para tener espacio en disco
rm -rf /home/upm/.local/share/JetBrains/

export DEBIAN_FRONTEND=noninteractive
echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections

sudo apt-get update
sudo apt-get -y install \
  bash-completion bridge-utils curl eog expect genisoimage gnome-terminal \
  graphviz libappconfig-perl libdbi-perl liberror-perl libexception-class-perl \
  libfile-homedir-perl libio-pty-perl libmath-round-perl libnetaddr-ip-perl \
  libnet-ip-perl libnet-ipv6addr-perl libnet-pcap-perl libnet-telnet-perl \
  libreadonly-perl libswitch-perl libsys-virt-perl libterm-readline-perl-perl \
  libxml-checker-perl libxml-dom-perl libxml-libxml-perl \
  libxml-parser-perl libxml-tidy-perl lxc lxc-templates net-tools \
  openvswitch-switch picocom pv screen tree uml-utilities virt-manager \
  virt-viewer vlan w3m wmctrl xdotool xfce4-terminal xterm lsof \
  libvirt-clients wireshark yad

mkdir /tmp/vnx-update
cd /tmp/vnx-update
rm -rf /tmp/vnx-update/vnx-*
wget http://vnx.dit.upm.es/vnx/vnx-latest.tgz
tar xfvz vnx-latest.tgz
cd vnx-*-*
sudo ./install_vnx

#cd /usr/share/vnx/filesystems/
#sudo vnx_download_rootfs -r vnx_rootfs_lxc_ubuntu64-20.04-v025-vnxlab.tgz -l -y
#sudo ln -s /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu64-20.04-v025-vnxlab /usr/share/vnx/filesystems/rootfs_lxc64-rdor

sudo mv /usr/share/vnx/etc/vnx.conf.sample /etc/vnx.conf
sudo sed -i 's/lxc_console_cmd=lxc-console/lxc_console_cmd=lxc-attach/' /etc/vnx.conf

echo "export XAUTHORITY=/home/upm/.Xauthority" >> ~/.bashrc
xhost +SI:localuser:root

#cd $HOME/Escritorio/
#wget https://web.dit.upm.es/~rdor10/entregas/valoresIP/rdor-t1-4.tar
#tar xvf rdor-t1-4.tar --warning=no-unknown-keyword
#cd rdor-t1-4
#./install-t1
#sed -i 's/^Icon=.*/Icon=notification-audio-play/' Arrancar-T1.desktop
#sed -i 's/^Icon=.*/Icon=notification-audio-stop/' Parar-T1.desktop
#cd ..
#rm -f rdor-t1-4.tar

#wget https://idefix.dit.upm.es/download/rdor/tema2/rdor-te2-caso-estudio.tgz
#tar xfvz rdor-te2-caso-estudio.tgz 
#cd rdor-te2-caso-estudio
#./install
#sed -i 's/^Icon=.*/Icon=notification-audio-play/' Arrancar.desktop
#sed -i 's/^Icon=.*/Icon=notification-audio-stop/' Parar.desktop
#sed -i 's/^Icon=.*/Icon=notification-network-wireless-full/' Configurar_rutas.desktop
#sed -i 's/^Icon=.*/Icon=notification-network-wireless-none/' Borrar_rutas.desktop
#cd ..
#rm -f rdor-te2-caso-estudio.tgz

sudo bash -c "echo 8192 > /proc/sys/fs/inotify/max_user_instances"
sudo bash -c "echo 524288 > /proc/sys/fs/inotify/max_user_watches"

yes | pip install netaddr
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-divide -O /usr/local/bin/ipprefix-divide
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-aggregate -O /usr/local/bin/ipprefix-aggregate
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-get-free -O /usr/local/bin/ipprefix-get-free
sudo chmod +x /usr/local/bin/ipprefix-*

cd /home/upm
wget http://idefix.dit.upm.es/download/rdsv/p32/dc-leaf-spine-fabric-sr-v04.tgz
sudo vnx --unpack dc-leaf-spine-fabric-sr-v04.tgz
cd dc-leaf-spine-fabric-sr-v04

sudo vnx -f dc-leaf-spine-fabric-sr.xml -v -t
sleep 20
sudo vnx -f dc-leaf-spine-fabric-sr.xml -v -x config-ONOS

ELAPSED_TIME=$(($SECONDS - $START_TIME))
echo "--"
echo "-- LAB installed in $ELAPSED_TIME sec. Close the terminal and open it again."
echo "--"
