diff --git a/deploy/fuel.xml b/deploy/fuel.xml index 9e85e4c0..9dc65dee 100644 --- a/deploy/fuel.xml +++ b/deploy/fuel.xml @@ -15,7 +15,7 @@ - +
diff --git a/deploy/setup_node.sh b/deploy/setup_node.sh index a6bf659c..481807f6 100755 --- a/deploy/setup_node.sh +++ b/deploy/setup_node.sh @@ -1,6 +1,29 @@ #!/bin/bash -ex +# Config-ish +MAGNET_511_ISO='magnet:?xt=urn:btih:63907abc2acf276d595cd12f9723088fd66cbe24&dn=MirantisOpenStack-5.1.1.iso&tr=http%3A%2F%2Ftracker01-bud.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-msk.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-mnv.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Fseed-qa.msk.mirantis.net%3A8080%2Fannounce&ws=http%3A%2F%2Ffuel-storage.srt.mirantis.net%2Ffuelweb%2FMirantisOpenStack-5.1.1.iso' +MAGNET_60_LRZ='magnet:?xt=urn:btih:d8bda80a9079e1fc0c598bc71ed64376103f2c4f&dn=MirantisOpenStack-6.0-upgrade.tar.lrz&tr=http%3A%2F%2Ftracker01-bud.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-msk.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-mnv.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Fseed-qa.msk.mirantis.net%3A8080%2Fannounce&ws=http%3A%2F%2Ffuel-storage.srt.mirantis.net%2Ffuelweb%2FMirantisOpenStack-6.0-upgrade.tar.lrz' +MAGNET_61_LRZ='magnet:?xt=urn:btih:baf78dcbffae42cfb5226c6b1d94b079035a74af&dn=MirantisOpenStack-6.1-upgrade.tar.lrz&tr=http%3A%2F%2Ftracker01-bud.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-mnv.infra.mirantis.net%3A8080%2Fannounce&tr=http%3A%2F%2Ftracker01-msk.infra.mirantis.net%3A8080%2Fannounce&ws=http%3A%2F%2Fvault.infra.mirantis.net%2FMirantisOpenStack-6.1-upgrade.tar.lrz' +DOWNLOAD_TORRENTS="$MAGNET_511_ISO $MAGNET_60_LRZ $MAGNET_61_LRZ" +FUEL_ISO='MirantisOpenStack-5.1.1.iso' + MYDIR="$(readlink -e "$(dirname "$BASH_SOURCE")")" # Use provided preseed.cfg to install everything + +# Transmission +DOWNLOADS_DIR="$HOME/Downloads" +mkdir -p "$DOWNLOADS_DIR" +setfacl -m 'user:debian-transmission:rwx' "$DOWNLOADS_DIR" +sudo apt-get install transmission-cli transmission-daemon +sudo service transmission-daemon stop +EDIT_SCRIPT='import sys,json; i=iter(sys.argv); next(i); fname=next(i); s=json.load(open(fname)); s.update(zip(i,i)); json.dump(s,open(fname,"w"),indent=4,sort_keys=True)' +sudo python -c "$EDIT_SCRIPT" /etc/transmission-daemon/settings.json download-dir "$DOWNLOADS_DIR" +sudo service transmission-daemon start +alias tr='transmission-remote -n transmission:transmission' +for magnet in $DOWNLOAD_TORRENTS; do + transmission-remote -n transmission:transmission -a "$magnet" +done + +# Libvirt # Fucking https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1343245 printf ' /dev/vms/* rw,\n /dev/dm-* rw,\n' | sudo tee -a /etc/apparmor.d/abstractions/libvirt-qemu > /dev/null # Build and install Libvirt package with ZFS support @@ -15,6 +38,7 @@ debuild -uc -us -b cd .. sudo dpkg -i --force-confnew libvirt0_1.2.12-0ubuntu13_amd64.deb libvirt-bin_1.2.12-0ubuntu13_amd64.deb popd + # Setup ZFS pool virsh pool-define-as vms zfs --source-name vms # no pool-build since we need -f flag for zpool create @@ -38,9 +62,11 @@ for net in admin management private public storage; do done # Master node -# Download ISO from some node +while [ ! -f "$DOWNLOADS_DIR/$FUEL_ISO" ]; do + sleep 10 +done virsh vol-create-as vms fuel 100G -virsh define "$MYDIR/fuel.xml" +virsh define <(sed "s|%ISO%|$DOWNLOADS_DIR/$FUEL_ISO|" "$MYDIR/fuel.xml") virsh start fuel virsh event fuel lifecycle # wait for shutdown on reboot virsh event fuel lifecycle --timeout 5 # wait for final shutdown on reboot