Cloudmesh Workflow

  • This project can also be taken as an independent study or as part of the Cloud Engineering class

Goals

In this project, you will be developing a workflow framework allowing cloudmesh shell tasks to be executed in a workflow engine. The workflow engine will be integrated with the cloudmesh backend database.

Workflows will be specified with the help of python functions. These functions will then be added to a queue. Futures are used to identify runnable functions that will be executed as soon as their parameters are defined.

A graphical user interface based on javascript Electron needs to be developed as part of this project. A preliminary code is available in Github at

The current implementation does not have parameter management included.

Requirements

  • Strong knowledge of python of the student working on the backend.

  • Knowledge of javascript of the student working on the graphical interface

Difficulty

  • moderate: The complexity of this project is moderate and allows you to look at advanced python language concepts as well as basic javascript features for rendering the workflow in real-time. You will need to understand multiprocessing in python. An example is provided in the Host.ping class in cloudmesh-cloud

Deliverables

  • Working benchmarks in form of reproducible workflows embedded in pytests

  • check-ins into GitHub by all team members. If only one team member checks in all other team members will not get credit.

  • benchmark of the tasks while reporting the results into the database

  • Definition of the objects stored in the database.