How to delete Ansible host entries from hosts file using Ansible

In #Ansible we run an #Ansible play against a target hosts group, the #Ansible play will be executed on each remote host that is part of that particular target group.

Lets say we want to pass the host details dynamically to host file and every time we run a play we want to run them on new host passed dynamically.

In order to achieve this there are multiple ways lets discuss the one way of doing it.

we should remove the host’s entries from /etc/ansible/hosts file each time before running any #Ansible play. Below #Ansible-play which will remove the host entries and replace them with a blank line

ansible-play.yml

---- hosts: localhostbecome: truetasks:- name: loop debug inventory hostnames  debug:    msg: "{{ item }}"  with_inventory_hostnames: ameyo  register: hostip- name: remove host ip's  lineinfile:    path: /etc/ansible/hosts    regexp: "{{item}}"    line: ''  with_inventory_hostnames: <target_grouo_name>
0
Subscribe to my newsletter

Read articles from Mahira Technology Private Limited directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mahira Technology Private Limited
Mahira Technology Private Limited

A leading tech consulting firm specializing in innovative solutions. Experts in cloud, DevOps, automation, data analytics & more. Trusted technology partner.