4260 Commits

Author SHA1 Message Date
vrde
340d0a2ea1
Problem: no instructions on simple network setup (#2296)
Solution: write a step-by-step tutorial on who should do what.
2018-05-24 01:39:03 +02:00
Troy McConaghy
acc2710d7b Problem: There are old links to the IPDB tx spec (#2290)
Solution: Replace those links with appropriate links to the BigchainDB Transactions Specs
2018-05-24 01:36:43 +02:00
Troy McConaghy
dfa4b70f23 Problem: make doc doesn't build the /contributing docs (#2293)
Solution: Make `make doc` build the docs in docs/contributing as well
2018-05-24 01:35:04 +02:00
Ahmed Muawia Khan
208085e16b
Problem: bigchaindb configure does not write the correct configuration (#2306) 2018-05-23 12:20:18 +02:00
Lev Berman
89b28b8471 Remove unsupported backends (#2289)
* Problem: RethinkDB, change feed, old mongo, admin interface are not supported any longer.

Solution: Remove unsupported functionality. Bring the MongoDB backend implementation completely to the localmongodb package. Fix the test setup.

* Problem: Nothing depends on multipipes any longer.

Solution: Remove multipipes from setup.py.

* Problem: The how-to-run-tests doc uses --database-backend.

Solution: Do not include the --database-backend option into the documented pytest usage.

* Problem: The backends docs are outdated.

Solution: Document MongoDB as the default and only backend for BigchainDB.

* Problem: The inputs fixtures uses old blocks API.

Solution: Change the inputs fixtures to use the new blocks API.

* Problem: rethinkdb package is not used anymore.

Solution: Remove the rethinkdb dependency from setup.py.

* Problem: The abci-marked tests use outdated Mongo conn.

Solution: Replace MongoDBConnection with LocalMongoDBConnection for them.
2018-05-23 11:34:00 +02:00
Troy McConaghy
5403f7bfcc Remove "Post-Release Steps" from release process (#2305)
The release process had some "Post-Release Steps" but I haven't been doing them lately. What were they?

The idea was to change the version number so that someone working on the `master` branch would see a version number reflecting what the `master` branch is. For example, if version 0.9.0 was just released, then the `master` branch would be changed to have the version number 0.10.0.dev, to indicate that it's the in-development version of 0.10.0.

My thinking now is that if someone is developing new code, then they don't need the version number to help them remember what they're doing. Moreover, if someone purposefully changes the docs to view the `master` branch docs, then they probably know what that means, and they don't need help from a version number.
2018-05-18 11:26:37 +02:00
Troy McConaghy
6fd8558bef
Last PR before releasing version 2.0.0a6 (#2301)
* Update CHANGELOG.md for 2.0.0a6

* Update image tags in k8s YAML files for 2.0.0a6

* Update version.py for 2.0.0a6
v2.0.0a6
2018-05-17 15:42:31 +02:00
vrde
f86704bae9 Problem: BigchainDB does not support newer MongoDB (#2298)
* Problem: BigchainDB does not support newer MongoDB

Solution: Update driver to the last version, that is compatible with all
versions of MongoDB

* Update to MongoDB 3.6
2018-05-17 15:19:56 +02:00
vrde
474fe80abb Problem: dev env doesn't allow P2P connections (#2299)
Solution: expose Tendermint P2P port 46656
2018-05-17 15:19:12 +02:00
codegeschrei
e2ab561eef Problem: we don't have enough acceptance tests (#2294)
* Problem: we don't have enough acceptance tests
Solution: test different scenarios for divisible assets
2018-05-16 17:07:43 +02:00
codegeschrei
04b3b15c66 Problem: not all transaction scenarios in acceptance tests (#2291)
Solution: test multiple owners for a transaction
2018-05-16 15:54:54 +02:00
Lev Berman
2e9c20491c Problem: web transaction tests were broken or disabled. (#2278)
Solution: Fix or reenable the tests after the migration to BigchainDB 2.*.
2018-05-16 15:17:33 +02:00
Lev Berman
d44bec1b7d Problem: Pre-commit does not validate acceptance tests. (#2295)
Soluton: Adjust the pre-commit config.
2018-05-16 14:45:34 +02:00
vrde
dbf1b23c43 Problem: acceptance tests are using old pydriver (#2282)
Solution: update to the new driver version, and simplify the code
removing the `mode` parameter.
2018-05-15 11:46:58 +02:00
Lev Berman
89d665c01e Problem: Asset tests are disabled. (#2277)
Solution: Update the tests to work with BigchainDB 2.* and enable them back.
2018-05-15 11:19:47 +02:00
Ahmed Muawia Khan
48cabdd6b9 Problem: Nginx deployment is broken for k8s (#2287) 2018-05-15 10:59:35 +02:00
Lev Berman
2c171312cf Problem: The pipelines library is not used anymore. (#2286)
Solution: Remove pipelines. This is part of the BigchainDB 2.* migration cleanup.
2018-05-14 16:16:57 +02:00
Troy McConaghy
b9bceb7e3a Problem: Broken hyperlink in write-code.rst (#2288)
Solution: Fix the broken link
2018-05-14 09:57:48 +02:00
Ahmed Muawia Khan
ecaffb3308 Problem: Bash renders the quotes around apicast and openresty as variables (#2285) 2018-05-14 09:29:13 +02:00
Troy McConaghy
aeaf9c934d
Last PR before the release of version 2.0 Alpha 5 (#2283)
* Updated CHANGELOG.md for version 2.0 Alpha 5

* Updated image tags in k8s files for 2.0 Alpha 5

* Updated version.py for 2.0 Alpha 5

* Problem: Missing alpha5 image update for test network containers

* Problem: CHANGELOG not updated with 2284

* Problem: Liveness probe frequency change not the important
v2.0.0a5
2018-05-11 15:23:15 +02:00
Ahmed Muawia Khan
bcfb577cfb
Problem: Liveness probe too aggressive (#2284) 2018-05-11 14:58:59 +02:00
Vanshdeep Singh
d2685052a6 Problem: py-abci not upgraded (#2281)
Solution: Upgrade py-abci
2018-05-11 10:32:39 +02:00
vrde
31bae195e7 Problem: acceptance-test suite is not documented (#2267)
* Problem: acceptance-test suite is not documented

Solution: add README.md in the root of the acceptance tests, unify
`Makefile` and commands, remove more cached files when `make clean` is
ran.

* Problem: documentation does not mention Makefile

Solution: update docs with our new and shiny commands
2018-05-11 09:50:08 +02:00
vrde
4a23fa6629 Problem: Python version not check before running (#2179) (#2280)
Solution: Check python version
2018-05-11 09:15:48 +02:00
Troy McConaghy
089cb5d24f
Last PR before the 2.0 Alpha 4 release (#2274)
* Initial CHANGELOG.md edits for the 2.0 Alpha 4 release

* Added PR #2275 to CHANGELOG.md for the 2.0 Alpha 4 release

* Update k8s image tags for the 2.0 Alpha 4 release

* Update version.py for the 2.0 Alpha 4 release
v2.0.0a4
2018-05-09 14:03:19 +02:00
Vanshdeep Singh
7384a49d9a Problem: Invalid transaction posted to Tendermint (#2270)
* Problem: Amount error is not tested on the HTTP level.

Solution: A failed web test to reproduce the problem.

* Problem: Invalid transaction posted to Tendermint

Solution: Pass the exception to HTTP POST handler function

* Problem: DoubleSpend and CriticalDoubleSpend not differentiated

Solution: Handle these exceptions differently in `get_spent`

* Problem: No test for checking exception DoubleSpend and CriticalDoubleSpend

Solution: Add necessary tests

* Problem: find doesn't raise IndexError

Solution: Remove exception handling for IndexError
2018-05-09 13:41:22 +02:00
Ahmed Muawia Khan
97b2d554e9 Problem: abci_info liveness probe check is not enough (#2275) 2018-05-09 11:58:46 +02:00
Troy McConaghy
722401ada9 Problem: How do I store files in BigchainDB? (#2259)
Solution: Write a new root docs page about how to store files in BigchainDB.
2018-05-08 10:35:21 +02:00
Artus Vranken
9020348073 Fixed the doc link to "node-on-kubernetes" (#2263) 2018-05-05 17:12:26 +02:00
Troy McConaghy
a388bd5122
Updated RELEASE_PROCESS.md based on things noticed in the 2.0 Alpha 3 release (#2266) 2018-05-04 12:09:17 +02:00
Lev Berman
3eb0b15aa0 Problem: Tendermint creates empty blocks in the Docker-based setup. See #2204. (#2265)
Solution: Set the --consensus.create_empty_blocks=false option in docker-compose.yml.
2018-05-04 12:02:22 +02:00
Vanshdeep Singh
63635f12fc Problem: Event stream test failing (#2262)
Solution: Extend the wait time for Tendermint to start
v2.0.0a3
2018-05-03 16:42:43 +02:00
Troy McConaghy
b408b57eda
[WIP] Last PR to merge before releasing BigchainDB 2.0 Alpha 3 (#2257)
* Initial CHANGELOG.md updates for 2.0 Alpha 3

* More updates to CHANGELOG.md for 2.0 Alpha 3

* Added note in CHANGELOG.md about the bigchaindb-abci package we're using for now

* Updated Docker image tags to bigchaindb/bigchaindb:2.0.0-alpha3

* Updated version.py for BigchainDB 2.0 Alpha 3
2018-05-03 16:34:05 +02:00
Vanshdeep Singh
551cf58c7c Problem: pypi bigchaindb-abci not used (#2261)
Solution: Migrate to pypi abci
2018-05-03 16:04:16 +02:00
Lev Berman
e271ae9e5b Problem: the Tendermint install instructions are outdated (#2260)
Solution: post the link to the relevant Tendermint documentation page
2018-05-03 15:48:55 +02:00
Vanshdeep Singh
cf36a6fe47 Problem: Multi-threading not enabled (#2258)
Solution: Enable multi-threading
2018-05-03 11:52:54 +02:00
Ahmed Muawia Khan
11c0ea916c
Problem: Acceptance tests on ci failing (#2256) 2018-05-02 18:16:54 +02:00
Ahmed Muawia Khan
82e3f21c9a Merge branch 'alpha-3' 2018-05-02 16:35:49 +02:00
Vanshdeep Singh
920d69b0c4 Problem: Upsert validator not migrated to Tendermint 0.19.0 (#2252)
* Problem: Upsert validator not migrated to Tendermint 0.19.0

Solution: Migrate the same to Tendermint 0.19.0

* Problem: There are no tests for public key encoding/decoding

Solution: Add necessary tests
2018-05-02 16:21:28 +02:00
Ahmed Muawia Khan
fd48abebae
Problem: Tendermint 0.19.0 missing crucial fixes (#2253) 2018-05-02 14:39:41 +02:00
Ahmed Muawia Khan
85683af2eb Problem: BigchainDB liveness probe should be HTTP API (#2251) 2018-05-02 11:41:47 +02:00
Vanshdeep Singh
7b0f6f6322 Problem: py-abci not upgraded (#2250)
Solution: Upgrade py-abci to the latest fix
2018-05-02 10:42:32 +02:00
Ahmed Muawia Khan
5ce0538c61 Problem: Old --p2p.seeds is now --p2p.persistent_peers (#2249)
Solution
As per Tendermint 0.16.0 , --p2p.seeds is now --p2p.persistent_peers. Update bigchaindb/tendermint container to use that configuration. Also disable --p2p.pex, we currently don't want the peer exchange.
2018-04-30 17:42:14 +02:00
Vanshdeep Singh
f81dfc744d Problem: Insufficent logs (#2248)
Solution: Add debug log statements
2018-04-30 15:49:07 +02:00
vrde
8d589d0181
Problem: we don't have acceptance tests (#2216)
Solution: have a simple way to start a node and run scripts against it.
2018-04-30 14:43:39 +02:00
Ahmed Muawia Khan
4e93ede5ad Problem: Nodes cannot exchange pub keys (#2246)
Solution: Open port for communication between nodes to access public key add node_id
2018-04-27 19:15:36 +02:00
Ahmed Muawia Khan
b41c6a6514 Problem: abci dependency not processed (#2245) 2018-04-27 18:54:26 +02:00
Ahmed Muawia Khan
b19465d19a Problem: Unbound variable (#2244) 2018-04-27 17:47:54 +02:00
Ahmed Muawia Khan
2bf53423e7 Problem: BigchainDB instance name is now unique (#2243)
Solution: Use BDB_INSTANCE_NAME from vars instead of static INDEX, to generate configurations for the bdb-instance.
2018-04-27 17:37:52 +02:00
Ahmed Muawia Khan
dbabe94887 Problem: BigchainDB and Tendermint inconsistencies because disjoint services (#2242)
Solution
Since BigchainDB and Tendermint are so tightly coupled we need to introduce a process supervisor to make them act like a single microservice, so that if BigchainDB crashes, Tendermint does as well and both are restarted and Tendermint requests a connection towards the proxy app.

In Kubernetes, they can be exposed as part of a one POD.
For BigchainDB as a system service/process, we need to introduce a process supervisor such as systemd.
This PR only solves the former.

Changes
Upgrade deployment from Tendermint v0.12.0 to v0.19.0
Update some documentation
Fix nginx-http entrypoint issues.
Update generate-configs.sh script to handle config generation without https-certificates.
Update Dockerfile to process dependency links introduced by abci
Integrate BigchainDB and Tendermint as a single microservice.
This required making BigchainDB to be exposed as a statefulset.
Introduce new liveness probe checks.
Issues Resolved
Partially fixes #2232
2018-04-27 15:54:47 +02:00