Open tbeecherii opened 4 years ago
This still occurs with 2.2.8 as described above - thank you for taking the time to document this clearly. I have the same use case: my main server is remote, and I want to run larger topologies distributed over additional servers.
After setting main server to "Enable local server", the two remotes I've added go green in the "Servers Summary" listing. Perhaps for now this just needs to documented as a requirement. The only documentation I could find on remote servers was this which is very minimal.
The way you assign nodes to servers seems a bit awkward, unless I've missed something:
I had a question: when creating a project which uses multiple servers, where is its project.gns3 file stored - on the main server, or the remotes, or everywhere?
To test this, I created a project with two nodes, from two templates each bound to different remote servers. What I found was:
~/GNS3/projects/<uuid>/
is created, containing project-files
, but no copy of the *.gns3
file~/GNS3/projects/<name>/<name>.gns3
. The contents of this file include the corresponding UUID..gns3
file contains a computes
section listing the two nodes, and each node has a compute_id
which says which gives the UUID of the server it's running on.
"computes": []
and each node has "compute_id": "local"
Therefore it appears that the "main" server has the job of holding the project file, even if it's not doing any execution work. Maybe that's why the local server has to be enabled - although in principle I don't see why a remote main server couldn't do this.
A similar question arises for snapshots. I found they are stored on the local "main" server, where the snapshot is a zipfile containing the states of the both nodes from both remotes.
The other question I had was whether you can use portable projects for distributed topologies. What I found with the above two-node two-server configuration was:
project.gns3
file inside the .gns3project
zipfile, I see "computes": []
and "compute_id": "local"
- i.e. it's flattened down to the running on the "main" server. This meant I was unable to re-import it (since on my laptop "Enable local server" is checked, but "Enable the GNS3 VM" is unchecked).
I think it's perfectly reasonable that a distributed topology is exported "flat" - since the recipient of the project file might not have the same number of servers, or with the same names. However, it would be useful if you could assign nodes to servers, either at the time of importing the project, or being able to move them later.
Client : GNS3 2.2.5 OS X 10.14.6
Remote Servers : 2x Ubuntu 18.04.3 LTS
Environment : Due to restrictions, both servers are reached via a local ssh port forward through a jumphost.
Symptoms :
When configuring client with a single remote main server, I am able to connect to each server independently.
Server 1:
Server2:
When configuring client with one server as the remote main, and the other as an additional remote, the additional remote server does not connect.
server1 as the remote main, server2 as an additional remote
server2 as the remote main, server 1 as an additional remote
Local Wireshark captures on laptop show that no communication occurs on the port that the additional remote server is configured on during these configurations.
If the Main Server is set to Local, and the two additional servers are configured on the appropriate ports, all 3 will connect successfully. The C02TK... device here is the laptop.
In some cases, when switching these configs around, the GUI displayed old config from other attempts. In those cases the client was closed and restarted with the displayed configs to ensure nothing leftover became a factor.
My desired behavior is to have the single main remote server, and multiple additional remote servers, without having to have the local server enabled. The context here is that this is intended to be a shared lab environment with multiple individuals working with topologies saved on the main server, with the additional remote servers there for compute as necessary.