I am liitle new to ansible so bear with me if my questions are a bit basic.
Scenario:
I have a few group of Remote hosts such as [EPCs] [Clients] and [Testers] I
am able to configure them just the way I want them to be.
Problem:
I need to write a playbook, which when runs, asks the user for the
inventory at run time. As an example when a playbook is run the user should
be prompted in the following way: "Enter the number of EPCs you want to
configure" "Enter the number of clients you want to configure" "Enter the
number of testers you want to configure"
What should happen:
Now for instance the user enters 2,5 and 8 respectively. Now the playbook
should only address the first 2 nodes in the group [EPCs], the first 5
nodes in group [Clients] and the first 7 nodes in the group [Testers] . I
don't want to create a large number of sub-groups, for instance if I have
20 EPCs, then I don't want to define 20 groups for my EPCs, I want somewhat
of a dynamic inventory, which should automatically configure the machines
according to the user input at run time using the *vars_prompt* option or
something similar to that
Let me post a partial part of my playbook for better understanding of what
is to happen:
---
- hosts: epcs # Now this is the part where I need a lot of flexibility
vars_prompt:
name: "what is your name?"
quest: "what is your quest?"
gather_facts: no
tasks:
- name: Check if path exists
stat: path=/home/khan/Desktop/tobefetched/file1.txt
register: st
- name: It exists
debug: msg='Path existence verified!'
when: st.stat.exists
- name: It doesn't exist
debug: msg="Path does not exist"
when: st.stat.exists == false
- name: Copy file2 if it exists
fetch: src=/home/khan/Desktop/tobefetched/file2.txt
dest=/home/khan/Desktop/fetched/ flat=yes
when: st.stat.exists
- name: Run remotescript.sh and save the output of script to output.txt on
the Desktop
shell: cd /home/imran/Desktop; ./remotescript.sh > output.txt
- name: Find and replace a word in a file placed on the remote node using
variables
shell: cd /home/imran/Desktop/tobefetched; sed -i 's/{{name}}/{{quest}}/g'
file1.txt
tags:
- replace
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/2b27d885-ed5b-4b18-a71d-52468797ee7f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.