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
>>> <https://groups.google.com/d/msgid/ansible-project/f64bc273-bb58-41d0-9879-91a4d2ecf3a3%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> 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
> <https://groups.google.com/d/msgid/ansible-project/fd15d63d-ba20-4db3-b48b-ae36ce01d4e9%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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/CAD8N0v_ARj%2BCjYDELW%3D0DmEKSSQcKVANNU%2B4U3OerWyYHtFBDA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to