From 9284038303408a619c714760febc8ccbdc3e7f76 Mon Sep 17 00:00:00 2001 From: kansi Date: Tue, 16 Jan 2018 10:59:52 +0530 Subject: [PATCH] ND bigchaindb api --- Dockerfile.itest | 31 +++++++++++++++++++++++++ network_driver/bigchain_entrypoint.sh | 7 ++++++ network_driver/build_images.sh | 10 ++++++++ network_driver/mongo_entrypoint.sh | 1 + network_driver/node.py | 20 ++++++++++++---- network_driver/tendermint_entrypoint.sh | 3 ++- 6 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 Dockerfile.itest create mode 100755 network_driver/bigchain_entrypoint.sh create mode 100644 network_driver/build_images.sh diff --git a/Dockerfile.itest b/Dockerfile.itest new file mode 100644 index 00000000..9c4421df --- /dev/null +++ b/Dockerfile.itest @@ -0,0 +1,31 @@ +FROM python:3.6 +LABEL maintainer "dev@bigchaindb.com" + +RUN apt-get update \ + && apt-get install -y net-tools \ + && pip install -U pip \ + && pip install pynacl \ + && apt-get autoremove \ + && apt-get clean + +ENV PYTHONUNBUFFERED 0 + +ENV BIGCHAINDB_DATABASE_PORT 27017 +ENV BIGCHAINDB_DATABASE_BACKEND localmongodb +ENV BIGCHAINDB_SERVER_BIND 0.0.0.0:9984 +ENV BIGCHAINDB_WSSERVER_HOST 0.0.0.0 +ENV BIGCHAINDB_WSSERVER_SCHEME ws + +ENV BIGCHAINDB_WSSERVER_ADVERTISED_HOST 0.0.0.0 +ENV BIGCHAINDB_WSSERVER_ADVERTISED_SCHEME ws + +ENV BIGCHAINDB_START_TENDERMINT 0 +ENV TENDERMINT_PORT 46657 + +RUN mkdir -p /usr/src/app +COPY . /usr/src/app/ +WORKDIR /usr/src/app +RUN pip install --no-cache-dir . +RUN bigchaindb -y configure localmongodb +EXPOSE 46658 +ENTRYPOINT ["/bin/sh", "-c", "./network_driver/bigchain_entrypoint.sh"] \ No newline at end of file diff --git a/network_driver/bigchain_entrypoint.sh b/network_driver/bigchain_entrypoint.sh new file mode 100755 index 00000000..9ba132d1 --- /dev/null +++ b/network_driver/bigchain_entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh +echo "Starting BigchainDB" + +pkill bigchaindb +bigchaindb start & + +sleep 3600 diff --git a/network_driver/build_images.sh b/network_driver/build_images.sh new file mode 100644 index 00000000..69011a4c --- /dev/null +++ b/network_driver/build_images.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# build mongodb image +docker build -t mongodb:bdb -f Dockerfile.mongo . + +# build mongodb image +docker build -t tendermint:bdb -f Dockerfile.tendermint . + +# build bigchaindb image +docker build -t bigchaindb:itest -f ../Dockerfile.itest . diff --git a/network_driver/mongo_entrypoint.sh b/network_driver/mongo_entrypoint.sh index 78656ae4..e5574160 100755 --- a/network_driver/mongo_entrypoint.sh +++ b/network_driver/mongo_entrypoint.sh @@ -1,6 +1,7 @@ #!/bin/sh echo "Starting MonogoDB" +pkill mongod mongod & sleep 3600 diff --git a/network_driver/node.py b/network_driver/node.py index ffff7066..407b38c3 100644 --- a/network_driver/node.py +++ b/network_driver/node.py @@ -28,11 +28,12 @@ class Node(): pod.version = 'v1' pod.kind = 'Pod' pod.metadata = {"name": self.name} - pod.spec = {"containers": [{"name": "tendermint", "image": "bdbt:v1"}, - {"name": "mongodb", "image": "mongo:bdb"}, + pod.spec = {"containers": [{"name": "mongodb", + "image": "mongodb:bdb-itest"}, + {"name": "tendermint", + "image": "tendermint:bdb-itest"}, {"name": "bigchaindb", - "image": "busybox", - "command": ["sh", "-c", "echo Hello Kubernetes! && sleep 3600"]}]} + "image": "bigchaindb:bdb-itest"}]} self.pod = pod def start(self, return_after_running=True): @@ -97,6 +98,17 @@ class Node(): def start_db(self): self._exec_command('mongodb', 'mongod', tty=True) + def start_bigchaindb(self): + self._exec_command('bigchaindb', 'bigchaindb start', tty=True) + + def stop_bigchaindb(self): + self._exec_command('bigchaindb', 'pkill bigchaindb') + + def reset_bigchaindb(self): + self.stop_bigchaindb() + self._exec_command('bigchaindb', 'bigchaindb -y drop') + self.start_bigchaindb() + def _exec_command(self, container, command, stdout=True, tty=False): try: exec_command = ['/bin/bash', '-c', command] diff --git a/network_driver/tendermint_entrypoint.sh b/network_driver/tendermint_entrypoint.sh index 7d593f40..f81e6d0b 100755 --- a/network_driver/tendermint_entrypoint.sh +++ b/network_driver/tendermint_entrypoint.sh @@ -1,6 +1,7 @@ #!/bin/sh echo "Starting Tendermint" -/go/bin/tendermint node --proxy_app=dummy & +pkill tendermint +/go/bin/tendermint node & sleep 3600