Commit Graph

197 Commits

Author SHA1 Message Date
Rob Walker dc9a11bae0 remove rsync size limit for validator's ledger 2018-08-03 23:31:25 -07:00
Rob Walker 98ee4b4672 fix up some nits in multinode-demo 2018-08-03 20:19:41 -07:00
Rob Walker c998199954 fixups, add validator-x to sanity 2018-08-03 15:34:11 -07:00
Rob Walker 19792192a7 support any number of self-setup validators on a single host 2018-08-03 15:34:11 -07:00
Michael Vines c5ceb15e02 Skip network tuning on CI machines 2018-08-03 10:46:48 -07:00
Rob Walker 57e928d1d0 Revert "plug in new ledger"
This reverts commit 46d9ba5ca0.
2018-08-03 10:24:51 -07:00
Rob Walker 46d9ba5ca0 plug in new ledger 2018-08-02 21:50:47 -07:00
sakridge 2ea6f86199 Submit leader's vote after observing 2/3 validator votes (#780)
* fixup!

* fixups!

* send the vote and count it

* actually vote

* test

* Spelling fixes

* Process the voting transaction in the leader's bank

* Send tokens to the leader

* Give leader tokens in more cases

* Test for write_stage::leader_vote

* Request airdrop inside fullnode and not the script

* Change readme to indicate that drone should be up before leader

And start drone before leader in snap scripts

* Rename _kp => _keypair for keypairs and other review fixups

