Initially, I set up the Ansible Playbook outside of using a role, a plays/,
vars/, group_vars/, and collections/ directories. Yes, the network and
vc_locations were being passed
in as extra_vars in Anbible Tower via a Survey.
As things have grown, I recently converted that work over to an Ansible
role. The conversion worked well and things run accordingly through
Ansible Tower. The site.yml is what
is used including the vars_files sans the second role. Now I am working on
including the second role for post-processing needs of the deployed vms.
Yes, the vmware-windows role needs variables defined for the vcenter,
vlans, etc. Currently, I have multiple ymls built out holding the vars
such as:
vlan1.yml, vlan2.yml, etc.
vcenter1.yml, vcenter2.yml, etc.
Doing it like this, I can have a prompt in the Survey for the Admins to
customize the deployment. I think I am following you, I can move those yml
files over to tasks/ in the first role.
I did indent the second role, having to remove the hyphen from "name." In
doing so, I received two warning:
*"[WARNING]: While constructing a mapping from /tmp/bwrap_ ...
/project/vmware-windows- role/provision.yml, line 3, column 3, found a
duplicate dict key (name). Using last defined value only*
# Windows would be the inventory for the second role
*[WARNING]: Could not match supplied host pattern, ignoring: windows*
Thanks!
On Thursday, November 10, 2022 at 8:26:41 AM UTC-7 [email protected] wrote:
> Does the vmware-windows role need the vars defined from the vars_files? If
> so then the role itself should include them inside it's task file(s). Move
> the vars_files inside tasks/main.yml. Anything the role does after that
> will get the value of those vars definitions.
>
> The vmware-windows role will see the values of network and vc_location
> that come into the playbook executing the role. I presume they come in as
> extra_vars from command line or ansible tower.
>
>
> Walter
> --
> Walter Rowe, Division Chief
> Infrastructure Services, OISM
> Mobile: 202.355.4123 <(202)%20355-4123>
>
> On Nov 10, 2022, at 9:54 AM, Christopher Bachmeyer <[email protected]>
> wrote:
>
> Hi, Walter,
>
> That is correct. I am, the vmware-windows role is the first play and
> creates the host_group "windows" to be used as inventory in the second
> play.
> Right now, the second role is not indented but let me give that a go this
> morning. I'm presuming to indent the entire block starting with the hyphen
> ( - name: .... )?
>
> Regarding the vars_files, use import statements in the vars/main.yml of
> the first role? I have multiple vars files under vars/ that are specific
> to the vcenters
> and vlans. Using vars_files and variables in the Ansible Tower Survey
> gives the Admins a way to customize the builds to the environment (which
> works well!).
>
> Thank you!
>
> On Thursday, November 10, 2022 at 5:23:04 AM UTC-7 [email protected]
> wrote:
>
>> You need to make sure you use proper indentation. Your roles list needs
>> to be indented two spaces like your vars_files.
>>
>> Is it possible also that your sourcing of those the vars_files from
>> within your role is overwriting the value of "windows" such that there is
>> no inventory for the second play? Why do you source those vars files? The
>> vmware-windows role will do that automatically.
>>
>> - name: VMware-windows create role
>> hosts: localhost
>> gather_facts: no
>> roles:
>> - vmware-windows
>>
>>
>> ### this vars_files should not be needed
>>
>>
>> vars_files:
>> - ./roles/vmware-windows/vars/{{ vc_location }}.yml
>> - ./roles/vmware-windows/vars/{{ network }}.yml
>>
>>
>> - name: Windows-post role
>> hosts: windows
>> gather_facts: no
>> roles:
>> - windows-post
>>
>>
>>
>> I presume that your vmware-windows role in the first play creates the
>> host group called "windows" that you use as the inventory in your second
>> play?
>>
>> Walter
>> --
>> Walter Rowe, Division Chief
>> Infrastructure Services, OISM
>> Mobile: 202.355.4123 <(202)%20355-4123>
>>
>> On Nov 9, 2022, at 5:30 PM, Christopher Bachmeyer <[email protected]>
>> wrote:
>>
>> Hey all,
>>
>> I have two roles that are included in my site.yml and the goal is to
>> execute the second role as soon as the first role completes. I have added
>> a task to generate a dynamic inventory in the first role that the second
>> role can use. I have a job Template in Ansible Tower and the first role
>> executes cleanly but job Template completes without the second role
>> executing.
>>
>> What am I missing?
>>
>> - name: VMware-windows create role
>> hosts: localhost
>> gather_facts: no
>> roles:
>> - vmware-windows
>>
>> vars_files:
>> - ./roles/vmware-windows/vars/{{ vc_location }}.yml
>> - ./roles/vmware-windows/vars/{{ network }}.yml
>>
>> - name: Windows-post role
>> hosts: windows
>> gather_facts: no
>> roles:
>> - windows-post
>>
>> Thanks!
>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/907f209c-2a3a-465e-95a3-ae82c8f27d0bn%40googlegroups.com
>>
>> <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2F907f209c-2a3a-465e-95a3-ae82c8f27d0bn%2540googlegroups.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=05%7C01%7Cwalter.rowe%40nist.gov%7C1b01356140424408fdae08dac32b73e0%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638036888634982696%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=U1qEShSYYOig1EjN%2B4PS46zxuZWIUgE3i2fpfXcpZQM%3D&reserved=0>
>> .
>>
>>
>>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/37e14367-deed-4287-9a3a-f549975a7498n%40googlegroups.com
>
> <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2F37e14367-deed-4287-9a3a-f549975a7498n%2540googlegroups.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=05%7C01%7Cwalter.rowe%40nist.gov%7C1b01356140424408fdae08dac32b73e0%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638036888634982696%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TxzPHEFfKruxvgbapzwvQxP6PD2Xx3Tg1w%2BA%2BQ7Asy0%3D&reserved=0>
> .
>
>
>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/771d6e38-413b-486a-9da0-d89fa190e924n%40googlegroups.com.