Difference between revisions of "Ansible Roles"

From rbachwiki
Jump to navigation Jump to search
(Created page with "= Create Roles to organize playbooks= <code> --- - name: Install httpd package yum: name: httpd state: present - name: Start httpd service: name: httpd state: started - name: Open port for http firewalld: service: http permanent: true state: enabled - name: Restart firewalld service: name: firewalld state: reloaded </code>")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Create Roles to organize playbooks=
= Create Roles to organize playbooks=
<code> /etc/ansible/roles </code>
'''Make a directory for each role'''
mkdir [rolenames]


<code>
mkdir basicinstall
---
mkdir fullinstall
- name: Install httpd package
 
'''Create sub-directory <code>tasks</code> within each directory'''
 
mkdir basicinstall/tasks
mkdir fullinstall/tasks
 
'''Create yml files within these sub-directory'''
basicinstall/tasks/main.yml
fullinstall/tasks/main.yml
 
===This Playbook has some tasks to be done===
---
- name: Install httpd package
   yum:
   yum:
   name: httpd
   name: httpd
   state: present
   state: present
 
- name: Start httpd
- name: Start httpd
   service:
   service:
   name: httpd
   name: httpd
   state: started
   state: started
 
- name: Open port for http
- name: Open port for http
   firewalld:
   firewalld:
   service: http
   service: http
   permanent: true
   permanent: true
   state: enabled
   state: enabled
 
- name: Restart firewalld  
- name: Restart firewalld  
   service:
   service:
   name: firewalld
   name: firewalld
   state: reloaded
   state: reloaded
</code>
 
===Another Playbook with some more tasks===
 
---
- name: Install httpd package
  yum:
  name: httpd
  state: present
  - name: Start httpd
    service:
    name: httpd
    state: started
 
===Role that incorporate the other 2 playbooks===
 
---
- name: Full install
  hosts: all
  roles:
  - fullinstall
- name: Basic install
  hosts: localhosts
  roles:
  - basicinstall
 
 
=[[Ansible| Ansible Menu]]=
[[Category:Ansible]]

Latest revision as of 20:09, 12 July 2022

Create Roles to organize playbooks

/etc/ansible/roles Make a directory for each role

mkdir [rolenames]
mkdir basicinstall
mkdir fullinstall

Create sub-directory tasks within each directory

mkdir basicinstall/tasks
mkdir fullinstall/tasks

Create yml files within these sub-directory

basicinstall/tasks/main.yml
fullinstall/tasks/main.yml

This Playbook has some tasks to be done

---
- name: Install httpd package
 yum:
  name: httpd
  state: present

- name: Start httpd
 service:
  name: httpd
  state: started

- name: Open port for http
 firewalld:
  service: http
  permanent: true
  state: enabled

- name: Restart firewalld 
 service:
  name: firewalld
  state: reloaded

Another Playbook with some more tasks

---
- name: Install httpd package
 yum:
  name: httpd
  state: present

 - name: Start httpd
   service:
    name: httpd
    state: started

Role that incorporate the other 2 playbooks

---
- name: Full install
 hosts: all
 roles:
 - fullinstall

- name: Basic install
 hosts: localhosts
 roles:
 - basicinstall


Ansible Menu