Patch Deployemnt for Linux Machines on ESXi VMware!
Table of Contents
KvSmooth comes to end with the idea of automating the tasks and getting the development knowledge of three-tier architechure applications. We also covered how the RESTFUL API framework works when we have to design the microservices architecture. Due to this, in the first place, the development was in the direction of Monolithic architecture and then gradually we move towards the Microservices architecture.
The problem that was selected for this learning is based on the real-world problem when we have to execute the script like bash etc on the Linux servers that are running over VMware ESXi hosts. We do have the solution of ansible or might be another CLI approach but it becomes user-friendly when we have the User Interface to deal with such tasks. By making the process smooth, we have given the name of KvSmooth.
We always appreciate your contribution and feedback.:smile:
- Django
- Django Rest Framework
- Bootstrap
- JQuery
- Python
- VMware vSphere API Python Bindings
- Python
- Bash
- Celery
- Flower
- Redis
- Docker
- Linux
Added Soon - Inshallah
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
- Clone the repo
git clone https://github.com/mismailzz/kvsmooth.git
- Build from docker-compose
docker-compose build
- Run the docker-compose file
SERVER_IP=10.11.17.200 docker-compose up ##SERVER_IP=<ip_addr> docker-compose up
- Results
1. Created the CLI-based solution using Ansible
1. It's able to resolve the problem as its run at once and ideally executes the patch over all VMs incrementally
2. Limitations
a. As it was not user friendly
b. Tasks don't run async for multiple VMs on a single host
c. Become hard to manage when multiple users want to use the Ansible playbook for different hosts
d. There is no database for data persistency
e. It's not time efficient
f. Can't able to track the tasks they executed successfully or failed as we have to wait till the end for complete or partial execution of the script
2. We learned the Django framework fundamentals
3. Created the dashboard and run Ansible playbook in the backend
4. Limitations of Monolithic architecture and Ansible playbook
5. Learned the REST API Framework and 3-Tier Architecture
6. Modified the "VMware vSphere API Python Bindings" scripts based on requirements
7. Created the main and patch panel dashboard
8. Integrated the Redis, Celery, and Flower - Asynchronous tasks and Monitoring
9. Created Docker Compose file
10. The final execution of the application based on microservices 3-tier architecture
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
mismailzz - @LinkedIn