diff --git a/olasd/azure/create-vm.sh b/olasd/azure/create-vm.sh new file mode 100644 index 0000000..9d175a9 --- /dev/null +++ b/olasd/azure/create-vm.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +worker=worker01 + +zone=westeurope +resource_prefix=euwest +resource_group="${resource_prefix}-workers" + +image=credativ:Debian:8:latest + +# "default" subnet in the "swh-vnet" virtual network of the "swh-resource" resource group +subnet=/subscriptions/49b7f681-8efc-4689-8524-870fc0c1db09/resourceGroups/swh-resource/providers/Microsoft.Network/virtualNetworks/swh-vnet/subnets/default + +# Change for virtual machine size. Standard_DS = SSD; Standard_S = Standard disk +size=Standard_DS11_v2 +# size=Standard_D11_v2 + +# SSD +disk_group="${resource_prefix}workersdisks" +# Standard +# disk_group="${resource_prefix}stddisks" + +diagnostics_resource=swhresourcediag966 + + + +azure vm create \ + -g "${resource_group}" \ + -n "${worker}-${resource_prefix}" \ + -l "${zone}" \ + -y Linux -Q "${image}" \ + -S "${subnet}" -f "${worker}-${resource_prefix}-if" \ + -u testadmin -M ~/.ssh/id_rsa.inria.pub \ + -o "${disk_group}" \ + -z "${size}" \ + --boot-diagnostics-storage-uri "http://${diagnostics_resource}.blob.core.windows.net/" diff --git a/olasd/azure/provision-vm.sh b/olasd/azure/provision-vm.sh new file mode 100644 index 0000000..0e3ac91 --- /dev/null +++ b/olasd/azure/provision-vm.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +set -ex + +cd / + +ORIG_HOSTNAME="$(hostname)" +HOSTNAME=${ORIG_HOSTNAME/-*/}.euwest.azure + +IP=$(ip a | grep 192 | awk '{print $2}' | awk -F/ '{print $1}') + +apt-get update +apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade + +deluser testadmin || true +rm -rf /home/testadmin + +echo $HOSTNAME > /etc/hostname +hostnamectl set-hostname $HOSTNAME +cat >> /etc/hosts << EOF +$IP $HOSTNAME.internal.softwareheritage.org $HOSTNAME + +192.168.100.100 db +192.168.100.101 uffizi +192.168.100.31 moma +EOF + +mkdir -p /etc/resolvconf/resolv.conf.d +echo search internal.softwareheritage.org > /etc/resolvconf/resolv.conf.d/tail +apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install resolvconf + +mkdir -p /srv/storage/space +mkdir -p /srv/softwareheritage/objects + +cat >> /etc/fstab << EOF + +uffizi:/srv/storage/space /srv/storage/space nfs rw,soft,intr,rsize=8192,wsize=8192,noauto,x-systemd.automount,x-systemd.device-timeout=10 0 0 +uffizi:/srv/softwareheritage/objects /srv/softwareheritage/objects nfs rw,soft,intr,rsize=8192,wsize=8192,noauto,x-systemd.automount,x-systemd.device-timeout=10 0 0 +EOF +apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install nfs-common +mount -a + + +apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install puppet +service puppet stop +systemctl disable puppet.service +puppet agent --enable + +cat > /etc/puppet/puppet.conf << EOF +[agent] +server=pergamon.internal.softwareheritage.org +report = true +pluginsync = true +EOF + +rm -r /root/.ssh + +puppet agent -t + +reboot