If you are are developing or testing the distributed system for automated grading, you may want to set up one or more worker machines in addition to your primary vagrant virtual machine.
Automated Virtualbox Worker Installation
These steps will create a worker machine alongside the normal Submitty machine.
- Destroy
ubuntu-20.04
andsubmitty-worker
vagrant machines (if they exist) withvagrant destroy
- Create the Submitty VM and the worker VM with
WORKER_PAIR=1 vagrant up
On Windows you will have to first set the environment variable to 1 which lasts for the session of that console, then call vagrant up.
SET WORKER_PAIR=1 vagrant up
If you want to unset the variable, you can do
SET WORKER_PAIR=
NOTE If you encounter error messages relating to IP addresses, you may need to change the IP for the
submitty-worker
machine in theVagrantfile
to avoid collisions.When not using the Worker VM, it is recommended to set
enabled: false
under thesubmitty-worker
machine in/usr/local/submitty/config/autograding_workers.json
to avoid prolonged wait times when runningINSTALL_SUBMITTY.sh
. - To boot up both VMs after they have been halted, simply run
WORKER_PAIR=1 vagrant up
using the same method as in step 2.
Manual Virtualbox Worker Installation
-
Open the Virtual Box application.
-
Click
New
to create a new machine. Give it a useful name: e.g.,worker_machine_a
Specify the type:Linux
And the version:Ubuntu 64
-
Specify the amount of memory: 2048 = 2GB should be sufficient.
-
Create the disk as a
new virtual disk
. Specify RAM memory: 2048 (2GB) Create new virtual disk. ChooseVDI
ChooseDynamically allocated
Specify size: e.g., 20GB -
Download the Ubuntu 20.04 installer 64 bit .iso. Save this somewhere on your host computer.
-
Click on
Start
to power on. Browse your files to find the Ubuntu installer .iso we downloaded earlier. PressStart
. -
Follow the Ubuntu installation menu… Click
Install Ubuntu
. SelectEnglish
keyboard. Selectnormal
installation. Agree toErase disk & Install Ubuntu
. Specify your timezone. Then specify your username, computer name, password. Then click through various menus, and wait a while installing system. Then restart the VM to finish installation. -
At some point, it will suggest that you install updates for Ubuntu 20.04, go ahead and do that. You’ll probably have to reboot.
-
Allow ssh connections to the worker VM from outside (e.g., from your primary machine): from virtual box, select the VM, click on
Settings
, thenNetwork
,Enable Network Adapter
should be checked, then set Attached to:Bridged Adapter
-
From the VM, open a terminal and install a bunch of additional packages:
sudo apt update sudo apt install net-tools sudo apt install openssh-server sudo apt install git
-
Install Guest Additions (Improves screen resolution, copy paste to/from the VM, etc.)
While the VM is running, focus on the VM window. Then from the menu, select
Devices
->Insert guest additions CD image
Open a terminal in the VM Go to the guest additions CD directory, and run the guest additions installer:mount cd /media/<USERNAME>/VBox_GAs_<VERSION>/ sudo ./VBoxLinuxAdditions.run
-
Get a permanent IP address for your machine Go to your router, assign a fix ip address for your mac address E.g., in a browser, go to
192.168.0.1
and log in… Helpful command to find your mac address & current IP address:ifconfig
-
Prevent worker VM from going to sleep (so you can send autograding jobs to it at any time).
Settings
->privacy
->screen lock
->turn off screen lock
Settings
->power
->suspend & power button
->automatic suspend
== offSettings
->power
->blank screen
==never
-
Follow the worker installation instructions