Coder Social home page Coder Social logo

yeasy / cello-archived Goto Github PK

View Code? Open in Web Editor NEW
80.0 16.0 33.0 12.53 MB

Blockchain Management Platform! Please visit github.com/hyperledger/cello for the latest version.

Home Page: https://github.com/hyperledger/cello

Python 50.20% CSS 0.88% JavaScript 17.19% HTML 28.90% Shell 2.60% Makefile 0.22%

cello-archived's Introduction

Cello

Build Status

The project has been accepted by Hyperledger Community as Cello.

Platform to provide Blockchain as a Service!

Using Cello, we can

  • Provision customizable Blockchains instantly, e.g., a 6-node chain using PBFT consensus.
  • Maintain a pool of running blockchains healthy with no manual operations.
  • Check the system status, scale the chain numbers, change resources... through a dashboard.

Typical Scenario

You can also find more scenarios.

Features

  • Manage the lifecycle of blockchains, e.g., create/delete/keep health automatically.
  • Response nearly instantly, even with hundreds of chains, or nodes.
  • Support customized (e.g., size, consensus) blockchains request, currently we support hyperledger fabric.
  • Support native Docker host or swarm host as the compute nodes, more supports on the way.
  • Support heterogeneous architecture, e.g., Z, Power and X86, from bare-metal servers to virtual machines.
  • Extend with monitor/log/health features by employing additional components.

Docs

User Docs

Operator Docs

Development Docs

TODO

  • restserver: update api definitions yml files.
  • dashboard: support auto state fresh based on websocket.
  • dashboard: support return code checking in response.
  • dashboard: support user page.
  • engine: support advanced scheduling.
  • engine: support more-efficient fill-up.
  • engine: enhance the robustness for chain operations.
  • engine: support membersrvc option.

Why named Cello?

Can u find anyone better at playing chains? :)

Author

Designed and maintained by Baohua Yang.

cello-archived's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cello-archived's Issues

add host error

when I add host in Cello Dashboard, the worke-node log like this:

ERRO[5899] Handler for POST /v1.30/networks/create returned error: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-2879c5ae5d36 -j RETURN: iptables: No chain/target/match by that name.

Unable login user dashboard

Hi yeasy, i follow the document and setup cello, but i cannot login user dashboard with admin/pass, the browser throws internal server error 500. would u like to have a look?

Cello cannot add working host.

Hi, yeasy.

I have the question for you.

Environment:
OS:Ubuntu 16.04 64bit
docker version:1.12.3

Steps:

First, I set up cello by the document: https://github.com/yeasy/cello/blob/master/docs/deployment.md
Second, I setup fabric by this docker-compose.yml configuration and run docker-compose up:

  1 membersrvc:
  2   image: hyperledger/fabric-membersrvc
  3   ports:
  4     - "7054:7054"
  5   command: membersrvc      
  6 vp0:
  7   image: hyperledger/fabric-peer  
  8   ports:
  9     - "7050:7050"
 10     - "7051:7051"
 11     - "7053:7053"
 12   environment:
 13     - CORE_PEER_ADDRESSAUTODETECT=true
 14     - CORE_VM_ENDPOINT=unix:///var/run/docker.sock
 15     - CORE_LOGGING_LEVEL=DEBUG
 16     - CORE_PEER_ID=vp0
 17     - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
 18     - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
 19     - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
 20     - CORE_SECURITY_ENABLED=true    
 21     - CORE_SECURITY_ENROLLID=test_vp0
 22     - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
 23   links:
 24     - membersrvc
 25   command: sh -c "sleep 5; peer node start --peer-chaincodedev"

The docker ps information:

docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
37cd4d7eb818        cello-watchdog                  "python watchdog.py"     43 minutes ago      Up 43 minutes                                                                  watchdog
5b74299bb1d9        mongo:3.2                       "/entrypoint.sh mongo"   53 minutes ago      Up 53 minutes       127.0.0.1:27017-27018->27017-27018/tcp                     mongo
2ca266103e2c        yeasy/nginx                     "/bin/bash /tmp/docke"   53 minutes ago      Up 53 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp, 443/tcp        nginx
3527d725afd4        cello-dashbard                  "python dashboard.py"    53 minutes ago      Up 53 minutes       8080/tcp                                                   dashbard
0102e74f1530        cello-restserver                "python restserver.py"   53 minutes ago      Up 53 minutes       80/tcp                                                     restserver
a68e9f1920b9        hyperledger/fabric-peer         "sh -c 'sleep 5; peer"   4 days ago          Up 14 minutes       0.0.0.0:7050-7051->7050-7051/tcp, 0.0.0.0:7053->7053/tcp   bctest2_vp0_1
7a7491a81f9e        hyperledger/fabric-membersrvc   "membersrvc"             4 days ago          Up 14 minutes       0.0.0.0:7054->7054/tcp                                     bctest2_membersrvc_1

Then I login in localhost:8080 and add host that input 0.0.0.0:7050 or 127.0.0.1:7050.
The Cello server logs error like that:

dashbard      | [2016-11-27 15:36:22,487] DEBUG [resources.host] [utils.py:71        request_debug()] - path=/api/host, method=POST
dashbard      | [2016-11-27 15:36:22,487] DEBUG [resources.host] [utils.py:72        request_debug()] - request args:
dashbard      | [2016-11-27 15:36:22,488] DEBUG [resources.host] [utils.py:75        request_debug()] - request form:
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: daemon_url:127.0.0.1:7050
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: name:test
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: log_type:local
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: log_level:DEBUG
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: log_server:
dashbard      | [2016-11-27 15:36:22,489] DEBUG [resources.host] [utils.py:77        request_debug()] - Form: capacity:1
dashbard      | [2016-11-27 15:36:22,490] DEBUG [resources.host] [utils.py:78        request_debug()] - request raw body data:
dashbard      | [2016-11-27 15:36:22,490] DEBUG [resources.host] [utils.py:79        request_debug()] - b''
dashbard      | [2016-11-27 15:36:22,490] DEBUG [resources.host] [utils.py:80        request_debug()] - None
dashbard      | [2016-11-27 15:36:22,490] DEBUG [resources.host] [host.py:57          host_create()] - name=test, daemon_url=127.0.0.1:7050, capacity=1fillup=false, schedulable=false, log=local/
dashbard      | [2016-11-27 15:36:22,490] DEBUG [modules.host] [host.py:67               create()] - Create host: name=test, daemon_url=127.0.0.1:7050, capacity=1, log=local/, autofill=false, schedulable=false
dashbard      | [2016-11-27 15:36:22,494] ERROR [agent.docker_swarm] [docker_swarm.py:132         check_daemon()] - Exception in check_daemon Error while fetching server API version: HTTPConnectionPool(host='127.0.0.1', port=7050): Max retries exceeded with url: /version (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fe68c407eb8>: Failed to establish a new connection: [Errno 111] Connection refused',))
dashbard      | [2016-11-27 15:36:22,495] WARNING [modules.host] [host.py:83               create()] - The daemon_url is inactive:tcp://127.0.0.1:7050
dashbard      | [2016-11-27 15:36:22,497] ERROR [agent.docker_swarm] [docker_swarm.py:159   detect_daemon_type()] - Error while fetching server API version: HTTPConnectionPool(host='127.0.0.1', port=7050): Max retries exceeded with url: /version (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fe68c177588>: Failed to establish a new connection: [Errno 111] Connection refused',))
dashbard      | [2016-11-27 15:36:22,497] ERROR [agent.docker_swarm] [docker_swarm.py:238 setup_container_host()] - Invalid host_type=None
dashbard      | [2016-11-27 15:36:22,497] WARNING [modules.host] [host.py:89               create()] - test cannot be setup
dashbard      | [2016-11-27 15:36:22,498] WARNING [resources.host] [host.py:75          host_create()] - Failed to create host test
dashbard      | 172.19.0.5 - - [27/Nov/2016 15:36:22] "POST /api/host HTTP/1.0" 400 -
dashbard      | [2016-11-27 15:36:24,531] DEBUG [resources.index] [utils.py:71        request_debug()] - path=/, method=GET
dashbard      | [2016-11-27 15:36:24,531] DEBUG [resources.index] [utils.py:72        request_debug()] - request args:
dashbard      | [2016-11-27 15:36:24,531] DEBUG [resources.index] [utils.py:75        request_debug()] - request form:
dashbard      | [2016-11-27 15:36:24,532] DEBUG [resources.index] [utils.py:78        request_debug()] - request raw body data:
dashbard      | [2016-11-27 15:36:24,532] DEBUG [resources.index] [utils.py:79        request_debug()] - b''
dashbard      | [2016-11-27 15:36:24,533] DEBUG [resources.index] [utils.py:80        request_debug()] - None
dashbard      | [2016-11-27 15:36:24,534] DEBUG [modules.cluster] [cluster.py:46                 list()] - List all active clusters
dashbard      | [2016-11-27 15:36:24,535] DEBUG [modules.cluster] [cluster.py:50                 list()] - List all released clusters
dashbard      | [2016-11-27 15:36:24,536] DEBUG [modules.cluster] [cluster.py:46                 list()] - List all active clusters
dashbard      | [2016-11-27 15:36:24,536] DEBUG [modules.cluster] [cluster.py:46                 list()] - List all active clusters

How can I add new host ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.