Ansible Variable Lab & Excercise – Part 2

DevOps

MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare
<webserver.yaml>

- name: This sets up an httpd webserver
  hosts: localhost
  vars_files:
    - vars-file.yaml

  tasks:
  - name: Install the httpd apps
    yum:
      name={{ servicename }}
      state=latest
  - name: 
    ansible.builtin.service:
      name={{ servicename }}
      state=started

<vars-file.yaml>

servicename: httpd
2.Assigment 2 – Create a playbook and setup a webserver(httpd) and use httpd as a variable decalared using prompt

<webserver.yaml>

- name: This sets up an httpd webserver
  hosts: localhost
  vars_prompt:
    - name: "servicename"
      prompt: "Enter service name"
      private: false

  tasks:
  - name: Install the httpd apps
    yum:
      name={{ servicename }}
      state=latest
  - name: 
    ansible.builtin.service:
      name={{ servicename }}
      state=started
  - name: Print the vars
    ansible.builtin.debug:
      msg: Service name {{ servicename }}



Assigment 3 – Create a playbook and setup a webserver(httpd) and find a list of .txt file in some directory and output using register variables

<webserver.yaml>

- name: This sets up an httpd webserver
  hosts: localhost
  vars_prompt:
    - name: "servicename"
      prompt: "Enter service name"
      private: false

  tasks:
  - name: Install the httpd apps
    yum:
      name={{ servicename }}
      state=latest
  - name: 
    ansible.builtin.service:
      name={{ servicename }}
      state=started
  - name: Print the vars
    ansible.builtin.debug:
      msg: Service name {{ servicename }}
  - name: 
    shell: "find *.txt"
    args:
      chdir: "/home/centos/ansible/monika"
      register: find_output
Assigment 4 – Create a playbook and setup a webserver(httpd), copy a index.html and interpolate variables in template file decalared in playbook.


<webserver.yaml>

- name: This sets up an httpd webserver
  hosts: localhost
  vars_prompt:
    - name: "servicename"
      prompt: "Enter service name"
      private: false

  tasks:
  - name: Install the httpd apps
    yum:
      name={{ servicename }}
      state=latest
  - name: 
    ansible.builtin.service:
      name={{ servicename }}
      state=started
  - name: Print the vars
    ansible.builtin.debug:
      msg: Service name {{ servicename }}
  - name: copy index.html
    ansible.builtin.template:
     src: index.html.j2
     dest: /var/www/html/
 -  name: Start service httpd, if not started
    ansible.builtin.service:
     name: "{{servicenamename}}"
     state: startedCode language: JavaScript (javascript)