Cluster Deployment with Juju Charm
This project was completed as a student intern opportunity with HPCC Systems in 2019. Curious about projects we are offering for future internships? Take a look at our Ideas List.
Find out about the HPCC Systems Summer Internship Program.
Project Description
Juju is a open source, solution-driven orchestration tool from Ubuntu that helps you deploy, manage and scale your environments on any cloud. It supports most major cloud environment and get more and more popular.
We already have HPCC Systems Juju charms which include HPCC Platform, Ganglia-monitoring and Nagios-monitoring. The current implementations use shell scripts
Current Juju Charm version is 2.4. There is no direct upgrade from Juju 1.x to 2.x. Charm author must write charm with Charm Helpers framework (python 3.0).
For this project we will re-design HPCC charm with Juju charm concepts of layer, interface, reactive, resource, etc. The HPCC can be deployed in single node or a cluster. HPCC Plugin and Ganglia-monitoring can be included as optional package in charm configuration. We want to create Charms bundles to help user deploy a group of HPCC Systems related charms easily. Also we hope automate the HPCC Systems Juju charms testing with Charm Tool Amulet. The development and testing will be done on Ubuntu 18.04 amd64.
There is a design consideration file to help students prototype this project: https://github.com/hpcc-charms/HPCC-Charms/blob/master/design-consideration
Completion of this project involves:
Learn Juju 2.x and get familiar with Juju concepts of layer, interface, reactive, Charm Helpers framework and charm bundles
Re-design and implement HPCC charms.
The project includes two sub projects: 1) single HPCC Platform node 2) HPCC Cluster. Current work will concentrate on the first one.
At least testing charms on local and AWS. Investigating testing with Charm Tool Amulet.
By the mid term review we would expect you to have:
The HPCC platform charm deployed on local system (Ubuntu 16.04 amd64)
Mentor | Xiaoming Wang Backup Mentor: Kevin Wang |
Skills needed |
|
Deliverables | Midterm
End of project
|
Other resources |
|
All pages in this wiki are subject to our site usage guidelines.