* Remove empty else
* tweak test_leader_vote numbers to be closer to testing 2/3 boundary
* combine creating blob and transaction for leader/validator
2018-07-31 22:07:53 -07:00
Michael Vines 647053e973 Terminate child process when main script is interrupted 2018-07-30 16:36:26 -07:00
Michael Vines 3e351b0b13 Drop -t 2018-07-30 16:13:51 -07:00
Michael Vines 81db333490 Guard against rsyncing TBs of ledger 2018-07-27 23:53:20 -07:00
Michael Vines c68ee0040d No need to support migrating from the old ledger format anymore 2018-07-27 23:53:20 -07:00
Michael Vines d96e267624
Keep around 3GB of logs, 160MB is just not enough 2018-07-27 22:40:21 -07:00
Michael Vines 537be6a29d export SOLANA_DEFAULT_METRICS_RATE 2018-07-24 15:43:25 -07:00
Michael Vines 7d68b6edc8 Fixup arg processing 2018-07-23 16:51:39 -07:00
Michael Vines f7d294de90 Don't rsync leader.json on every iteration 2018-07-22 17:25:00 -07:00
Michael Vines 3ffdca193d Rename client-demo to bench-tps catchup 2018-07-21 15:46:03 -07:00
Greg Fitzgerald 637f890b91 Rename client-demo to bench-tps 2018-07-21 11:36:20 -04:00
Michael Vines b92ee51c2d Add --loop flag to easily send transactions continuously 2018-07-20 17:07:36 -07:00
Michael Vines 9d25d7611a Protect against unsupported configurations to prevent non-obvious errors later 2018-07-20 09:47:01 -07:00
Michael Vines 17d927ac74 Count testnet nodes as a part of sanity 2018-07-19 12:05:21 -07:00
Michael Vines a67f58e9a5 Add -c option to easily interrogate the number of nodes 2018-07-19 09:41:09 -07:00
pgarg66 cc229b535d
Remote multinode script cleanup (#683)
- Create a known_hosts file if it doesn't exist
  Otherwise ssh-keygen exits
- Move some common rsync code to common_start_setup
- Build the project before deploying it
2018-07-18 16:02:05 -07:00
Michael Vines 4eb676afaa Tunnel SOLANA_DEFAULT_METRICS_RATE into Snap nodes 2018-07-18 08:23:59 -07:00
Michael Vines 90b3b90391 -p 2018-07-17 19:42:00 -07:00
Michael Vines fd4f294fd3 Rotate logs at 16MB 2018-07-17 19:42:00 -07:00
Michael Vines 145274c001 Ensure log directories are go+r 2018-07-17 18:16:40 -07:00
Michael Vines df5d6693f6 Don't cache leader.json to make it easier to switch between nets 2018-07-17 18:16:40 -07:00
Michael Vines 5b0418793e Keep Snap fullnode/drone logs out of syslog, we're too spammy 2018-07-17 15:08:35 -07:00
pgarg66 4423ee6902
Renamed start_nodes.sh to remote_nodes.sh (#669) 2018-07-17 15:01:53 -07:00
pgarg66 f0c39cc84d
Remote multinode scripts cleanup (#666)
- Also added support for stop nodes
2018-07-17 13:48:25 -07:00
Michael Vines f6eb85e7a3 Permit Snap RUST_LOG to be overridden 2018-07-16 17:44:54 -07:00
pgarg66 af40ab0c04
Split start_nodes script ssh commands to individual scripts (#642) 2018-07-16 16:21:32 -07:00
Michael Vines d6a8e437bb Temporarily disable erasure 2018-07-16 08:15:47 -07:00
Pankaj Garg 8c08e614b7 Start validator nodes in parallel
- This speeds up overall network startup time
2018-07-15 19:11:52 -06:00
Michael Vines e76bf1438b A validator and leader running from the same workspace no longer share an identity 2018-07-15 13:34:48 -07:00
Michael Vines 79b3564a26 Log metrics params to stderr
Keep stdout clean for the actual program.  This is a specific concern for the
wallet command, where there exists tests that capture stdout from the wallet to
confirm transactions.
2018-07-14 21:24:22 -07:00
Michael Vines 1e8c36c555 Be less noisy 2018-07-14 20:42:00 -07:00
Michael Vines 0025b42c26 Locate perf libs 2018-07-14 10:24:20 -07:00
Michael Vines 3f7f492cc0 Fix snap client-demo fixes 2018-07-14 00:18:54 -07:00
Michael Vines 490d7875dd Snap client-demo fixes 2018-07-13 23:51:33 -07:00
Michael Vines d349d6aa98 USE_SNAP=1 is now supported 2018-07-13 22:21:41 -07:00
Michael Vines 1b9d50172b Correct log message 2018-07-13 18:08:28 -07:00
Rob Walker 58c0508f94 add drone information to multinode demo instructions 2018-07-13 17:16:55 -07:00
Michael Vines dcf82c024f Surface hidden call to solana-keygen 2018-07-13 16:16:46 -07:00
Michael Vines 05cea4c1da dedup 2018-07-13 11:48:17 -07:00
Michael Vines 260f5edfd6 Use correct leader.json 2018-07-13 11:48:17 -07:00
Michael Vines 8e7a2a9587 Validators now request an airdrop of 1 token before starting up 2018-07-13 10:02:19 -07:00
Rob Walker 11b9a0323d fixups 2018-07-12 22:51:55 -07:00
Rob Walker aaf6ce5aea fixups 2018-07-12 22:51:55 -07:00
Rob Walker 34ea483736 step two: supply a ledger file argument to fullnode in the demo
(also whack unused "myip.sh", even though it was pretty)
2018-07-12 22:51:55 -07:00
Greg Fitzgerald 4cca3ff454 Fix keypair option in scripts
Thanks @CriesofCarrots!
2018-07-12 21:50:28 -06:00
Greg Fitzgerald 428f220b88 Battle shellcheck 2018-07-12 21:50:28 -06:00
Greg Fitzgerald 10add6a8ac Cleanup setup.sh 2018-07-12 21:50:28 -06:00
Greg Fitzgerald 545f4f1c87 Pass the owner's keypair to fullnode-config 2018-07-12 21:50:28 -06:00
Greg Fitzgerald 97372b8e63 Add --outfile option to solana-keygen 2018-07-12 21:50:28 -06:00
Greg Fitzgerald b5006b8f2b Migrate to solana-keygen
Most of #593
2018-07-12 21:50:28 -06:00
Pankaj Garg 5bc133985b Start drone on remote leader node
- Also, enables CUDA for leader node
2018-07-11 20:08:18 -06:00
Pankaj Garg 45ff142871 Optimized start_nodes script to speed up GCE nodes start time
- Reduced dependency on local network
- Validators get binaries (solana bins and scripts) from leader node
2018-07-11 11:42:25 -06:00
Pankaj Garg d7d985365b Add script to create/delete multiple GCE instances
- This script outputs the IP address array that can be used
  with start_nodes script to launch multinode demo
- Changes to start_nodes to compress files for rsync
2018-07-10 18:16:05 -06:00
Pankaj Garg 3b1aa846b5 Fixed issues with configuring new GCE instances
- New nodes cloned from a working node can be used with the script
- Script takes care of installing SSH keys, and package dependencies correctly
2018-07-10 10:31:03 -06:00
Michael Vines 461dea69d9 Add SOLANA_METRICS_CONFIG environment variable 2018-07-07 19:40:09 -07:00
Tyera Eulberg 37dd511356 Pass client.json location as argument 2018-07-05 15:15:23 -06:00
Tyera Eulberg 4701540cc9 Migrate solana-client-demo to use drone 2018-07-05 15:15:23 -06:00
Tyera Eulberg 8ec2fe15f3 Port solana-drone to clap crate for CLI arguments 2018-07-04 16:39:26 -06:00
Michael Vines 687af3e3a4 Document source of magic net.core.rmem_max value 2018-07-04 14:24:01 -07:00
Greg Fitzgerald 490205ab84 Fix sanity check
...that my last PR broke
2018-07-02 19:21:03 -07:00
Michael Vines 2c0e704c82 Confirm the payment 2018-07-02 17:59:50 -07:00
Michael Vines 253048f72d Only tune networking for leader/validator 2018-07-02 17:59:50 -07:00
Michael Vines e09b8430ce Add |wallet reset| command 2018-07-02 17:59:50 -07:00
Michael Vines 9ae283dc3a Expose wallet.sh as a Snap program temporarily 2018-07-02 17:59:50 -07:00
Michael Vines f95a79d145 Default to using testnet.s.c when running as a Snap 2018-07-02 17:59:50 -07:00
Michael Vines b4dc180592 More quotes to pacify shellcheck 2018-07-02 16:41:22 -07:00
Michael Vines 263577773f Set client config directory correctly in a Snap 2018-07-02 16:41:22 -07:00
Michael Vines 7d708be121 Drone now grabs mint.json locally 2018-07-02 16:41:22 -07:00
Michael Vines feb1669d39 Correct locate rsync when running as a Snap 2018-07-02 15:57:30 -07:00
Michael Vines b7653865b1 Support testnet.solana.com as first argument 2018-07-02 15:57:30 -07:00
Rob Walker 6ee45d282e some auto-detect of wallet commands 2018-07-02 15:51:12 -06:00
Michael Vines cfc3bd0696 Add manual wallet sanity test 2018-07-02 14:38:01 -07:00
Michael Vines 1d8bb5144e Drop -demo suffix 2018-07-02 14:38:01 -07:00
Michael Vines 6eac744a05 Only rsync leader.json once 2018-07-02 10:59:09 -07:00
Michael Vines 5716898216 setup.sh can now be more picky about the kind of config it creates 2018-07-02 09:22:26 -07:00
Michael Vines c0f9e452f2 mint.json is now private 2018-07-02 09:22:26 -07:00
Michael Vines 5671da4a0a Generate a client-specific mint.json 2018-06-30 15:28:17 -07:00
Greg Fitzgerald c06582ba40 Wallet no longer uses global mint.json 2018-06-29 22:26:42 -07:00
Michael Vines 450f271cf7 Move public IP address detection out of bash 2018-06-29 21:12:05 -07:00
Michael Vines 0b56d603c2 Client NAT traversal 0.1
UPnP is now used to request a port on the NAT be forwarded to the local machine.
This obviously only works for NATs that support UPnP, and thus is not a panacea
for all NAT-related connectivity issues.

Notable hacks in this patch include a transmit/receive UDP socket pair to work
around current protocol limitations whereby the full node assumes its peer can
receive on the same UDP port it transmitted from.
2018-06-29 17:36:26 -07:00
Pankaj Garg 79a97ada04 Fix more shellchecks
Also, stops current nodes before pushing updates
2018-06-29 15:19:28 -06:00
Pankaj Garg da215d1a21 Fix failed shellchecks 2018-06-29 15:19:28 -06:00
Pankaj Garg 9ffc50bead Address review comments 2018-06-29 15:19:28 -06:00
Pankaj Garg f8352bac2f Address review comments
* Only public IP address in the list
* formatting and other comments
2018-06-29 15:19:28 -06:00
Pankaj Garg 27c1410fdc Script to deploy multiple nodes (one as leader, others as validators)
* The built code is loaded to the nodes
* ssh_keys can be copied to the nodes for internode comm
* The nodes are started with their respective roles
* The client demo is started on the last node
2018-06-29 15:19:28 -06:00
Tyera Eulberg 705df55a7f Fix program name 2018-06-29 09:51:13 -07:00
Tyera Eulberg d680f6b3a5 Fix bash scripts:
* Use wallet name everywhere
* Update drone to use mint.json
2018-06-29 09:51:13 -07:00
Michael Vines a4c49af859 Add public-ip argument to setup.sh 2018-06-28 19:13:36 -07:00
Michael Vines ee200d8fa0 Add DEBUG= flag to select debug binaries 2018-06-27 15:34:31 -07:00
Greg Fitzgerald ed10841e3d No longer spin up accounts for client-demo
Now that the Bank is single-threaded again, we can spin up new
accounts on the fly without concern of thread contention. Likewise,
we can send all transactions from a single account, which was also
problematic in the multi-threaded bank. Sending from one account will
also make client-demo straightforward to port to solana-drone.
2018-06-27 13:50:27 -07:00
Tyera Eulberg 6dac87f2a7 Add entry to snapscraft yaml; cleanup bash header 2018-06-27 13:01:29 -06:00
Tyera Eulberg a167d0d331 CI cleanup 2018-06-27 13:01:29 -06:00
Tyera Eulberg 124e1fa350 Bash scripts to go with simple-client-demo 2018-06-27 13:01:29 -06:00