yes

You loop over the ec2_instance task.
So, you will also need to loop over the result.

I think this should work:

- name: wait for instance creation to complete
async_status:
jid: "{{ item.ansible_job_id }}"
register: ec2_jobs
until: ec2_jobs.finished
retries: 300
loop: "{{ ec2.results }}"



On Tue, 8 Feb 2022 at 16:05, Tony Wong <[email protected]> wrote:

> hi,
>
> any idea why I keep getting this error when i run this asyn job?
>
> fatal: [localhost]: FAILED! => {
>     "ansible_job_id": "ec2.ansible_job_id",
>     "attempts": 1,
>     "changed": false,
>     "finished": 1,
>     "invocation": {
>         "module_args": {
>             "_async_dir": "/Users/tonywong/.ansible_async",
>             "jid": "ec2.ansible_job_id",
>             "mode": "status"
>         }
>     },
>     "msg": "could not find job",
>     "started": 1
> }
>
>
> ---------------------------------------------------------------------------
>
> ---
> - include_vars: vars/main.yml
> - name: create the ec2 instance
> ec2:
> assign_public_ip: no
> group_id: '{{ deploy_env.sg_group }}'
> instance_type: "{{ deploy_env.instance_type }}"
> image: "{{ deploy_env.image }}"
> wait: yes
> wait_timeout: 600
> count: 1
> region: "{{ deploy_env.region }}"
> vpc_subnet_id: "{{ deploy_env.vpc_subnet_id}}"
> private_ip: "{{ item.ip }}"
> register: ec2
> with_items: "{{ instances }}"
> loop: "{{ instances }}"
> async: 60
> poll: 0
>
> - name: wait for instance creation to complete
> async_status:
> jid: ec2.ansible_job_id
> register: ec2_jobs
> until: ec2_jobs.finished
> retries: 300
>
> On Tue, Jan 25, 2022 at 9:45 AM Tony Wong <[email protected]> wrote:
>
>>
>> Thank you. This works great.
>> On Monday, January 24, 2022 at 12:51:24 AM UTC-8 [email protected]
>> wrote:
>>
>>> Hii
>>>
>>>
>>> On Sun, 23 Jan 2022 at 16:01, Tony Wong <[email protected]> wrote:
>>> >
>>> > I am just trying to create 2 or more ec2 instances.
>>>
>>> Here you say 2
>>>
>>>
>>> >>> - name: create the ec2 instance
>>> >>>   ec2:
>>> >>>     assign_public_ip: no
>>> >>>     group_id: '{{ deploy_env.sg_group }}'
>>> >>>     instance_type: "{{ deploy_env.instance_type }}"
>>> >>>     image: "{{ deploy_env.image }}"
>>> >>>     wait: true
>>> >>>     wait_timeout: 600
>>> >>>     count: 10
>>>
>>> But here it says 10 are created.
>>>
>>> https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_module.html#parameter-count
>>>
>>> Assuming this is an oversight, this should work:
>>>
>>> - include_vars: vars/main.yml
>>>
>>> - name: create the ec2 instance
>>>
>>>   ec2:
>>>
>>>     assign_public_ip: no
>>>
>>>     group_id: '{{ deploy_env.sg_group }}'
>>>
>>>     instance_type: "{{ deploy_env.instance_type }}"
>>>
>>>     image: "{{ deploy_env.image }}"
>>>
>>>     wait: true
>>>
>>>     wait_timeout: 600
>>>
>>>     count: 1
>>>
>>>     region: "{{ deploy_env.region }}"
>>>
>>>     vpc_subnet_id: "{{ deploy_env.vpc_subnet_id}}"
>>>
>>>     private_ip: "{{ item.ip }}"
>>>
>>>     instance_tags:
>>>
>>>       Name: "{{ item.name }}"
>>>
>>>   loop: "{{ instances }}"
>>>
>>>
>>>
>>> And then in your vars file:
>>>
>>> deploy_env:
>>>
>>>   instance_type: t2.micro
>>>
>>>   image: ami-02d03ce209db75523
>>>
>>>   sg_group:
>>>
>>>     - "sg-057771872265bfda6"
>>>
>>>   region: us-west-1
>>>
>>>   vpc_subnet_id: subnet-0d9d37440a2265163
>>>
>>>
>>>
>>> instances:
>>>
>>>   - name: test1
>>>
>>>     ip: 10.10.1.10
>>>
>>>   - name: test2
>>>
>>>     ip: 10.10.1.12
>>>
>>>   - name: test43
>>>
>>>     ip: 10.10.1.77
>>>
>>>
>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/ansible-project/fsQdjZ1Ica8/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/3bbfe10d-61a4-4994-902f-56e117e218afn%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/3bbfe10d-61a4-4994-902f-56e117e218afn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CALmkhkroS%2BrO8yCizkvXCjF3XFACJyz%2BaW%3DNMRzjg2ZsEC%3DtfQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CALmkhkroS%2BrO8yCizkvXCjF3XFACJyz%2BaW%3DNMRzjg2ZsEC%3DtfQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Dick Visser
Trust & Identity Service Operations Manager
GÉANT

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAL8fbwN77uuQSCHOtWmXfKCaXEVvFMudN%2BrDJgrx5S%3DdvwJ32Q%40mail.gmail.com.

Reply via email to