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.
