Skip to content

Instantly share code, notes, and snippets.

@remram44
Last active August 29, 2015 14:08
Show Gist options
  • Save remram44/01a05dd023cfe5097be7 to your computer and use it in GitHub Desktop.
Save remram44/01a05dd023cfe5097be7 to your computer and use it in GitHub Desktop.
Torque on Vagrant
#!/bin/sh
set -e
MODE=$1
HOSTNAME=$2
if [ "$MODE" != "master" -a "$MODE" != "worker" ]; then
echo "Unknown mode \"$MODE\"" >&2
exit 1
fi
if [ -z "$HOSTNAME" ]; then
echo "No hostname provided" >&2
exit 1
fi
# Host map
cat >> /etc/hosts <<ENDMAP
10.4.8.11 torque-master
10.4.8.12 torque-worker-x64-m256
10.4.8.13 torque-worker-x64-m1024
10.4.8.14 torque-worker-x86-m512
ENDMAP
# Sets hostname
old_hostname="$(hostname -s)"
sed -i "/$old_hostname/d" /etc/hosts
sed -i "/$HOSTNAME/d" /etc/hosts
echo "$HOSTNAME" > /etc/hostname
hostname "$HOSTNAME"
echo "127.0.0.1 $HOSTNAME ${HOSTNAME}.localdomain" >> /etc/hosts
echo "127.0.0.1 localhost localhost.localdomain" >> /etc/hosts
# Install
aptitude update -q -y
if [ $MODE = master ]; then
aptitude install -q -y torque-server torque-client torque-scheduler torque-mom
else
aptitude install -q -y torque-mom
fi
# Stop
if [ $MODE = master ]; then
service torque-server stop
service torque-scheduler stop
fi
service torque-mom stop
sleep 5
# Configure
cd /var/spool/torque/
if [ $MODE = master ]; then
cat > server_priv/nodes << NODELIST
torque-master
torque-worker-x64-m256
torque-worker-x64-m1024
torque-worker-x86-m512
NODELIST
fi
echo '$pbsserver' "torque-master" > mom_priv/config
hostname --long > server_name
# Restart everything
if [ $MODE = master ]; then
service torque-server start
sleep 2
service torque-scheduler start
sleep 2
fi
service torque-mom start
if [ $MODE = master ]; then
# Create queue
qmgr -c "set server scheduling=true"
qmgr -c "create queue batch queue_type=execution"
qmgr -c "set queue batch started=true"
qmgr -c "set queue batch enabled=true"
qmgr -c "set queue batch resources_default.nodes=1"
qmgr -c "set queue batch resources_default.walltime=60"
qmgr -c "set server default_queue=batch"
# Print info
qmgr -c "print server"
pbsnodes -a
fi
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "master", primary: true do |m|
m.vm.box = "remram/debian-7-amd64"
m.vm.network "private_network", ip: "10.4.8.11"
m.vm.provider "virtualbox" do |v|
v.memory = 512
v.cpus = 1
end
m.vm.provision "shell" do |s|
s.path = "setup.sh"
s.args = ["master", "torque-master"]
end
end
config.vm.define "worker-x64-m256", autostart: false do |m|
m.vm.box = "remram/debian-7-amd64"
m.vm.network "private_network", ip: "10.4.8.12"
m.vm.provider "virtualbox" do |v|
v.memory = 256
v.cpus = 1
end
m.vm.provision "shell" do |s|
s.path = "setup.sh"
s.args = ["worker", "torque-worker-x64-m256"]
end
end
config.vm.define "worker-x64-m1024", autostart: false do |m|
m.vm.box = "remram/debian-7-amd64"
m.vm.network "private_network", ip: "10.4.8.13"
m.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
m.vm.provision "shell" do |s|
s.path = "setup.sh"
s.args = ["worker", "torque-worker-x64-m1024"]
end
end
config.vm.define "worker-x86-m512", autostart: false do |m|
m.vm.box = "remram/debian-7-amd64"
m.vm.network "private_network", ip: "10.4.8.14"
m.vm.provider "virtualbox" do |v|
v.memory = 512
v.cpus = 2
end
m.vm.provision "shell" do |s|
s.path = "setup.sh"
s.args = ["worker", "torque-worker-x86-m512"]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment