Improve Kubernetes Operators support for Fablo

Project TitleImprove Kubernetes Operators support for Fablo
Status

COMPLETED

Primary Focus

CODING

Description 

Fablo is a Hyperledger Labs project that aims to manage a local Hyperledger Fabric network on Docker. Previous edition of Hyperledger Mentorship Program resulted with the implementation of the initial, experimental support for Kubernetes Operators (using Bevel Operator).

The overall objective of the current mentorship program is to improve test coverage for Kubernetes Operators support for Fablo, implement crucial missing features and fix most important issues that come up as a result of testing.

First, the mentee is responsible for implementing Bash scripts with automatic tests of a running HLF network, in a similar manner it is already done for Fablo on Docker. Tests need to verify the support for Fablo’s features, like network lifecycle support, using Fablo hooks, managing complex HLF network topologies, and others. On the basis of it, the mentee is going to create a set of issues and start working on them in the second part of the internship. Additionally the project includes implementing a few Fablo features supporting testing:  `fablo invoke/query`, `fablo enroll` and `fablo chaincode list`.

Additional Information

The project results are going to be merged and released often.

  • Before the the mentorship experimental support for Kubernetes is going to be merged and released by Fablo maintainers.
  • 1st quarter of the mentorship focuses on getting mentee familiar with Fablo and writing automatic tests
  • 2nd and 3rd quarter of the mentorship focus on improving Fablo by resolving found issues and improving our tests base
  • We expect at least two new Fablo releases, after 2nd and 3rd quarter of the mentorship

Useful resources:

Learning Objectives

  • General software engineering skills - the understanding of the importance of automatic tests, even for the infrastructure, in the process of delivering the quality software; looking from edge cases, problem solving
  • Bash scripting skills
  • Experience with Kubernetes Operators, Hyperledger Bevel and Fablo
  • Hyperledger Fabric network topology, setup and operation

Expected Outcome

  • Bash scripts with automatic tests covering Fablo/K8s and HLF features
  • Tested features matrix for Fablo with Kubernetes Operators
  • A list of issues documenting missing features and errors in the current implementation
  • Implementation resolving part of the created issues

Relation to Hyperledger 

Mentee Skills

  • Basic Bash scripting skills
  • Basic programming knowledge in any common language
  • Knowledge of Docker or any other containerization tool
  • Node.js is a nice to have

Future plans

Improving support for Kubernetes Operators in Fablo is going to allow reaching a new group of users. It will also make it possible for Fablo to become a part of the production HLF network toolkit.

Mentor(s) Names and Contact Info