0% found this document useful (0 votes)
61 views9 pages

3-Ansible Automation With Simple Playbooks

The document provides instructions on creating YAML files for Ansible playbooks. It explains that tasks will run sequentially in the order defined; indentation is important; use spaces not tabs; and empty lines have no value. It demonstrates how to create a simple playbook that prints "Hello World" on the localhost and a playbook that pings the localhost and prints a message. It also shows a playbook that installs and starts the Apache package on the localhost.

Uploaded by

mario so
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views9 pages

3-Ansible Automation With Simple Playbooks

The document provides instructions on creating YAML files for Ansible playbooks. It explains that tasks will run sequentially in the order defined; indentation is important; use spaces not tabs; and empty lines have no value. It demonstrates how to create a simple playbook that prints "Hello World" on the localhost and a playbook that pings the localhost and prints a message. It also shows a playbook that installs and starts the Apache package on the localhost.

Uploaded by

mario so
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Complete Ansible Automation Training

Ansible Automation with Simple


Playbooks
YAML File Syntax
IMPORTANT Things to Remember!

✓ All tasks are executed in sequential order

✓ Each task is processed one at a time

✓ Indentation is extremely important

✓ No <tabs> in yaml file

✓ Only use spaces

✓ Empty lines have no value

✓ File extension is usually .yml or .yaml

By: Imran Afzal


www.utclisolutions.com
YAML File Syntax
IMPORTANT Things to Remember!

✓ No difference in double quotes or NO quotes for a task name:

✓ YAML Playbook files can be placed anywhere on the filesystem as long as they are being
executed with absolute path

✓ When a flat file is written in YAML format to execute tasks/plays then it is called
playbook

✓ There is NO need to modify the file permission


rwx--x--x

By: Imran Afzal


www.utclisolutions.com
YAML File Syntax Example
---
Name of the playbook
- name: sampleplaybook
hosts: all or localhost Where to run?
become: yes Run as a different user?
become_user: root

tasks:
Define the name of the task
- name: Install Apache httpd
yum: Run task module yum
name: httpd Name of the package
state: present
What to do? -- Install
- name: 2nd task
service:
name: httpd
state: started
• Ansible modules and options
https://docs.ansible.com/ansible/2.5/modules/
Declare task By: Imran Afzal
www.utclisolutions.com
Creating First Playbook
• There are online yaml tools you can use to create Playbooks
• https://onlineyamltools.com/edit-yaml
• https://codebeautify.org/yaml-editor-online

• Tools to download
• Notepad++ Windows

• Take a snapshot after installing Ansible software


# su - root • Check syntax of playbook
# mkdir /etc/ansible/playbooks # anisble-playbook --syntax-check first.yml
# cd /etc/ansible/playbooks Or to do a dry run
# vim first.yml # anisble-playbook --check first.yml

---
- name: “My first playbook”
hosts: localhost
• Run the playbook
# anisble-playbook /root/ansible/first.yml
tasks:
- name: “test connectivity”
ping:
By: Imran Afzal
www.utclisolutions.com
Creating First Playbook
Please note:

• Running ansible without a playbook


# ansible

• Running ansible with a playbook


# ansible-playbook

By: Imran Afzal


www.utclisolutions.com
Output Playbook
This playbook will print “Hello World” on localhost

# cd /etc/ansible/playbook
# vim helloworld.yml

---
- name: My Second playbook Name of the play or playbook
hosts: localhost Run on localhost

tasks: Run the following task


- name: Print Hello World Name of the task
debug: msg="Hello World" Run debug module which prints statements during execution

Run the playbook


# anisble-playbook helloworld.yml

By: Imran Afzal


www.utclisolutions.com
Multiple Tasks Playbook
The playbook will ping localhost and print “Hello World”
# vim mtask.yml

---
- name: Running 2 tasks Name of the play
hosts: localhost Run it on local host
tasks: Run the following task
- name: Test connectivity Name of the task
ping: Run the ping module
- name: Print Hello World Name of the 2nd task
debug: msg=“Hello World” Run the debug module

Run the playbook


# anisble-playbook mtask.yml

By: Imran Afzal


www.utclisolutions.com
Installing and Starting a Package
# vim packinstall.yml

---
- name: Installing and Running apache
hosts: localhost

tasks:
- name: Install apache
yum:
name: httpd
state: present

- name: start httpd


service:
name: httpd
state: started

Run the playbook


# anisble-playbook packinstall.yml
By: Imran Afzal
www.utclisolutions.com

You might also like