Aim :
A single, centralised solution to monitor and configure systems, manage content (package management) and provision host with different provider. Host systems can fetch content from application.
Requirements : As a user, I should be able to login application with ldap authentication as well as user created on application. As a user, I should be able to provision host with different provider such as libvirt, vmware or docker container etc. As a user, II should be able to configure network and storage, select type of provider and contents. As a user, I should be able to register already provisioned host within network to application. As a user, I should be able to enable services such as DHCP, DNS, TFTP, etc. As a user, I should be able to sync content from application to host. As a user, I should be able to get system health.
High level goals : Application should be able to perform Package management Provisioning
Level : Intermediate
Pre-requisites: Minimum 2 machines having 250Gb storage and 4Gb RAM each.
Technical Terminologies: Ansible, puppet, LibVirt, python, Web frameworks, Docker, etc. ( Note : Feel free to choose any open source technology )
Project Planning:
Month 1:
- Create abstract, define objective, information gathering and system architecture
- Understand virtualization concepts and configurations
- Gather Tools and Technology
- Create project on Github
Month 2:
- Project Design
- Use cases and project specifications
Month 3:
- Coding and implementation
Month 4: 1. Coding and implementation
Month 5:
- Testing
- Create tests for application using pytest
Month 6:
- Contribution to open source projects such as foreman, katello, robottelo.
- Bug raised on Redmine (http://www.redmine.org)
Outcomes:
- Understand infrastructure and virtualization concepts
- Learn automation
- Learn github and pytest
- Get familiar with foreman open source project and Red Hat Satellite product
References https://theforeman.org http://projects.theforeman.org/issues https://www.redhat.com/en/technologies/management/satellite
Github User Id: https://github.com/ntkathole