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.

-- 
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/etPan.538e59b6.6b8b4567.12323%40mobiletuvix.rackspace.corp.
For more options, visit https://groups.google.com/d/optout.

Reply via email to