@@ -11,34 +11,71 @@ machines* in addition to your primary vagrant virtual machine.
1111
1212## Automated Worker Installation
1313
14- These instructions are intended to be followed after [ configuring the main virtual machine] ( /developer/getting_started/vm_install_using_vagrant ) .
14+ 1 . First set up your main/primary machine by following the normal
15+ [ VM Install using Vagrant] ( /developer/getting_started/vm_install_using_vagrant ) instructions.
1516
16- 1 . Ensure you have [ Python 3] ( https://www.python.org/downloads/ ) installed on your machine.
17- ` python3 --version `
17+ 2 . Ensure you have [ Python 3] ( https://www.python.org/downloads/ ) installed on your machinem, run:
18+ ```
19+ python3 --version
20+ ```
1821
19- 2 . Generate configuration for the worker machine(s).
22+ 3 . Generate configuration for the worker machine(s).
2023 ```
2124 vagrant workers generate
2225 ```
26+
2327 For multiple workers, append the ` -n ` flag. (ex. ` -n 3 ` for 3 machines).
28+ ```
29+ vagrant workers generate -n 3
30+ ```
31+
32+ _ NOTE: This will create the vagrant configuration file: ` .vagrant/workers.json ` ._
2433
25- 3 . If you are on MacOS running QEMU, make sure to restart the network socket.
34+
35+ 4 . If you are on MacOS running QEMU, restart the network socket in public mode:
2636 ```
27- vagrant workers socket restart
37+ vagrant workers socket restart --public
2838 ```
29- If the VM runs into errors when attempting to reach the internet, try starting the socket
30- in public mode. (` vagrant workers socket restart --public ` )
31-
32- __ NOTE__ : Never interact with the socket while a worker machine is running. This can make the machine inaccessible.
39+ _ NOTE: Using the ` --public ` flag will make your worker VMs accessible to anyone
40+ on your local network, which may be a modest security concern.
41+ We suggest this to minimize possibility of errors while creating the
42+ worker machines and will revert this in a later step._
43+
44+ __ NOTE__ : Never interact with the socket while a worker machine is running.
45+ This can make the machine inaccessible.
3346
34- 4 . Now you can create the worker machine(s) with:
47+ 5 . Now you can create the worker machine(s) with:
3548 ```
3649 vagrant workers up
3750 ```
38- Do not use the --provider flag with this command, since it will conflict with the
39- provider of the main virtual machine.
51+ _ NOTE: Do not use the --provider flag with this command, since it will conflict with the
52+ provider of the main virtual machine._
53+
54+ When this is finished, you should see the Submitty duck ASCII art for each new worker machine.
55+
56+ 6 . Verify that all expected machines are running
57+ ```
58+ vagrant global-status
59+ ```
60+
61+ Which should print out a line for the primary machine, and an additional line for each worker machine:
62+
63+ ```
64+ id name provider state directory
65+ ------------------------------------------------------------------------------------
66+ abab893 ubuntu-22.04 qemu running /SOMETHING/GIT_CHECKOUT/Submitty
67+ 0fe6810 worker-1 qemu running /SOMETHING/GIT_CHECKOUT/Submitty
68+ ```
69+
70+
71+ 7 . Connect to the primary machine and complete the
72+
73+ NOTE: This is mirroring the manual connection done on the production machine
74+
75+ http://localhost:4000/sysadmin/installation/worker_installation
76+
4077
41- 5 . Once all the workers are fully set up and running, ` vagrant ssh ` into the main virtual machine and do a ` submitty_install `
78+ ` vagrant ssh ` into the main virtual machine and do a ` submitty_install `
4279
4380---
4481
0 commit comments