To get facts about new machines that you would otherwise have from the
rax.py inventory, you can use the 'rax_facts' module in your next play
targeting your in memory group.

There are a few examples in http://docs.ansible.com/guide_rax.html

On Mon, Jan 19, 2015 at 10:34 AM, Dan Rough <[email protected]> wrote:

> Hi,
>
> Thanks for your response Tom, it got me further down the path but I'm
> running into problems elsewhere.
>
> Though adding the hosts to the in memory inventory using add_host, when I
> want to refer to certain facts about the machines later, I can't seem to
> get some of the rax facts that would otherwise be present.
>
> I've put in an additional play, the sole responsibility of which is to
> gather facts for the servers in inventory.
>
> This is still returning an error, because a attribute doesn't exist within
> a dictionary object - interestingly though for a variable I'm not
> attempting to use.
>
> Has anyone else come across this issue themselves?
>
> I'm more or less hitting the point that I'll have to revert my approach to
> this, and go with separate playbooks.
>
> Dan.
>
> On Fri Jan 16 2015 at 7:13:55 PM Dan Rough <[email protected]> wrote:
>
>> I had literally just come to that same realisation Tom - it's god that
>> you spotted it too. I'll make some changes and report back. Thanks!
>>
>>
>> On Friday, 16 January 2015 19:11:34 UTC, Tom Bamford wrote:
>>
>>> Hi Dan
>>>
>>> I see when you are invoking the add_host module from line 132 onwards in
>>> roles/infrastructure/tasks/main.yml, you add them to differently named
>>> groups than you otherwise reference from dynamic inventory. What happens if
>>> you add them to the same group names with add_host?
>>>
>>> Regards
>>> Tom
>>>
>>> On 16 January 2015 at 19:19, Dan Rough <[email protected]> wrote:
>>>
>> Hi there,
>>>>
>>>> I'd like to understand how I can access a set of newly created
>>>> rackspace servers using the group names that I specified at the point of
>>>> creation.
>>>>
>>>> At the moment, parts of my playbook are being ignored because the
>>>> groups the new servers are added to at the point of creation are not being
>>>> retrieved, even when I explicitly force a gather_facts.
>>>>
>>>> If I run the play book a second time, the inventory correctly returns
>>>> the group information for the servers that were previously created. I can
>>>> see because of this that there is no error in the way they're being
>>>> created. Note: we're using pyrax to give us a dynamic inventory.
>>>>
>>>> This gist shows the playbook file, and also the infrastructure role
>>>> which is called: https://gist.github.com/danrough/e0c8627dbc7b2153d983
>>>>
>>>> In playbook.yml, the infrastructure role (the other file included in
>>>> the Gist) is called and the servers are created. When they're created, the
>>>> servers are added to host groups using a defined naming pattern, so that
>>>> they can be referred to later.
>>>>
>>>> After the servers have been created, a post-creation role is run
>>>> against them which essentially adds some users and locks down SSH. All is
>>>> well up until this point.
>>>>
>>>> At line 14 in the playbook.yml file, I want to be able to access the
>>>> servers using the group information I specified when the servers were
>>>> created. This doesn't work. On subsequent runs of the playbook, it does. I
>>>> assume that this is because the facts for the servers haven't been
>>>> re-cached.
>>>>
>>>> If I split the playbook into two separate files, the facts are gathered
>>>> and I can access the servers. However, I need to keep this playbook as one
>>>> complete file, as there as some plays (lines 103 onwards in playbook.yml)
>>>> that I only want to run if the relevant servers have been created.
>>>>
>>>> I've tried adding in a play which explicitly forces ansible to gather
>>>> facts after the current line 12, by doing the following:
>>>>
>>>> - hosts: "{{ target_environment }}"
>>>>   gather_facts: true
>>>>
>>>> but this still isn't helping. What am I missing here?
>>>>
>>>> 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 post to this group, send email to [email protected].
>>>
>>>
>>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>>> gid/ansible-project/e6aa32fd-c7a7-484a-9c7f-1c0cc4e50584%
>>>> 40googlegroups.com
>>>> <https://groups.google.com/d/msgid/ansible-project/e6aa32fd-c7a7-484a-9c7f-1c0cc4e50584%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/
>> topic/ansible-project/mvLHsE2lLCE/unsubscribe.
>> To unsubscribe from this group and all its topics, 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/5e538f6c-688b-4e7f-95f6-
>> ca4f53dedf7e%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/5e538f6c-688b-4e7f-95f6-ca4f53dedf7e%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>  --
> 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/CALWgV5ZwXmcO%2BBQV4m0z_u9uZr6UggsV8NeirH38Unju_nz3UA%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CALWgV5ZwXmcO%2BBQV4m0z_u9uZr6UggsV8NeirH38Unju_nz3UA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Matt Martz
@sivel
sivel.net

-- 
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/CAD8N0v93JGDPkW8-apXAOfUG9TtYS5WPtNnH70LytZZacy21Tg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to