Opened two github issues:

   - https://github.com/ansible/ansible/issues/8131
   - https://github.com/ansible/ansible/issues/8132
   

On Monday, July 14, 2014 3:09:21 PM UTC-4, Michael DeHaan wrote:
>
> Yep, I think we'd be open to that.
>
>
>
>
> On Mon, Jul 14, 2014 at 1:07 PM, Kurt Yoder <[email protected] 
> <javascript:>> wrote:
>
>> To answer your other question about neutron: I use "quantum_floating_ip" 
>> to assign IPs on Openstack.
>>
>> It would be very useful if these API calls could also be parallelized. I 
>> imagine a lot more time would be spent on 100 serial API calls than doing 
>> them in parallel.
>>
>> -Kurt
>>
>>
>> On Monday, July 14, 2014 10:16:13 AM UTC-4, Kurt Yoder wrote:
>>>
>>> There's an undocumented min_count and max_count option in 
>>> python-novaclient ServerManager.create() which looks like what you want [1].
>>>
>>> -Kurt
>>>
>>>
>>> [1] https://github.com/openstack/python-novaclient/blob/
>>> cc7364067f995bd952149cd172cebf083fe4dc99/novaclient/v3/servers.py#L427
>>>
>>>
>>> On Friday, July 11, 2014 9:50:10 PM UTC-4, Michael DeHaan wrote:
>>>>
>>>> "So should I make a custom module which loops over nova_compute 
>>>> asynchronously, and also assigns floating IPs?"
>>>>
>>>> I'd first rather know where the openstack API allows simultaneous 
>>>> creation of N virtual machines of the same image type.
>>>>
>>>> I expect the floating IP stuff is fast and a usual with_items loop 
>>>> isn't a problem there, once those guests exist.
>>>>
>>>> (Using neutron, I assume?)
>>>>
>>>>
>>>> On Fri, Jul 11, 2014 at 6:54 PM, Kurt Yoder <[email protected]> 
>>>> wrote:
>>>>
>>>>> So should I make a custom module which loops over nova_compute 
>>>>> asynchronously, and also assigns floating IPs?
>>>>>
>>>>> Would such a module be useful to the wider community, or is it too 
>>>>> specialized to contribute back?
>>>>>
>>>>> On Friday, July 11, 2014 6:34:47 PM UTC-4, Michael DeHaan wrote:
>>>>>
>>>>>> So some of the provisioning modules, like AWS in particular, support 
>>>>>> spinning up "N" modules at a time by passing "count" or "exact_count".
>>>>>>
>>>>>> Rackspace I believe does this with manual looping (for now), but I 
>>>>>> could be wrong and that might have just been historical truth.
>>>>>>
>>>>>> If the OpenStack API says we can launch 10 at once, it could be made 
>>>>>> to do similar things.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jul 11, 2014 at 5:28 PM, Kurt Yoder <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>>>> I guess that error is because I put a "with_items" in there.
>>>>>>>
>>>>>>> How does everyone else do this? I don't understand how to loop 
>>>>>>> asynchronously. See pseudo-code:
>>>>>>>
>>>>>>> < start all 5 at once: >
>>>>>>>    < start up openstack host >
>>>>>>>    < assign it a floating ip >
>>>>>>>    < capture the floating ip >
>>>>>>> < end when all 5 have a floating ip >
>>>>>>> < wait for all 5 floating IPs to have an open SSH port >
>>>>>>>
>>>>>>> On Friday, July 11, 2014 5:20:34 PM UTC-4, Kurt Yoder wrote:
>>>>>>>>
>>>>>>>> Well, "async" is totally a bust. I got a message:
>>>>>>>>
>>>>>>>> fatal: [localhost] => lookup plugins (with_*) cannot be used with 
>>>>>>>> async tasks
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thursday, July 10, 2014 6:17:48 PM UTC-4, Kurt Yoder wrote:
>>>>>>>>>
>>>>>>>>> Hello list,
>>>>>>>>>
>>>>>>>>> I anticipate provisioning 10-20 VMs using Ansible, then assigning 
>>>>>>>>> floating IPs to each, then waiting for SSH to become available for 
>>>>>>>>> each VM. 
>>>>>>>>> I would like to do this in parallel instead of serially. Specifically:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    - Start the VMs, but don't block
>>>>>>>>>    - Assign the IPs, but don't block
>>>>>>>>>    - Wait on SSH until all VMs respond
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I saw the nova_compute "wait: 'no'" option, but when I use it I 
>>>>>>>>> get a stack trace:
>>>>>>>>>
>>>>>>>>> failed: [localhost] => (item=1) => {"failed": true, "item": 1, 
>>>>>>>>>> "parsed": false}
>>>>>>>>>> invalid output was: Traceback (most recent call last):
>>>>>>>>>>   File "/home/ubuntu/.ansible/tmp/ansible-tmp-1405028178.0-
>>>>>>>>>> 234314980043958/nova_compute", line 1490, in <module>
>>>>>>>>>>     main()
>>>>>>>>>>   File "/home/ubuntu/.ansible/tmp/ansible-tmp-1405028178.0-
>>>>>>>>>> 234314980043958/nova_compute", line 266, in main
>>>>>>>>>>     _create_server(module, nova)
>>>>>>>>>>   File "/home/ubuntu/.ansible/tmp/ansible-tmp-1405028178.0-
>>>>>>>>>> 234314980043958/nova_compute", line 194, in _create_server
>>>>>>>>>>     private = [ x['addr'] for x in getattr(server, 
>>>>>>>>>> 'addresses').itervalues().next() if x['OS-EXT-IPS:type'] == 
>>>>>>>>>> 'fixed']
>>>>>>>>>> StopIteration
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Perhaps I'm using it incorrectly:
>>>>>>>>>
>>>>>>>>> - name: Launch cluster VM on Openstack
>>>>>>>>>>   nova_compute:
>>>>>>>>>>     name: "{{ os_username }}_cluster1"
>>>>>>>>>>     state: present
>>>>>>>>>>     login_username: "{{ os_username }}"
>>>>>>>>>>     login_tenant_name: "{{ os_tenant }}"
>>>>>>>>>>     login_password: "{{ os_password }}"
>>>>>>>>>>     image_id: "{{ os_image_id }}"
>>>>>>>>>>     key_name: "{{ os_username }}_controller_key"
>>>>>>>>>>     wait: "no"
>>>>>>>>>>     flavor_id: "{{ os_flavor_id }}"
>>>>>>>>>>     auth_url: "{{ os_url }}"
>>>>>>>>>>     user_data: "#cloud-config\nmanage_etc_hosts: true"
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> So, two questions:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    1. Am I using "wait" correctly?
>>>>>>>>>    2. Should I use "wait" to get to my desired parallel VM 
>>>>>>>>>    launch, as described above, or should I use something else, e.g. 
>>>>>>>>> "async"? 
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> -Kurt
>>>>>>>>>
>>>>>>>>  -- 
>>>>>>> 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/32b58cdf-
>>>>>>> 17cd-42c9-8ef6-dc90327e989a%40googlegroups.com 
>>>>>>> <https://groups.google.com/d/msgid/ansible-project/32b58cdf-17cd-42c9-8ef6-dc90327e989a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>> 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/2326c06a-dec5-43b2-bd22-
>>>>> bb6856d14227%40googlegroups.com 
>>>>> <https://groups.google.com/d/msgid/ansible-project/2326c06a-dec5-43b2-bd22-bb6856d14227%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/a1fc1c1c-a6ca-42ab-8296-a83bf447d2c2%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/a1fc1c1c-a6ca-42ab-8296-a83bf447d2c2%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> 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/21bb9dba-6dc6-4ad6-95ed-8a99898ac953%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to