Menu Program : To Automate the Yum, Docker, Partition concept, LVM, Hadoop & HTTPd using Python.
In this task we are going to design a menu program. Which will automate the configuration & execution process of various technologies like configuring yum commands, docker commands, partition concepts, LVM concepts, hadoop master-slave model & httpd concepts using python.
Before jumping on the menu program let's get some conceptual knowledge about all the technologies which are automated.
Q. What is automation ?
=> Automation is used to reduce the workload of the users, like even if they don't know about the commands they can run software. In short, user just need to tell the software what he/she wants to run & the program will do it for them in the blink of their eye.
Yum :
Full form of YUM is Yellowdog Updater Modified. It is an open source command-line as well as graphical based package management tool for RPM (RedHat Package Manager) based Linux systems. It allows users and system administrator to easily install, update, remove or search software packages on a systems.
Docker :
Docker is an open platform for developing, shipping, and running applications. Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. With Docker, you can manage your infrastructure in the same ways you manage your applications.
Partition Concept :
As we know when we initially perform the partition process on any disk it needs to run some specific commands. By running those commands we can assure that partition of disk is done successfully & we can start storing our data on it. Mainly partition is done to mount your disk properly on your system without getting the mounting errors.
LVM :
LVM is mainly known as Logical Volume Management. In computer storage, Logical Volume Management or LVM provides a method of allocating space on mass-storage devices that is more flexible than conventional partitioning schemes to store volumes. LVM is an abstraction layer between your operating system and physical hard drives i.e, your physical hard drives and partitions are no longer tied to the hard drives and partitions they reside on.
Hadoop :
Hadoop is a collection of open-source software utilities that facilitates using a network of many computers to solve problems involving massive amounts of data and computation. It provides massive storage for any kind of data, enormous processing power and the ability to handle virtually limitless concurrent tasks or jobs.
HTTPd :
The Apache HTTP Server, colloquially called Apache, is a Web server application notable for playing a key role in the initial growth of the World Wide Web. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server in use since April 1996.
To integrate all the above concepts we have used python programming language. In that we have used two main modules, OS module & the subprocess module. We will explore these two modules.
OS module :
The OS module in python provides functions for interacting with the operating system. OS, comes under Python's standard utility modules. This module provides a portable way of using operating system dependent functionality.
Subprocess module :
The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes.
For storing the code we have used the open source platform GitHub.
In this menu program, we have given the menu of each individual technology as below :
Configure YUM :
As YUM is directly configured through the given set of commands, it doesn't need any menu like others.
Docker :
Install Docker
Start Docker Service
Status of Docker
Download the docker image in your storage
See the list of Docker images installed
Install docker images on your PC
Boot any OS which is previously installed
Terminate Docker Image
Exit
Partition Concept :
Create the partition
To see all the disks present in your PC
To see all the mounted disks on your PC
LVM :
Create or delete the logical partition
Extend partition size
Reduce partition size
Extend virtual group size
Exit
Hadoop :
Create Hadoop Master Name node
Create Hadoop Slave Data node
Create Hadoop Client node
Exit
HTTPd :
Install HTTPd (Apache) Server
Start HTTPd Server
Check status of HTTPd Server
Stop HTTPd Server
Uninstall HTTPd Server
Exit
This task is performed & completed under the guidance of Vimal Daga Sir from ARTH - The School of Technologies, by team leader Aditya Jagtap & team members Kapil Dev, Akshay Chaudhary & Bhuvnesh Kumar.