Consensys / quorum

A permissioned implementation of Ethereum supporting data privacy
https://www.goquorum.com/
GNU Lesser General Public License v3.0
4.68k stars 1.29k forks source link

Constellation-node: command not found #537

Closed LogeswaranA closed 6 years ago

LogeswaranA commented 6 years ago

System information

Geth version: 1.8.15

OS & Version: Ubuntu 16.04

Branch, Commit Hash or Release: git status

I tried to setup 7nodes example today, by following this tutorial (https://github.com/jpmorganchase/quorum-examples) . After I get into Vagrant SSH, I had to install geth, node, etc. then when I enter command ./raft-start.sh

it shows following msg & stuck

[*] Starting Constellation nodes constellation-node --url=https://127.0.0.1:9001/ --port=9001 --workdir=qdata/c1 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation1.log 2>&1 & constellation-node --url=https://127.0.0.2:9002/ --port=9002 --workdir=qdata/c2 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation2.log 2>&1 & constellation-node --url=https://127.0.0.3:9003/ --port=9003 --workdir=qdata/c3 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation3.log 2>&1 & constellation-node --url=https://127.0.0.4:9004/ --port=9004 --workdir=qdata/c4 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation4.log 2>&1 & constellation-node --url=https://127.0.0.5:9005/ --port=9005 --workdir=qdata/c5 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation5.log 2>&1 & constellation-node --url=https://127.0.0.6:9006/ --port=9006 --workdir=qdata/c6 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation6.log 2>&1 & constellation-node --url=https://127.0.0.7:9007/ --port=9007 --workdir=qdata/c7 --socket=tm.ipc --publickeys=tm.pub --privatekeys=tm.key --othernodes=https://127.0.0.1:9001/ >> qdata/logs/constellation7.log 2>&1 &

After I review the constellation log, it shows, "Command not found". I am unable to install constellation node by following this tutorial (https://github.com/jpmorganchase/constellation).

Once I follow the instruction from constellation setup, it shows

vagrant@ubuntu-xenial:/vagrant/examples/7nodes$ stack init
Looking for .cabal or package.yaml files to use to init the project.
In order to init, you should have an existing .cabal file. Please try "stack new" instead.
CallStack (from HasCallStack):
  error, called at src/Stack/Solver.hs:540:9 in stack-1.7.1-JqFYW3fz7If7um4NzPRwPj:Stack.Solver
vagrant@ubuntu-xenial:/vagrant/examples/7nodes$ stack install
Error parsing targets: The specified targets matched no packages.
Perhaps you need to run 'stack init'?
vagrant@ubuntu-xenial:/vagrant/examples/7nodes$ 

I feel, QUORUM is great but the documentation what we have, need to be fine tuned to give better clarity to end user. I might be missing something, but the instructions are not that clear.

please assist and correct me if am doing something wrong..

thanks again for taking time to review this issue.

Actual behaviour

It should run fine, constellation node should be able to setup.

Steps to reproduce the behaviour

Backtrace

[backtrace]
prd-fox commented 6 years ago

Something must have gone wrong during the "vagrant up" command. The setup process will download Constellation for you. Did the vagrant command exit early? Try destroying the VM and recreating it.

As for why the installation didn't succeed, it looks like you tried to run the stack commands inside the examples folder. You should clone Constellation and inside the cloned folder, run the stack commands.

LogeswaranA commented 6 years ago

Here is how I executed.

zuiver@zuiver-Latitude-E5430-non-vPro:~/quorum-examples$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'ubuntu/xenial64' is up to date... ==> default: A newer version of the box 'ubuntu/xenial64' for provider 'virtualbox' is ==> default: available! You currently have version '20180919.0.0'. The latest is version ==> default: '20180921.0.0'. Run vagrant box update to update. ==> default: Resuming suspended VM... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key ==> default: Machine booted and ready! ==> default: Machine already provisioned. Run vagrant provision or use the --provision ==> default: flag to force provisioning. Provisioners marked to run always will still run.

But it didn't open virtualbox by itself, so I have to give "virtualbox" command to launch the virtualbox then got into the following path /vagrant/examples/7nodes and did execute the command ./raft-start.sh .. same constellation issue.

Should virtual box auto execute? once we make vagrant up?.

Also, I did one more method,

after vagrant up, i did vagrant ssh from same terminal, it got into following path.. but again no luck..

vagrant@ubuntu-xenial:/vagrant/examples/7nodes$

please check & let me know if any more information required.

prd-fox commented 6 years ago

You shouldn't be running a virtualbox command. Once the machine is running, you should run vagrant ssh to log in to the box on the command line. You shouldn't need to do anything with Virtual Box (it is just being used behind-the-scenes to run the VM).

Also, it seems you ran vagrant up when the machine was already running. Can you run vagrant destroy followed by vagrant up, which will create a fresh VM and execute the proper startup procedure?

LogeswaranA commented 6 years ago

thanks Peter for a quick reply, I did as you said.. Executed "Vagrant destroy" command, then "Vagrant up".. now i see few things are getting booted and finally have these lines as error.. I just posted last few lines which shows as error. Can you please check? - Error: retrieving gpg key timed out... For this, I tried this solution - already (https://unix.stackexchange.com/questions/75892/keyserver-timed-out-when-trying-to-add-a-gpg-public-key) but no luck.

default:  More info: https://launchpad.net/~ethereum/+archive/ubuntu/ethereum
default: gpg: 
default: keyring `/tmp/tmp3fv02wg2/secring.gpg' created
default: gpg: 
default: keyring `/tmp/tmp3fv02wg2/pubring.gpg' created
default: gpg: 
default: requesting key 923F6CA9 from hkp server keyserver.ubuntu.com
default: Error: retrieving gpg key timed out.
default: gpg: 
default: /tmp/tmp3fv02wg2/trustdb.gpg: trustdb created
default: gpg: 
default: key 923F6CA9: public key "Launchpad PPA for Ethereum" imported
default: gpg: 
default: Total number processed: 1
default: gpg: 
default:               imported: 1
default:   (RSA: 1)
default: OK

The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong.