Last active
August 29, 2015 14:08
-
-
Save remram44/01a05dd023cfe5097be7 to your computer and use it in GitHub Desktop.
Torque on Vagrant
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- 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