docs: adjustments to distributed documentation to be more complete

This commit is contained in:
Blake Harnden 2020-07-08 11:56:23 -07:00
parent 7a21affbd4
commit 9fed908322

View file

@ -12,6 +12,28 @@ run on one of the emulation servers or on a separate machine.
Each machine that will act as an emulation will require the installation of a
distributed CORE package and some configuration to allow SSH as root.
## CORE Configuration
CORE configuration settings required for using distributed functionality.
Edit **/etc/core/core.conf** or specific configuration file being used.
```shell
# uncomment and set this to the address that remote servers
# use to get back to the main host, example below
distributed_address = 129.168.0.101
```
### EMANE Specific Configurations
EMANE needs to have controlnet configured in **core.conf** in order to startup correctly.
The names before the addresses need to match the names of distributed servers configured.
```shell
controlnet = core1:172.16.1.0/24 core2:172.16.2.0/24 core3:172.16.3.0/24 core4:172.16.4.0/24 core5:172.16.5.0/24
emane_event_generate = True
```
## Configuring SSH
Distributed CORE works using the python fabric library to run commands on
@ -88,6 +110,16 @@ PermitRootLogin without-password
sudo systemctl restart sshd
```
### Fabric Config File
Make sure the value used below is the absolute path to the file
generated above **~/.ssh/core**"
Add/update the fabric configuration file **/etc/fabric.yml**:
```yaml
connect_kwargs: {"key_filename": "/home/user/.ssh/core"}
```
## Add Emulation Servers in GUI
Within the core-gui navigate to menu option:
@ -152,26 +184,13 @@ to arrange the topology such that the number of tunnels is minimized. The
tunnels carry data between servers to connect nodes as specified in the topology.
These tunnels are created using GRE tunneling, similar to the Tunnel Tool.
### EMANE Configuration and Issues
EMANE needs to have controlnet configured in **core.conf** in order to startup correctly.
The names before the addresses need to match the servers configured in
**~/.core/servers.conf** previously.
```shell
controlnet = core1:172.16.1.0/24 core2:172.16.2.0/24 core3:172.16.3.0/24 core4:172.16.4.0/24 core5:172.16.5.0/24
```
```shell
emane_event_generate = True
```
## Distributed Checklist
1. Install CORE on master server
1. Install distributed CORE package on all servers needed
1. Installed and configure public-key SSH access on all servers (if you want to use
double-click shells or Widgets.) for both the GUI user (for terminals) and root for running CORE commands
1. Update CORE configuration as needed
1. Choose the servers that participate in distributed emulation.
1. Assign nodes to desired servers, empty for master server.
1. Press the **Start** button to launch the distributed emulation.