Hello Techies, this blog is the continuation of the last blog Install Ansible on Windows which is the second part of the series Ansible with Windows. Before you proceed, I recommend you to please take a look at the introductory
blog of this series so to have an understanding of this series.
So, in the previous blog of we understand how to install Ansible on Windows platform. Now, in this blog we will see how we can connect the Ansible Controller (WSL) with the Windows host and do some operations. As our environment is already setup, there are few steps we need to follow before we can test pinging
the windows host and create our first playbook to make some changes on the same host.
Steps to follow:
1. Open Ubuntu App, switch to sudo and change directory to etc and there create Ansible folder.
2. Then we need to create a configuration file for ansible. Type vim ansible.cfg under /etc/ansible and then type “I” to insert and type.
You can add additional configurations as per your requirements. You can find configuration here.
3. Now we need to create a host file which includes the details of the target machine.
Here [app] signifies a group, and [app:vars] signifies additional information (variables) to be used for the connection with target host.
Here, ansible is using the win_ping module to ping the app (our group name in host file which consist our Target Host IP) and we successfully pinged our Target Host from our Ansible Controller.
Now, we will create the playbook to interact with Target Host and do some changes.
Type vim create_file_and_folder.yml and insert:
Now, we will run this playbook. The playbook can be run using ansible-playbook command.
---
- name: Playbook to create folder, file and file with content
hosts: app
tasks:
- name: Create a Folder
ansible.windows.win_file:
path: '{{ ansible_env.SystemDrive }}\ansible_folder'
state: directory
- name: Create a Sub-Folder
ansible.windows.win_file:
path: '{{ ansible_env.SystemDrive }}\ansible_folder\ansible_sub_folder'
state: directory
- name: Create a File
ansible.windows.win_file:
path: '{{ ansible_env.SystemDrive }}\ansible_folder\file1.txt'
state: touch
- name: Create a file with content
ansible.windows.win_copy:
dest: '{{ ansible_env.SystemDrive }}\ansible_folder\file2.txt'
content: |
This is Line 1
This is Line 2
...
Now, we will run this playbook. The playbook can be run using ansible-playbook command.
The playbook ran successfully and also stated that the status of the tasks is changed. Now, if you look at the directory you will see all the folders and file created automatically using Ansible on Target Host (Windows) machine.
So, this
is just a small example to make you understand how you can use Ansible to
communicate with any target host and make changes automatically. Apart from
this small task you can use Ansible to automate Infrastructure, Applications,
Security, Networks, Cloud and Containers. Hope, this blog helps you to have an
understanding of how to create host file, playbook and how to run the playbook.
About Amlgo
Labs : Amlgo Labs is an
advanced data analytics and decision sciences company based out in Gurgaon and
Bangalore, India. We help our clients in different areas of data
solutions includes design/development of end to end
solutions (Cloud, Big Data, UI/UX, Data Engineering, Advanced Analytics
and Data Sciences) with a focus on improving businesses and providing
insights to make intelligent data-driven decisions across verticals. We have
another vertical of business that we call - Financial Regulatory Reporting for
(MAS, APRA, HKMA, EBA, FED, RBI etc) all major regulators in the world
and our team is specialized in commonly used regulatory tools across the
globe (AxiomSL
Controller View, OneSumX Development, Moody’s
Risk, IBM Open Pages etc).We build
innovative concepts and then solutions to give an extra edge to the business
outcomes and help to visualize and execute effective decision strategies. We are among top 10 Data Analytics Start-ups in India, 2019 and 2020.
Please feel free to comment or share your views and thoughts. You can always reach out to us by sending an email at info@amlgolabs.com or filling a contact form at the end of the page.
Comments
Post a Comment