Commit Graph

377 Commits

Author SHA1 Message Date
Michael Vines c4b9d5d8b9
Remove stray line 2018-11-05 20:53:34 -08:00
Michael Vines 52491b467a
Update testnet deploy docs 2018-11-05 19:12:55 -08:00
Michael Vines 7789fda016 Add testnet-manager pipeline 2018-11-05 17:35:30 -08:00
Pankaj Garg c4346e6191
Add testnet pipeline for prebuilt images (#1708)
* Add testnet pipeline for prebuilt images

- It'll speed up testnet testing for released images

* removed quotes from variable

* address review comments

* fix testnet automation error
2018-11-05 13:50:33 -08:00
Michael Vines 5a85cc4626
Rename buildkite-snap to buildkite-secondary 2018-11-05 08:47:51 -08:00
Michael Vines 2c74815cc9
ci: correct crates.io publishing order 2018-11-02 15:39:24 -07:00
carllin 298bd6479a
Add first leader to genesis (#1681)
* Add first leader to genesis entries, consume in genesis.sh

* Set bootstrap leader in the bank on startup, remove instantiation of bootstrap leader from bin/fullnode

* Remove need to initialize bootstrap leader in leader_scheduler, now can be read from genesis entries

* Add separate interface new_with_leader() in mint for creating genesis leader entries
2018-11-02 14:32:05 -07:00
Pankaj Garg db98f7e0b4
Use env variables to disable validator sanity and ledger verification (#1675) 2018-10-31 12:30:33 -07:00
jackcmay 0529f36fde
Run workspace member's tests (#1666)
Run workspace member's tests
2018-10-30 22:53:36 -07:00
Pankaj Garg 85869552e0
Update testnet scripts to use release tar ball (#1660)
* Update testnet scripts to use release tar ball

* use curl instead of s3cmd
2018-10-30 18:05:38 -07:00
Pankaj Garg 6f9843c14b
Publish a tarball of Solana release binaries (#1656)
* Publish a tarball of solana release binaries

* included native programs in Solana release tar

* Remove PR check from publish script
2018-10-30 15:31:52 -07:00
Michael Vines 37213209c5 Create programs/bpf/c/sdk/ 2018-10-29 19:10:29 -07:00
Michael Vines f6b1b5ab37
Remove unnecessary checks 2018-10-29 13:27:52 -07:00
Michael Vines f12743de38 Create/publish bpf-sdk tarball 2018-10-29 12:54:57 -07:00
Michael Vines 77e10ed757 Add utility to figure the current crate version 2018-10-29 12:54:57 -07:00
Michael Vines f671b7f63f
Publish root crate too 2018-10-25 17:16:18 -07:00
Michael Vines a340b18b19 Upgrade to rust 1.30 2018-10-25 17:13:41 -07:00
Michael Vines 160cff4a30
Check for TRIGGERED_BUILDKITE_TAG 2018-10-25 16:37:54 -07:00
Michael Vines 1733beabf7 mv common/ sdk/ 2018-10-25 13:26:10 -07:00
Michael Vines 471d8f6ff9 Fix up the version references to all other internal crates 2018-10-25 12:54:32 -07:00
Michael Vines b982595c73 Add version check and rustup 2018-10-24 19:48:58 -07:00
Rob Walker 4ea422bcec run integration tests serially 2018-10-17 11:37:10 -07:00
Greg Fitzgerald 6074e4f962 Attempt to stabilize the test suite
The integration tests are allowed to open sockets, so running them
in parallel may cause "Too many open files" errors. This patch
runs the unit tests in parallel and the integration test serially.
2018-10-17 11:37:10 -07:00
Greg Fitzgerald 5b4d4b97bc Upgrade to latest stable Rust, 1.29.2 2018-10-15 09:54:24 -06:00
Michael Vines c5180c8092 Permit RUST_LOG overrides 2018-10-14 12:40:37 -07:00
Pankaj Garg e5ab9a856c
Upload bench output as build artifacts (#1478)
* Upload bench output as build artifacts

* Fix tags types

* Pull previous stats from metrics

* Change the default branch for comparison

* Fix formatting

* Fix build errors

* Address review comments

* Dedup some common code

* Add eval for channel info to find branch name
2018-10-12 15:13:10 -07:00
Michael Vines 5c523716aa Ship native programs 2018-10-10 16:49:48 -07:00
Pankaj Garg c240bb12ae Change buildkite agent for testnet automation 2018-10-09 15:04:55 -07:00
Pankaj Garg 29a8823db1
Env variables for testnet-automation parameters (#1455)
- This will enable us to create custom pipelines for field events
2018-10-09 11:50:56 -07:00
Pankaj Garg a80955eacb
Change format of data for TPS/Finality metrics in testnet automation (#1446)
* Change format of data for TPS/Finality metrics in testnet automation

* Revert number of nodes for testnet automation

* Split python command to its own script

* Fix python command line arguments
2018-10-09 10:35:01 -07:00
Pankaj Garg 0a39722719
Add support to trigger testnet from a PR (#1434)
* Add support for different node counts

* Update variable names

* Delete network even after failures

* Add array for node counts

* Changed number of nodes to a space separated string of numbers

* Adjust number of nodes

* Snap will not be published if the env variable DO_NOT_PUBLISH_SNAP is set

* Address review comments

* Replaced influx db URL
2018-10-05 16:32:05 -07:00
Greg Fitzgerald 9c0fa4d1d2
Upload coverage HTML reports (#1421)
Uploads two reports to Buildkite, one from cargo-cov and one from lcov via grcov.  The lcov one is busted on linux and is what we need to bring codecov.io back up again. It works great on macos if you wanted to generate them locally and prefer lcov HTML reports.

* Also comment out non-coverage build to speed things up.
2018-10-05 10:17:35 -07:00
Michael Vines beb4536841
Run a fullnode+drone automatically when the container starts up 2018-10-02 18:09:35 -07:00
Michael Vines ad5fcf778f Publish minimal Solana docker images to dockerhub 2018-10-02 16:57:48 -07:00
Michael Vines 83b000ae88 Remove SNAP_ prefix 2018-10-02 16:57:48 -07:00
Greg Fitzgerald 94459deb94 Disable codecov.io reporting 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 660af84b8d Use the same versions of llvm-cov and libprofile 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 7b31020903 Add back llvm-dev for llvm-cov 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 9a4143b4d9 Upgrade llvm-dev and boot kcov
Need clang-dev, not llvm-dev because cargo-cov looks for libprofile
in a clang installation directory.
2018-09-28 19:19:16 -07:00
Greg Fitzgerald aebc47ad55 Attempt coverage reporting 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 5bc01cd51a Revive code coverage 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 19a7ff0c43 Pin down nightly in benchmark build 2018-09-28 19:29:50 -06:00
Greg Fitzgerald 5f18403199 Upgrade nightly 2018-09-28 19:29:50 -06:00
Tyera Eulberg 9f325fca09 Re-enable cargo audit 2018-09-28 17:53:41 -06:00
Tyera Eulberg 10d08acefa Reenable cargo audit 2018-09-28 17:53:41 -06:00
Tyera Eulberg 52d50e6bc4 Update for new solana-jsonrpc 2018-09-28 17:53:41 -06:00
Stephen Akridge aa2a3fe201 Add chacha module to encrypt ledger files 2018-09-28 14:23:37 -07:00
Greg Fitzgerald 485ba093b3 Install kcov to CI environment 2018-09-28 11:20:27 -06:00
Michael Vines 8d92232949
Specify zone 2018-09-28 07:32:49 -07:00
Michael Vines e4d8c094a4
Include -z when deleting network 2018-09-27 21:27:09 -07:00
Greg Fitzgerald 675ff64094 Fail CI on clippy warnings 2018-09-27 16:21:12 -06:00
Greg Fitzgerald f9fe6a0f72 Move clippy to Rust stable 2018-09-27 16:21:12 -06:00
Greg Fitzgerald 8d007bd7f7 Upgrade rustc and add clippy to stable 2018-09-27 16:21:12 -06:00
Stephen Akridge 6cdbdfbbcb Enable bench and fix upload-perf 2018-09-27 14:16:56 -07:00
Pankaj Garg 35e6343d61
Update testnet-deploy script to configure GPUs for leader node (#1379) 2018-09-27 13:42:24 -07:00
Michael Vines afc764752c Permit testnets without a GPU 2018-09-26 10:37:41 -07:00
sakridge 3e76efe97e
Fix bench compilation (#1311) 2018-09-24 10:40:42 -07:00
Michael Vines e5e325154b Add --shell argument 2018-09-24 08:05:47 -07:00
Michael Vines 67f1fbab5f Treat rustc warnings as errors in CI 2018-09-20 19:46:20 -07:00
sakridge 2981076a14
Add solana-upload-perf to parse json from bench and upload to influx (#1166) 2018-09-19 13:16:55 -07:00
Michael Vines 3ca80c676c
Disable large-network until it's fixed 2018-09-14 20:13:17 -07:00
Michael Vines a344eb7dd0 Upgrade rust stable to 1.29 2018-09-14 16:37:49 -07:00
Michael Vines f06113500d bench-tps/net sanity: add ability to check for unexpected extra nodes 2018-09-12 15:38:57 -07:00
Rob Walker 97c3125a78
improve localnet-sanity's robustness (#1160)
* fix poll_gossip_for_leader() loop to actually wait
         for 30 seconds
    * reduce reuseaddr use to only when necessary,
         try to avoid already bound sockets
    * move nat.rs to netutil.rs
    * add gossip tracing to thin_client and bench-tps
2018-09-09 04:50:43 +09:00
Michael Vines a77aca75b2
Add NO_VALIDATOR_SANITY back 2018-09-07 22:37:05 -07:00
Michael Vines b1b03ec13b Refine docker image tagging to avoid breaking stabilization branches on updates 2018-09-07 18:42:25 -07:00
Rob Walker 51b27779c9
client changes for TODOs and looping (#1138)
* remove client.sh from snap
* default to ephemeral instead of ~/.config key
* rework CLI for bench-tps
* remote multinode-demo stuff from remote-client.sh
* remove multinode-demo from remote-sanity and localnet-sanity
2018-09-08 07:07:10 +09:00
Michael Vines 0d945e6a92 Groom testnet-sanity logging 2018-09-07 12:45:48 -07:00
Michael Vines e51445d857
🙃 2018-09-07 12:24:34 -07:00
Michael Vines ee682d5bc3 Move wallet-sanity.sh out of multinode-demo/ 2018-09-07 12:01:43 -07:00
Michael Vines 506a81e8cc Assume -y 2018-09-07 12:01:43 -07:00
Michael Vines 88298bf321 Add -n option 2018-09-07 12:01:43 -07:00
Michael Vines 533ebc17f2
Install multilog automatically on a CI machine 2018-09-07 11:56:23 -07:00
Michael Vines e088833b81
s/create/start/ 2018-09-06 21:07:11 -07:00
Michael Vines b1bacf12a6
Add some log sections 2018-09-06 20:38:11 -07:00
Michael Vines 66ff602659 Rewrite ci/testnet-{deploy,sanity}.sh in terms of net/ primitives 2018-09-06 19:54:39 -07:00
Michael Vines 072d0b67e4
Send deploy metrics to the testnet-specific database 2018-09-06 08:30:03 -07:00
Michael Vines 6560b0e2cc s/whoami/id -un/ 2018-09-05 14:26:21 -07:00
Michael Vines 449d7042f0 Configure metrics correctly 2018-09-05 09:02:02 -07:00
Michael Vines 43b4207101 Run oom-monitor in net/ testnets 2018-09-05 09:02:02 -07:00
Michael Vines c81c19234f Improve incremental speed of docker cargo builds outside of CI 2018-09-05 09:02:02 -07:00
Greg Fitzgerald cf2626a1c5 Update instructions to upgrade nightly docker image 2018-09-04 20:56:40 -06:00
Greg Fitzgerald 68c72d6f34 Fix nightly build 2018-09-04 20:56:40 -06:00
Greg Fitzgerald 65f78905cd Install cargo-cov on latest nightly 2018-09-04 20:56:40 -06:00
Michael Vines b4a7a18334
Update README.md 2018-09-04 13:29:00 -07:00
Rob Walker 61abee204f
don't check for snap mode in common.sh, is only relevant to snap daemons (#1113)
snap mode is for daemons, remove it from client (i.e. common.sh)

supply leader info to client via snap
2018-09-04 14:31:54 +09:00
Rob Walker e834c76b40 --count => --num-nodes 2018-09-04 07:07:25 +09:00
Rob Walker d1f1cbe88f leader-address=>leader-ip 2018-09-01 04:38:18 +09:00
Rob Walker a4e7b6e90c more fixups for client.sh changes 2018-09-01 03:33:21 +09:00
Rob Walker fbc7c9c431 fix client_start to deal with new client.sh 2018-09-01 03:23:05 +09:00
Rob Walker 8b248dcf09 specify port 2018-09-01 02:56:24 +09:00
Rob Walker 4938aad939 fixups 2018-09-01 02:21:46 +09:00
Rob Walker 7e882dfe62 inform all snaps where the network is 2018-09-01 02:21:46 +09:00
Rob Walker 9d1eb4f9ea remove 'localhost' leader (redundant, un-dig-friendly) 2018-08-31 23:21:07 +09:00
Rob Walker 176e806d94 rework of netwrk rendezvous
* rename NodeInfo field of Node from "data" to "info"
      (touches a lot of files)

  * update client to use gossip to find leader, a la drone

  * rework multinode scripts
      * move more stuff into rust
      * added usage to all
      * no more rsync unless you're a validator (TODO: whack that, too)
  * fullnode doesn't bail if drone isn't up yet, just keeps trying
  * drone doesn't bail if network isn't up yet, just keeps trying
2018-08-31 23:21:07 +09:00
Rob Walker 63e44dcc35 continue rendezvous refactor for gossip and repair
* remove trailing whitespace in ci/audit.sh

  * code review fixups
     * rename GOSSIP_PORT_RANGE => SOLANA_PORT_RANGE
     * remove out-of-date TODO in localnet-sanity.sh

  * remove features=test and code that was using it (localhost prohibitions in
      crdt) added TODO in crdt.rs, maybe we should boot localhost in production
      networks?

  * boot tvu_window from NodeInfo: instead, send repair requests from the repair
      socket (to gossip on peer) and answer repair requests via the sockaddr
      from the repair request

  * remove various unused pub functions

  * banish SocketAddr parse().unwrap() to a macro that can also accept simpler stuff
2018-08-31 23:21:07 +09:00
Rob Walker 1af4cee63b fix #1079
* move gossip/NCP off assuming anything about its address
  * use a single socket to send and receive gossip
  * remove --addr/-a from CLIs
  * rearrange networking utility code
  * use Arc<UdpSocket> to share the Sync-safe UdpSocket among threads
  * rename TestNode to Node

TODO:

  * re-enable 127.0.0.1 as a valid address in crdt
  * change repair request/response to a similar, single socket
  * pick cloned sockets or Arc<UdpSocket> for all these (rpu uses tryclone())
  * update contact_info with network truthiness instead of what the node
      says?
2018-08-31 23:21:07 +09:00
Rob Walker cb52a335bd re-enable localnet-sanity 2018-08-31 23:21:07 +09:00
Michael Vines 73a0bf8d30 Avoid unbounded /var/tmp growth 2018-08-28 08:11:44 -07:00
Michael Vines 9d53208d68 Use gcloud_DeleteInstances 2018-08-28 08:11:44 -07:00