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

Reply via email to