HTTPD Server starting Idempotence

Aman Goyal
4 min readMar 26, 2021

Idempotence :-A request method is considered “idempotent” if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request. Of the request methods defined by this specification, PUT , DELETE , and safe request methods are idempotent.

While restarting Httpd server using Ansible , it is not Idempotent as It always downloads all the resources whether they are changed or not , consumes so much or memory and space , while the work can be done in very few.

so What Idempotence refers here , it refers that is anything is changed in our service only that part would be affected while running ansible playbook , rest of the things will remain same.

In Ansible , to execute this Idempotence property there are some handlers and keywords which help us in deploying the idempotence httpd server with playbook.

Handler:- Handlers are tasks that only run when notified.

Objective :- Restarting HTTPD Service is not idempotence in nature and also consume more resources suggest a way to rectify this challenge in Ansible playbook”.

for this , we will have 2 RHEL-8 VMs . one of them will be with Ansible installed . In this ansible VM we will write ansible-playbook and by using its inventory file we will be launching a httpd server in other os .

Ip of the os I’m using as worker node is 192.168.0.109

Lets start by providing Inventory file and configuration file to Ansible VM

Inventory file for Ansible :- ip.txt

Configuration file for ansible

To update some details into our worker node , we need to write a conf file and send it to worker node via ansible-playbook. so conf file is :-aman. Conf

Now we need to write the Ansible-playbook for the task . so the playbook is on github , check it out

Now what we need to do is just run the playbook and everything set up

so just run the playbook

ansible-playbook apache.yml

It is Working Properly .

Now go to worker node and check the status of httpd server whether it is running or not

now use the worker node ip:port to access the webpage we created .

And our Idempotence Launch of httpd server is done.

That’s all with this article. I hope you found the post Informative, if something was missing or you think some more things could have been added, feel free to provide suggestions in the comments section or on LinkedIn.

You can check out my LinkedIn profile.

Thanks for giving your precious time to this article✌ Hope you like it .

--

--