685 Commits

Author SHA1 Message Date
Troy McConaghy
c2e61ae8c1 Problem: simple-network-setup docs trouble Ubuntu 16.04 users (#2432)
Solution: Make that docs page super-clear that it's for Ubuntu 18.04, and give hints for users of other distros
2018-08-02 10:36:04 +02:00
Muawia Khan
b1c34523ed Problem: Simple network guide outdated, some new parameters required (#2429) 2018-08-01 11:27:20 +02:00
Muawia Khan
5b05f6505d Upgrade tm_version to 0.22.8 (#2426)
* Upgrade tm_version to 0.22.8

* Fix tendermint download link
2018-07-31 17:27:16 +02:00
Troy McConaghy
199adc81b6 Problem: Example priv_validator.json is out-of-date in docs (#2416).
Solution: In the simple-network-setup docs page, update the example priv_validator.json contents.
2018-07-27 17:42:35 +02:00
Muawia Khan
c3f5e2a654 Problem: It is cumbersome to manage BigchainDB and Tendermint processes (#2410).
* Introduce a Monit-based setup for managing processes. Add the corresponding section to the network setup guide.
2018-07-27 17:33:55 +02:00
Muawia Khan
0c33b4c211 Problem: Signals do not propagate to child BigchainDB processes (#2395).
Solution: Run child processes as daemons to make the signals propagate. Add a short shutdown description to the setup guide.
2018-07-26 14:42:32 +02:00
Zachary Bowen
2386ca9d71 Refactor tendermint directory to project root (#2401)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness
2018-07-25 16:59:25 +02:00
Troy McConaghy
42cc0d0e86 Problem: No troubleshooting help for users of simple-network-setup (#2398)
Solution: Add a Troubleshooting section to the simple-network-setup docs
2018-07-23 16:54:27 +02:00
Troy McConaghy
abc6db7999
Last PR before the release of BigchainDB 2.0 Beta 3 (#2391)
* Update CHANGELOG.md for 2.0 Beta 3 release

* Update docs re/ installation for 2.0.0b3

* Update version.py and k8s files for 2.0.0b3
2018-07-18 15:20:13 +02:00
Muawia Khan
9cfc1e6f5a Update to tendermint version 0.22.3 (#2380)
* Update to tendermint version 0.22.3 for dev/test deployment docs and scripts

* Update version and parameters for 0.22.3

- Sync docker-compose
- Power should be a "string" not a int,uint
2018-07-11 16:59:42 +02:00
Zachary Bowen
4d2e58416c Problem: Bigchain class is unused and redundant (#2366)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Merge with master and re-do some changes
2018-07-10 17:34:51 +02:00
Vanshdeep Singh
c7503f5689 Problem: Support for latest Tendermint missing (#2375)
Solution: Upgrade to py-abci 0.5.1 to use latest Tendermint
2018-07-10 14:16:02 +02:00
Muawia Khan
1bad851e07
Problem: Tendermint configuration not present in BigchainDB config (#2342)
* Problem: Tendermint configuration not present in BigchainDB config

* Handle tendermint configurations properly

- Update docs

* Nitpick

* Missed some conflicts

* Make changes in tendermint/lib.py instead of deprecated core.py

- Also remove redundant info from docs about default values

* Fix docsserver automethod
2018-06-29 18:45:22 +05:00
Vanshdeep Singh
67c4ce964a Problem: Upsert validator not marked experimental (#2356)
Solution: Update documentation to mark it experimental
2018-06-20 10:15:14 +02:00
Shahbaz Nazir
2da720e542 Problem: There is no logging for benchmark stats (#2349)
* add log level for benchmarking

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* Bug fixes and code re-factor

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* remove un-necessary imports

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix failing tests

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* update docs

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix typo

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix flake8

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* fix flake8 issues

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>

* nitpic fixes

Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-06-14 15:19:26 +02:00
Troy McConaghy
58fbccf3f1 Problem: © year out-of-date in footer of docs (#2353)
Solution: Compute the © year so it's always up-to-date
2018-06-14 13:03:31 +02:00
Shahbaz Nazir
bec8d13e36
Problem: Current logging server keeps running in some tear down scenarios (#2304)
Solution: Remove the current pub/sub based logging infra as this model is no longer necessary. This can now be replaced by a simple system level logging config.
2018-06-11 13:08:03 +02:00
Lev Berman
6f9dc5168b Problem: Tendermint RPC server gets stuck. (#2337)
Solution: Upgrade Tendermint to v0.19.0. Fixes #2322.
2018-06-06 14:18:27 +02:00
Troy McConaghy
cf1202fe0c Copyedit simple-network-setup completeness & grammar (#2312)
* Copyedit simple-network-setup completeness & grammar

* Problem: Member doesn't know their BigchainDB Root URL

Solution: Add a section to tell the Member their BigchainDB Root URL

* Problem: Operator doesn't know how to reset their node

Solution: Add a section with commands an operator can use to reset their node

* Problem: Repeated previous sentence w/o changing it

Solution: Repeat previous sentence but change 'BigchainDB' to 'Tendermint' and delete the parenthetical sentence about MongoDB

* Address the comments by @vrde
2018-06-06 10:03:25 +02:00
Muawia Khan
fa72b722f7 Problem: Docker images of tendermint/tendermint:0.19.7 tagged but not updated in bdb (#2335) 2018-06-04 16:10:50 +02:00
Troy McConaghy
241db4ee48 Problem: backlog_reassign_delay is defunct but still listed (#2332)
* Fixed 2 PEP257 compliance errors

* Upgrade Tendermint to 0.19.7 except for Docker image, which is still at 0.19.2

* Problem: backlog_reassign_delay is defunct but still listed

Solution: remove all mentions of & calls for backlog_reassign_delay
2018-06-04 12:19:24 +02:00
Troy McConaghy
1753a7019b Problem: Appendices page 'The Bigchain Class' not Updated for Tendermint (#2330)
* Fixed 2 PEP257 compliance errors

* Upgrade Tendermint to 0.19.7 except for Docker image, which is still at 0.19.2

* In the Appendices, update page re/ The Bigchain Class
2018-06-04 12:19:04 +02:00
Troy McConaghy
02ee8a9ac1
Upgrade Tendermint to 0.19.7, except for Docker image still at 0.19.2 (#2327)
* Fixed 2 PEP257 compliance errors

* Upgrade Tendermint to 0.19.7 except for Docker image, which is still at 0.19.2
2018-06-01 13:29:58 +02:00
Muawia Khan
10e55aa4e7
Problem: No automated way to set up a dev/test network (#2300)
* Problem: No automated way to set up a dev/test network

* Problem: docs not updated for stack, ansible and docker based dev environments

* Problem: Using apt triggers java runtime installation on MacOS

- Update pre_tasks in ansible
- Update bigchaindb-stop playbook to handle pre_tasks

* Update Tendermint version to 0.19.3 from 0.19.2

* Update tendermint version to 0.19.3 everywhere else

* Problem: Sphinx warns about duplicate section labels

Solution: Don't use sphinx.ext.autosectionlabel

* Problem: Sphinx complains that run-node-with-docker not in any TOC

Solution: Add run-node-with-docker to a TOC (i.e. to an index.rst file)

* Tendermint has not tagged `0.19.3` container

* Problem: Internal hyperlinks to new pages not working

Solution: Add .html to the ends of the filename strings

* Problem: Invalid script imports

* Problem: Invalid comparison for supported OS version

* Addressing comments I

* Problem: No way to configure dev/forked repo for developers

* Problem: Docs not updated with STACK_REPO parameter

* Addressing comments II
2018-05-31 16:56:45 +02:00
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
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
Artus Vranken
9020348073 Fixed the doc link to "node-on-kubernetes" (#2263) 2018-05-05 17:12:26 +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
fd48abebae
Problem: Tendermint 0.19.0 missing crucial fixes (#2253) 2018-05-02 14:39:41 +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
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
Ahmed Muawia Khan
8c1ee8329e Problem: Typo with get kube-dns IP (#2181) 2018-04-05 17:56:30 +02:00
Troy McConaghy
c8682a1d89 Problem: bigchaindb upsert-validator labelled "insecure" (#2180)
Solution: Remove the "insecure" label from the docs on `bigchaindb upsert-validator`
2018-04-05 17:47:11 +02:00
Troy McConaghy
ef7a276aad Problem: Some links in Quickstart page are broken or wrong (#2171)
Solution: Update the links in the Quickstart page of the BigchainDB Server docs
2018-04-03 12:26:47 +02:00
Troy McConaghy
55fafef577 Problem: There were more broken links to CONTRIBUTING.md (#2172)
Solution: Fix those links by linking directly to the new 'Contributing to BigchainDB' docs
2018-04-03 12:17:11 +02:00
vrde
8086f75ec8 Problem: there are no events for invalid blocks (#2163)
Solution: update the documentation to reflect this. I've also removed
the documentation about the event plugin API. That part needs to be
refactored to work properly with BigchainDB 2.0. We can reintroduce it
later.
2018-04-03 12:12:33 +02:00
Vanshdeep Singh
0f86e7d368 Problem: Multi-threading not configured (#2165)
* Problem: Multi-threading not configured

Solution: Auto-generate multi-threading config with default threads and workers set to 1

* Problem: Documentation not updated for multi-threading

Solution: Updated necessary docs
2018-03-29 16:26:54 +02:00
Troy McConaghy
42f9160f46
Merge pull request #2154 from ttmc/update-marketing-copy
Problem: Some marketing copy (text blurbs) was old
2018-03-28 14:33:55 +02:00
Ahmed Muawia Khan
5162a0a163 Problem: Invalid command to get kube-dns IP 2018-03-27 19:44:00 +02:00
Troy McConaghy
dea76f7c91
Merge pull request #2141 from muawiakh/update-dns-server
Problem: Cluster DNS and Health check terminology is incorrect
2018-03-26 16:37:49 +02:00
Ahmed Muawia Khan
a8e68c3706 Replace clusters Web UI to k8s cluster web ui 2018-03-26 16:00:25 +02:00
Ahmed Muawia Khan
339078ae68 Address comments
- remove confusion between NODE-IP<->CLUSTER-IP just replace with IP
- remove confusion between node<->cluster just replace with Kubernetes
  cluster
2018-03-26 15:37:05 +02:00
Troy McConaghy
d1bc21809e Problem: Some marketing copy (text blurbs) was old
Solution: Update the marketing copy!
2018-03-25 13:28:21 +02:00
vrde
f157096699 Problem: No reason to check the BEP (+typo) (#2144)
Solution: Say why there is a link to the BEP, and fix a typo.
2018-03-23 14:39:15 +01:00
Ahmed Muawia Khan
9be68c972d Problem: standardize docker-compose workflows (#2130)
- Standardize docker-compose workflow
- Change docker-compose version to 2.1
  - why one might ask? because compose version
    3.0 does not support depends on and inherits
    like we want to and is more aimed towards migration to using
    `docker stack`, for our current strategy `2.1` is a better choice.
- change `bdb` service `bigchaindb` service
  - why? Introduced a new proxy service `bdb` which is just a dummy
    `busybox` image.
    - why? because this ensure via healthcheck of bigchaindb that BigchainDB
      has started properly and makes a `curl` to ensure HTTP API server is up
      and running.
      - why? Because we have had scenarios where BigchainDB is not started
        via docker compose and user has to check out the logs to find out what
        the problem might be. This ensure that bigchaindb is up and running.
- Does this change deployment workflow? No.
  - The only thing change is that if you want to run commands inside a bigchaindb
    container e.g. `pytest` now you have to run the following command:
    `docker-compose run --rm --no-deps bigchaindb pytest -v --cov=bigchaindb`
     as opposed to `docker-compose run --rm --no-deps bdb pytest -v --cov=bigchaindb`
- Remove env variable `BIGCHAINDB_START_TENDERMINT`
- Remove TENDERMINT_INTEGRATION.rst and move to the new docs
- Change mdb -> mongodb because the other services were named with
  full name.
- Add example to run specific tests or from a file
- Update config.toml for tendermint to use `bigchaindb` as proxy app
  instead of `bdb`
- Remove `network` directory because it is deprecated
- Add comment about why PYTHONBUFFERED is used
2018-03-21 12:42:43 +01:00
Ahmed Muawia Khan
cf543d8f41 Problem: docs build failing
Solution: Fix docs build
2018-03-21 11:15:25 +01:00
Vanshdeep Singh
ef26220c7f Problem: Docs for BEP#3 implementation not updated (#2123)
* Problem: Docs for BEP#3 implementation not updated

Solutions: Update docs for #2070 and #2106

* Problem: 'Validator update' docs language not clear

Solution: Re-write the documentation which explains when validators are updated

* Problem: Typos and BEP reference missing

Solution: Fix typos and add BEP reference
2018-03-21 09:23:08 +01:00
Ahmed Muawia Khan
757b4fc14c Remove cluster-dns 2018-03-20 19:34:01 +01:00
Troy McConaghy
81c6975501
Merge pull request #2071 from bigchaindb/text-edits-in-http-api-docs
Copy-edited the HTTP API docs
2018-03-05 12:31:56 +01:00