I created 4 virtual machines, each with a different IP, each with Ubuntu 16, OrientDB.

Following the instructions on the above-mentioned page, I started the 4 notes (generate_sovrin_pool_transactions --nodes 4 --clients 5 --nodeNum <nnn> followed by start_sovrin_node Node1 <port1> <port2>) on each machine.

I started a 5th virtual machine (yet another IP). On this one, I would like to use the sovrin CLI.

I cannot not find a way to tell the CLI to use the pool of machines created above. I thought that modifying lib/python3.5/site-packages/sovrin/config.py would help… but no luck.

Assuming you are using the --ips flag, you have to use the same command as you ran on any of those 4 machines on the 5th machine too, the value of --nodeNum can be anything. Once done you should be able to use the CLI to connect to nodes. The purpose of generate_sovrin_pool_transactions is to generate the genesis transaction file that specifies where the nodes are located. I know using the --nodeNum on the 5th machine sounds silly and would be fixed the next release.

Right, nodeNum had to be <=5 (this has been resolved though where you can omit it, it will soon be in the release). From the logs it looks like it got connected to Node4 since 9vj4toFMbvuzGcDLHJoiRNc7P6VN3SmKPjfb7vuofkdF now connected to Node4C. When you ran the nodes did you see some traffic between them? I am trying to see if the other nodes allow UDP communiction.

Update: Can it now connect to other nodes, was it a delay issue where you had to wait for a minute or so to get connected?

On the CLI, when I type status it tells me that I’m Connected to test Sovrin network.

My next issue now is when I accept the Faber invitation. It tells me that it cannot find the remote endpoint (see output below).

Sovrin-CLI (c) 2016 Evernym, Inc.Node registry loaded.Node1: 10.132.3.7:9701Node2: 10.132.3.8:9703Node3: 10.132.3.6:9705Node4: 10.132.3.9:9707Type 'help' for more information.sovrin> new key with seed 000000000000000000000000Steward1New keyring Default createdActive keyring set to "Default"Key created in keyring DefaultIdentifier for key is FYmoFw55GeQH7SRFa37dkx1d2dZ3zUF8ckg7wmL7ofN4Current identifier set to FYmoFw55GeQH7SRFa37dkx1d2dZ3zUF8ckg7wmL7ofN4sovrin> connect testClient sovrinQ0i1Xh initialized with the following node registry:Node1C listens at 10.132.3.7 on port 9702Node2C listens at 10.132.3.8 on port 9704Node3C listens at 10.132.3.6 on port 9706Node4C listens at 10.132.3.9 on port 9708Active client set to sovrinQ0i1XhA2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K listening for other nodes at 0.0.0.0:8310A2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K looking for Node2C at 10.132.3.8:9704A2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K looking for Node4C at 10.132.3.9:9708A2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K looking for Node1C at 10.132.3.7:9702A2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K looking for Node3C at 10.132.3.6:9706Connecting to test...A2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K now connected to Node4CA2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K now connected to Node3CA2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K now connected to Node2CA2Dkd9ikeJknyEDyuqrwYMiZ3VpBSwPbunH2HPeBcZ2K now connected to Node1CConnected to test.sovrin@test> send NYM dest=FuN98eH2eZybECWkofW6A9BKJxxnTatBCopfUiNxo6ZB role=SPONSORAdding nym FuN98eH2eZybECWkofW6A9BKJxxnTatBCopfUiNxo6ZBsovrin@test> send ATTRIB dest=FuN98eH2eZybECWkofW6A9BKJxxnTatBCopfUiNxo6ZB raw={"endpoint": "127.0.0.1:5555"}At that point I started, on the same machine the Faber endpoint script.Adding attributes {"endpoint": "127.0.0.1:5555"} for FuN98eH2eZybECWkofW6A9BKJxxnTatBCopfUiNxo6ZBsovrin@test> load sample/faber-invitation.sovrinsovrinQ0i1Xh is already started, so start has no effect1 link invitation found for Faber College.Creating Link for Faber College.Generating Identifier and Signing key.

I see Adding attributes {"endpoint": ..., but you should have seen something like Added.... That confirms that the attribute was written to the ledger. Maybe wait for a few more seconds to see the confirmation. I think there is some latency between your machines

It’s been several minutes since the send ATTRIB message was sent. Is there a way on the node side to disable the verbose output and only get warnings or errors ? I see tons of Debug information and it’s not easy to spot what could go wrong there.

You should be seeing some COMMIT messages recently. Also in the directory where you run the CLI, there would be a file called cli.log, you can check whether it contains any REPLY message for this ATTRIB message

Here is the cli log fie converted as PDF as other formats are not allowed here. In any case I have not seen a COMMIT message and, as said, I’m not sure what to look for in the output of of the nodes processes or of the Faber process.

Ok, i see from the log that NYM request did not get REPLY, so ATTRIB request was rejected since the request was asking to add an attribute to the ledger for a NYM that was not present, so a REQNACK was sent. I am looking at the log more to see if i can see more