@@ -11,34 +11,71 @@ machines* in addition to your primary vagrant virtual machine.
11
11
12
12
## Automated Worker Installation
13
13
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.
15
16
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
+ ```
18
21
19
- 2 . Generate configuration for the worker machine(s).
22
+ 3 . Generate configuration for the worker machine(s).
20
23
```
21
24
vagrant workers generate
22
25
```
26
+
23
27
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 ` ._
24
33
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:
26
36
```
27
- vagrant workers socket restart
37
+ vagrant workers socket restart --public
28
38
```
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.
33
46
34
- 4 . Now you can create the worker machine(s) with:
47
+ 5 . Now you can create the worker machine(s) with:
35
48
```
36
49
vagrant workers up
37
50
```
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
+
40
77
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 `
42
79
43
80
---
44
81
0 commit comments