migrated to tendermint 0.35.1

This commit is contained in:
Jürgen 2019-09-26 23:16:22 +02:00
parent 645d457b7b
commit 62a57bb646
13 changed files with 116 additions and 110 deletions

View File

@ -24,6 +24,12 @@ For reference, the possible headings are:
* **Known Issues** * **Known Issues**
* **Notes** * **Notes**
## [2.0] - 2019-09-26
### Changed
Migrated from Tendermint 0.22.8 to 0.31.5.
## [2.0 Beta 9] - 2018-11-27 ## [2.0 Beta 9] - 2018-11-27
### Changed ### Changed

View File

@ -1,7 +1,7 @@
FROM alpine:latest FROM alpine:latest
LABEL maintainer "devs@bigchaindb.com" LABEL maintainer "devs@bigchaindb.com"
ARG TM_VERSION=0.22.8 ARG TM_VERSION=v0.31.5
RUN mkdir -p /usr/src/app RUN mkdir -p /usr/src/app
ENV HOME /root ENV HOME /root
COPY . /usr/src/app/ COPY . /usr/src/app/

View File

@ -45,26 +45,26 @@ The following steps are what we do to release a new version of _BigchainDB Serve
- In `bigchaindb/version.py`: - In `bigchaindb/version.py`:
- update `__version__` to e.g. `0.9.0` (with no `.dev` on the end) - update `__version__` to e.g. `0.9.0` (with no `.dev` on the end)
- update `__short_version__` to e.g. `0.9` (with no `.dev` on the end) - update `__short_version__` to e.g. `0.9` (with no `.dev` on the end)
- In the docs about installing BigchainDB (and Tendermint), and in the associated scripts, recommend/install a version of Tendermint that _actually works_ with the soon-to-be-released version of BigchainDB. You can find all such references by doing a search for the previously-recommended version number, such as `0.22.8`. - In the docs about installing BigchainDB (and Tendermint), and in the associated scripts, recommend/install a version of Tendermint that _actually works_ with the soon-to-be-released version of BigchainDB. You can find all such references by doing a search for the previously-recommended version number, such as 31.5`.
- In `setup.py`, _maybe_ update the development status item in the `classifiers` list. For example, one allowed value is `"Development Status :: 5 - Production/Stable"`. The [allowed values are listed at pypi.python.org](https://pypi.python.org/pypi?%3Aaction=list_classifiers). - In `setup.py`, _maybe_ update the development status item in the `classifiers` list. For example, one allowed value is `"Development Status :: 5 - Production/Stable"`. The [allowed values are listed at pypi.python.org](https://pypi.python.org/pypi?%3Aaction=list_classifiers).
1. **Wait for all the tests to pass!** 2. **Wait for all the tests to pass!**
1. Merge the pull request into the `master` branch. 3. Merge the pull request into the `master` branch.
1. Go to the [bigchaindb/bigchaindb Releases page on GitHub](https://github.com/bigchaindb/bigchaindb/releases) 4. Go to the [bigchaindb/bigchaindb Releases page on GitHub](https://github.com/bigchaindb/bigchaindb/releases)
and click the "Draft a new release" button. and click the "Draft a new release" button.
1. Fill in the details: 5. Fill in the details:
- **Tag version:** version number preceded by `v`, e.g. `v0.9.1` - **Tag version:** version number preceded by `v`, e.g. `v0.9.1`
- **Target:** the last commit that was just merged. In other words, that commit will get a Git tag with the value given for tag version above. - **Target:** the last commit that was just merged. In other words, that commit will get a Git tag with the value given for tag version above.
- **Title:** Same as tag version above, e.g `v0.9.1` - **Title:** Same as tag version above, e.g `v0.9.1`
- **Description:** The body of the changelog entry (Added, Changed, etc.) - **Description:** The body of the changelog entry (Added, Changed, etc.)
1. Click "Publish release" to publish the release on GitHub. 6. Click "Publish release" to publish the release on GitHub.
1. On your local computer, make sure you're on the `master` branch and that it's up-to-date with the `master` branch in the bigchaindb/bigchaindb repository (e.g. `git pull upstream master`). We're going to use that to push a new `bigchaindb` package to PyPI. 7. On your local computer, make sure you're on the `master` branch and that it's up-to-date with the `master` branch in the bigchaindb/bigchaindb repository (e.g. `git pull upstream master`). We're going to use that to push a new `bigchaindb` package to PyPI.
1. Make sure you have a `~/.pypirc` file containing credentials for PyPI. 8. Make sure you have a `~/.pypirc` file containing credentials for PyPI.
1. Do `make release` to build and publish the new `bigchaindb` package on PyPI. For this step you need to have `twine` installed. If you get an error like `Makefile:135: recipe for target 'clean-pyc' failed` then try doing 9. Do `make release` to build and publish the new `bigchaindb` package on PyPI. For this step you need to have `twine` installed. If you get an error like `Makefile:135: recipe for target 'clean-pyc' failed` then try doing
```text ```text
sudo chown -R $(whoami):$(whoami) . sudo chown -R $(whoami):$(whoami) .
``` ```
1. [Log in to readthedocs.org](https://readthedocs.org/accounts/login/) and go to the **BigchainDB Server** project, then: 10. [Log in to readthedocs.org](https://readthedocs.org/accounts/login/) and go to the **BigchainDB Server** project, then:
- Click on "Builds", select "latest" from the drop-down menu, then click the "Build Version:" button. - Click on "Builds", select "latest" from the drop-down menu, then click the "Build Version:" button.
- Wait for the build of "latest" to finish. This can take a few minutes. - Wait for the build of "latest" to finish. This can take a few minutes.
- Go to Admin --> Advanced Settings - Go to Admin --> Advanced Settings
@ -75,9 +75,9 @@ The following steps are what we do to release a new version of _BigchainDB Serve
- Go to Admin --> Versions - Go to Admin --> Versions
and under **Choose Active Versions**, do these things: and under **Choose Active Versions**, do these things:
1. Make sure that the new version's tag is "Active" and "Public" 1. Make sure that the new version's tag is "Active" and "Public"
1. Make sure the **stable** branch is _not_ active. 2. Make sure the **stable** branch is _not_ active.
1. Scroll to the bottom of the page and click "Save". 3. Scroll to the bottom of the page and click "Save".
1. Go to [Docker Hub](https://hub.docker.com/) and sign in, then: 11. Go to [Docker Hub](https://hub.docker.com/) and sign in, then:
- Click on "Organizations" - Click on "Organizations"
- Click on "bigchaindb" - Click on "bigchaindb"
- Click on "bigchaindb/bigchaindb" - Click on "bigchaindb/bigchaindb"

View File

@ -2,8 +2,8 @@
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0) # SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
# Code is Apache-2.0 and docs are CC-BY-4.0 # Code is Apache-2.0 and docs are CC-BY-4.0
__version__ = '2.0.0b9' __version__ = '2.0.0'
__short_version__ = '2.0b9' __short_version__ = '2.0'
# Supported Tendermint versions # Supported Tendermint versions
__tm_supported_versions__ = ["0.22.8"] __tm_supported_versions__ = ["0.31.5"]

View File

@ -13,92 +13,92 @@ services:
- "27017:27017" - "27017:27017"
command: mongod command: mongod
restart: always restart: always
bigchaindb: # bigchaindb:
depends_on: # depends_on:
- mongodb # - mongodb
- tendermint # - tendermint
build: # build:
context: . # context: .
dockerfile: Dockerfile-dev # dockerfile: Dockerfile-dev
volumes: # volumes:
- ./bigchaindb:/usr/src/app/bigchaindb # - ./bigchaindb:/usr/src/app/bigchaindb
- ./tests:/usr/src/app/tests # - ./tests:/usr/src/app/tests
- ./docs:/usr/src/app/docs # - ./docs:/usr/src/app/docs
- ./htmlcov:/usr/src/app/htmlcov # - ./htmlcov:/usr/src/app/htmlcov
- ./setup.py:/usr/src/app/setup.py # - ./setup.py:/usr/src/app/setup.py
- ./setup.cfg:/usr/src/app/setup.cfg # - ./setup.cfg:/usr/src/app/setup.cfg
- ./pytest.ini:/usr/src/app/pytest.ini # - ./pytest.ini:/usr/src/app/pytest.ini
- ./tox.ini:/usr/src/app/tox.ini # - ./tox.ini:/usr/src/app/tox.ini
environment: # environment:
BIGCHAINDB_DATABASE_BACKEND: localmongodb # BIGCHAINDB_DATABASE_BACKEND: localmongodb
BIGCHAINDB_DATABASE_HOST: mongodb # BIGCHAINDB_DATABASE_HOST: mongodb
BIGCHAINDB_DATABASE_PORT: 27017 # BIGCHAINDB_DATABASE_PORT: 27017
BIGCHAINDB_SERVER_BIND: 0.0.0.0:9984 # BIGCHAINDB_SERVER_BIND: 0.0.0.0:9984
BIGCHAINDB_WSSERVER_HOST: 0.0.0.0 # BIGCHAINDB_WSSERVER_HOST: 0.0.0.0
BIGCHAINDB_WSSERVER_ADVERTISED_HOST: bigchaindb # BIGCHAINDB_WSSERVER_ADVERTISED_HOST: bigchaindb
BIGCHAINDB_TENDERMINT_HOST: tendermint # BIGCHAINDB_TENDERMINT_HOST: tendermint
BIGCHAINDB_TENDERMINT_PORT: 26657 # BIGCHAINDB_TENDERMINT_PORT: 26657
ports: # ports:
- "9984:9984" # - "9984:9984"
- "9985:9985" # - "9985:9985"
- "26658" # - "26658"
healthcheck: # healthcheck:
test: ["CMD", "bash", "-c", "curl http://bigchaindb:9984 && curl http://tendermint:26657/abci_query"] # test: ["CMD", "bash", "-c", "curl http://bigchaindb:9984 && curl http://tendermint:26657/abci_query"]
interval: 3s # interval: 3s
timeout: 5s # timeout: 5s
retries: 3 # retries: 3
command: '.ci/entrypoint.sh' # command: '.ci/entrypoint.sh'
restart: always # restart: always
tendermint: tendermint:
image: tendermint/tendermint:0.22.8 image: tendermint/tendermint:v0.31.5
# volumes: # volumes:
# - ./tmdata:/tendermint # - ./tmdata:/tendermint
entrypoint: '' entrypoint: ''
ports: ports:
- "26656:26656" - "26656:26656"
- "26657:26657" - "26657:26657"
command: sh -c "tendermint init && tendermint node --consensus.create_empty_blocks=false --proxy_app=tcp://bigchaindb:26658" command: sh -c "tendermint init && tendermint node --consensus.create_empty_blocks=false --proxy_app=tcp://10.0.75.1:26658"
restart: always restart: always
bdb: # bdb:
image: busybox # image: busybox
depends_on: # depends_on:
bigchaindb: # bigchaindb:
condition: service_healthy # condition: service_healthy
# curl client to check the health of development env # # curl client to check the health of development env
curl-client: # curl-client:
image: appropriate/curl # image: appropriate/curl
command: /bin/sh -c "curl -s http://bigchaindb:9984/ > /dev/null && curl -s http://tendermint:26657/ > /dev/null" # command: /bin/sh -c "curl -s http://bigchaindb:9984/ > /dev/null && curl -s http://tendermint:26657/ > /dev/null"
# BigchainDB setup to do acceptance testing with Python # # BigchainDB setup to do acceptance testing with Python
python-acceptance: # python-acceptance:
build: # build:
context: . # context: .
dockerfile: ./acceptance/python/Dockerfile # dockerfile: ./acceptance/python/Dockerfile
volumes: # volumes:
- ./acceptance/python/docs:/docs # - ./acceptance/python/docs:/docs
- ./acceptance/python/src:/src # - ./acceptance/python/src:/src
environment: # environment:
- BIGCHAINDB_ENDPOINT=bigchaindb # - BIGCHAINDB_ENDPOINT=bigchaindb
# Build docs only # # Build docs only
# docker-compose build bdocs # # docker-compose build bdocs
# docker-compose up -d bdocs # # docker-compose up -d bdocs
bdocs: # bdocs:
depends_on: # depends_on:
- vdocs # - vdocs
build: # build:
context: . # context: .
dockerfile: Dockerfile-dev # dockerfile: Dockerfile-dev
args: # args:
backend: localmongodb # backend: localmongodb
volumes: # volumes:
- .:/usr/src/app/ # - .:/usr/src/app/
command: make -C docs/server html # command: make -C docs/server html
vdocs: # vdocs:
image: nginx # image: nginx
ports: # ports:
- '33333:80' # - '33333:80'
volumes: # volumes:
- ./docs/server/build/html:/usr/share/nginx/html # - ./docs/server/build/html:/usr/share/nginx/html

View File

@ -17,7 +17,7 @@ and of course you also need to install BigchainDB Sever from the local code you
## Install and Run MongoDB ## Install and Run MongoDB
MongoDB can be easily installed, just refer to their [installation documentation](https://docs.mongodb.com/manual/installation/) for your distro. MongoDB can be easily installed, just refer to their [installation documentation](https://docs.mongodb.com/manual/installation/) for your distro.
We know MongoDB 3.4 and 3.6 work with BigchainDB. We know MongoDB 3.4 and 3.6 work with BigchainDB.
After the installation of MongoDB is complete, run MongoDB using `sudo mongod` After the installation of MongoDB is complete, run MongoDB using `sudo mongod`
@ -25,13 +25,13 @@ After the installation of MongoDB is complete, run MongoDB using `sudo mongod`
### Installing a Tendermint Executable ### Installing a Tendermint Executable
The version of BigchainDB Server described in these docs only works well with Tendermint 0.22.8 (not a higher version number). Install that: The version of BigchainDB Server described in these docs only works well with Tendermint 0.31.5 (not a higher version number). Install that:
```bash ```bash
$ sudo apt install -y unzip $ sudo apt install -y unzip
$ wget https://github.com/tendermint/tendermint/releases/download/v0.22.8/tendermint_0.22.8_linux_amd64.zip $ wget https://github.com/tendermint/tendermint/releases/download/v0.31.5/tendermint_v0.31.5_linux_amd64.zip
$ unzip tendermint_0.22.8_linux_amd64.zip $ unzip tendermint_v0.31.5_linux_amd64.zip
$ rm tendermint_0.22.8_linux_amd64.zip $ rm tendermint_v0.31.5_linux_amd64.zip
$ sudo mv tendermint /usr/local/bin $ sudo mv tendermint /usr/local/bin
``` ```

View File

@ -59,7 +59,7 @@ you can do this:
.. code:: .. code::
$ mkdir $(pwd)/tmdata $ mkdir $(pwd)/tmdata
$ docker run --rm -v $(pwd)/tmdata:/tendermint/config tendermint/tendermint:0.22.8 init $ docker run --rm -v $(pwd)/tmdata:/tendermint/config tendermint/tendermint:v0.31.5 init
$ cat $(pwd)/tmdata/genesis.json $ cat $(pwd)/tmdata/genesis.json
You should see something that looks like: You should see something that looks like:
@ -69,7 +69,7 @@ You should see something that looks like:
{"genesis_time": "0001-01-01T00:00:00Z", {"genesis_time": "0001-01-01T00:00:00Z",
"chain_id": "test-chain-bGX7PM", "chain_id": "test-chain-bGX7PM",
"validators": [ "validators": [
{"pub_key": {"pub_key":
{"type": "ed25519", {"type": "ed25519",
"data": "4669C4B966EB8B99E45E40982B2716A9D3FA53B54C68088DAB2689935D7AF1A9"}, "data": "4669C4B966EB8B99E45E40982B2716A9D3FA53B54C68088DAB2689935D7AF1A9"},
"power": 10, "power": 10,

View File

@ -91,13 +91,13 @@ Note that installing the official package _doesn't_ also start MongoDB.
## Install Tendermint ## Install Tendermint
The version of BigchainDB Server described in these docs only works well The version of BigchainDB Server described in these docs only works well
with Tendermint 0.22.8 (not a higher version number). Install that: with Tendermint 0.31.5 (not a higher version number). Install that:
``` ```
sudo apt install -y unzip sudo apt install -y unzip
wget https://github.com/tendermint/tendermint/releases/download/v0.22.8/tendermint_0.22.8_linux_amd64.zip wget https://github.com/tendermint/tendermint/releases/download/v0.31.5/tendermint_v0.31.5_linux_amd64.zip
unzip tendermint_0.22.8_linux_amd64.zip unzip tendermint_v0.31.5_linux_amd64.zip
rm tendermint_0.22.8_linux_amd64.zip rm tendermint_v0.31.5_linux_amd64.zip
sudo mv tendermint /usr/local/bin sudo mv tendermint /usr/local/bin
``` ```

View File

@ -1,4 +1,4 @@
FROM tendermint/tendermint:0.22.8 FROM tendermint/tendermint:v0.31.5
LABEL maintainer "devs@bigchaindb.com" LABEL maintainer "devs@bigchaindb.com"
WORKDIR / WORKDIR /
USER root USER root

View File

@ -1,4 +1,4 @@
ARG tm_version=0.22.8 ARG tm_version=v0.31.5
FROM tendermint/tendermint:${tm_version} FROM tendermint/tendermint:${tm_version}
LABEL maintainer "devs@bigchaindb.com" LABEL maintainer "devs@bigchaindb.com"
WORKDIR / WORKDIR /

View File

@ -15,7 +15,7 @@ stack_repo=${STACK_REPO:="bigchaindb/bigchaindb"}
stack_size=${STACK_SIZE:=4} stack_size=${STACK_SIZE:=4}
stack_type=${STACK_TYPE:="docker"} stack_type=${STACK_TYPE:="docker"}
stack_type_provider=${STACK_TYPE_PROVIDER:=""} stack_type_provider=${STACK_TYPE_PROVIDER:=""}
tm_version=${TM_VERSION:="0.22.8"} tm_version=${TM_VERSION:="v0.31.5"}
mongo_version=${MONGO_VERSION:="3.6"} mongo_version=${MONGO_VERSION:="3.6"}
stack_vm_memory=${STACK_VM_MEMORY:=2048} stack_vm_memory=${STACK_VM_MEMORY:=2048}
stack_vm_cpus=${STACK_VM_CPUS:=2} stack_vm_cpus=${STACK_VM_CPUS:=2}

View File

@ -15,7 +15,7 @@ stack_repo=${STACK_REPO:="bigchaindb/bigchaindb"}
stack_size=${STACK_SIZE:=4} stack_size=${STACK_SIZE:=4}
stack_type=${STACK_TYPE:="docker"} stack_type=${STACK_TYPE:="docker"}
stack_type_provider=${STACK_TYPE_PROVIDER:=""} stack_type_provider=${STACK_TYPE_PROVIDER:=""}
tm_version=${TM_VERSION:="0.22.8"} tm_version=${TM_VERSION:="0.31.5"}
mongo_version=${MONGO_VERSION:="3.6"} mongo_version=${MONGO_VERSION:="3.6"}
stack_vm_memory=${STACK_VM_MEMORY:=2048} stack_vm_memory=${STACK_VM_MEMORY:=2048}
stack_vm_cpus=${STACK_VM_CPUS:=2} stack_vm_cpus=${STACK_VM_CPUS:=2}

View File

@ -85,7 +85,7 @@ install_requires = [
'jsonschema~=2.5.1', 'jsonschema~=2.5.1',
'pyyaml>=4.2b1', 'pyyaml>=4.2b1',
'aiohttp~=3.0', 'aiohttp~=3.0',
'bigchaindb-abci==0.5.1', 'bigchaindb-abci==0.6.0',
'setproctitle~=1.1.0', 'setproctitle~=1.1.0',
'packaging~=18.0', 'packaging~=18.0',
] ]