Matt,
Great, meta data is now correctly put into the api call..
However we still are having some problems. Sometimes the script goes faster
then the meta data becomes available:
fatal: [web6] => error while evaluating conditional:
rax_facts.ansible_facts.rax_metadata['rackconnect_automation_status']|default('')
== 'DEPLOYED'
We checked and the automation status metadata is not yet present and as such
the check fails.
Jurgen
On 04 Jun 2014, at 18:15, Matt Martz <[email protected]> wrote:
> PR #7122 has just been merged. It also includes a new module "rax_meta" for
> more easily allowing metadata updates on cloud servers.
>
> Both "rax" and "rax_meta" use the improved metadata normalization code.
>
>
> On Tue, Jun 3, 2014 at 6:26 PM, Matt Martz <[email protected]> wrote:
> That issue is fixed in another pull request which is waiting to be merged:
>
> https://github.com/ansible/ansible/pull/7122
>
> --
> Matt Martz
> [email protected]
>
> On June 3, 2014 at 6:22:59 PM, Jürgen Coetsiers
> ([email protected]) wrote:
>
>> Matt,
>>
>> tx this was of great help!
>>
>> We saw that wen adding the metadata for the LB Pools
>>
>> meta:
>> RackConnectLBPool: marlintest
>>
>> that strangely the name that is captured by the api is:
>>
>> u'marlintest' and as such the rackconnect script fails.
>>
>> I tried putting " around it but no luck
>>
>> Any ideas?
>>
>> Op dinsdag 3 juni 2014 18:52:07 UTC+2 schreef Matt Martz:
>> I have some sample plays that show how to wait for RackConnect automation
>> and the Managed Cloud automation to complete before moving on. I haven't
>> gotten around to adding it to the Rackspace guide, but hope to do so soon.
>>
>> You can see those sample playbooks:
>>
>> https://github.com/sivel/ansible-samples/tree/master/rackconnect
>>
>> In your specific case, the following lines are probably what you are in need
>> of
>> https://github.com/sivel/ansible-samples/blob/master/rackconnect/rackconnect-push-mode.yml#L49-L58
>>
>> On another note, you cannot call a module from within another module. So
>> your attempts at running set_fact inside of a local_action for rax_facts
>> just can't work.
>>
>>
>> On Tue, Jun 3, 2014 at 11:29 AM, Jürgen Coetsiers
>> <[email protected]> wrote:
>> Hi All,
>>
>> My Rackspace cloud servers are under managed services and under RackConnect
>> services. This means than when they are built, first 2 other scripts need to
>> run before I can actually use the server to provision it.
>>
>> The peculiar thing is that during the RackConnect script the public ip of
>> the server changes, so it in validates the data you "register" using the rax
>> module when adding a server.
>>
>> The fact is that we do not know precise when these build scripts have
>> finished running. The only way to figure it out is either through the
>> presence of a file in the servers /tmp directory or by querying the fact
>> data received through the rackspace api. It should have a NVP set in the
>> metatags field.
>>
>> So basically what I want to do is:
>>
>> - create cloud server
>> - poll factsdata until certain values are set
>> - provision the server
>>
>> The documentation of the rax_facts module does not provide a lot of info,
>> event when copying the sample is fails due to "{{ rax_accessipv4 }}" not
>> existing...
>>
>> So who can help me out here or me into the right direction?
>>
>> My current playbook:
>> - name: Wait for Rackspace Managed Service provisioning completion
>> hosts: raxtest
>> gather_facts: False
>> remote_user: root
>> tasks:
>> - name: Get meta data and check for completion of setup
>> local_action:
>> module: rax_facts
>> api_key: <hidden>
>> username: <hidden>
>> register: result
>> name: "{{ inventory_hostname }}"
>> set_fact: managed_done =
>> "{{rax_metadata.rax_service_level_automation}}"
>> set_fact: ansible_ssh_host = "{{ rax_accessipv4 }}"
>> until: managed_done = "Complete"
>> retries: 20
>> delay: 30
>>
>>
>>
>> --
>> 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/f64bc273-bb58-41d0-9879-91a4d2ecf3a3%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> Matt Martz
>> [email protected]
>> http://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/fd15d63d-ba20-4db3-b48b-ae36ce01d4e9%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Matt Martz
> [email protected]
> http://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/2358464B-8C96-4930-8F80-39E340FCF6EA%40tcsdigitalworld.com.
For more options, visit https://groups.google.com/d/optout.