GSoC 2021 Ceph Project Work Product

Implementing new integration testing for Ceph orchestrator using behavior-driven development framework


Arunagirinadan Sudharshan


About the project and tasks

The project aim is to implement new integration testing for the Ceph orchestrator layer using BDD (behavior-driven development) framework. To implement the feature I used, Behave python framework and Kcli tool. Using Behave the test scenarios are written in Gherkin languages and tested using the python implementations. Using kcli tool we will be able to create, manage and interact with the virtual machines which are required to testing the scenarios.


I started referring to additional documentations on behave framework and Ceph orchestrators API. Also discussed about the project implementation with my mentor and the ceph orchestrator team during the community bonding period.

Following are links for pull requests created during coding period.

  • PR #419181 Implemented basic test scenarios for cephadm, ceph shell and OSD commands

    As the main objectives, I implemented the following functionalities which are included in the above pull request.

    • Parsing description provided to create and manage the environments using kcli for executing the test cases.
    • Functions to execute the test case commands and validating the output.
    • Created different test scenarios for cephadm commands, ceph shell commands and OSD creations.

Currently in work in progress

To do

I’ll be continuing to add different test scenarios of ceph orchestrator and if requried modify the code to support them.