Actually, I just played with this a bit more and registered the output of
the EC2 task that creates these instances. I've run through this a number
of times so the 1 instance already exists, but the output of my Ansible run
indicates that it thinks there are 2 instances. The following is the
registered output:
ok: [localhost] => {
"var": {
"app_var": {
"changed": false,
"msg": "All items completed",
"results": [
{
"changed": false,
"skipped": true
},
{
"changed": false,
"instance_ids": null,
"instances": [],
"invocation": {
"module_args": "",
"module_name": "ec2"
},
"item": {
"az": "us-west-1a",
"cidr": "10.1.2.0/24",
"id": "subnet-ecea39b5",
"resource_tags": {
"Name": "example-subnet-app"
}
},
"tagged_instances": [
{
"ami_launch_index": "0",
"architecture": "x86_64",
"dns_name": "",
"ebs_optimized": false,
"groups": {
"sg-3684fe53": "example-sg-app",
"sg-3c84fe59": "example-sg-access"
},
"hypervisor": "xen",
"id": "i-cb3fe479",
"image_id": "ami-df6a8b9b",
"instance_type": "c4.large",
"kernel": null,
"key_name": "example_key",
"launch_time": "2015-09-28T22:39:11.000Z",
"placement": "us-west-1a",
"private_dns_name":
"ip-10-1-2-63.us-west-1.compute.internal",
"private_ip": "10.1.2.63",
"public_dns_name": "",
"public_ip": null,
"ramdisk": null,
"region": "us-west-1",
"root_device_name": "/dev/sda1",
"root_device_type": "ebs",
"state": "running",
"state_code": 16,
"tags": {
"Environment": "prod",
"Name": "example-ec2-app",
"Subnet": "example-subnet-app",
"Type": "app",
"VPC": "example"
},
"tenancy": "default",
"virtualization_type": "hvm"
}
]
},
{
"changed": false,
"instance_ids": null,
"instances": [],
"invocation": {
"module_args": "",
"module_name": "ec2"
},
"item": {
"az": "us-west-1b",
"cidr": "10.1.3.0/24",
"id": "subnet-921486f7",
"resource_tags": {
"Name": "example-subnet-app"
}
},
"tagged_instances": [
{
"ami_launch_index": "0",
"architecture": "x86_64",
"dns_name": "",
"ebs_optimized": false,
"groups": {
"sg-3684fe53": "example-sg-app",
"sg-3c84fe59": "example-sg-access"
},
"hypervisor": "xen",
"id": "i-cb3fe479",
"image_id": "ami-df6a8b9b",
"instance_type": "c4.large",
"kernel": null,
"key_name": "example_key",
"launch_time": "2015-09-28T22:39:11.000Z",
"placement": "us-west-1a",
"private_dns_name":
"ip-10-1-2-63.us-west-1.compute.internal",
"private_ip": "10.1.2.63",
"public_dns_name": "",
"public_ip": null,
"ramdisk": null,
"region": "us-west-1",
"root_device_name": "/dev/sda1",
"root_device_type": "ebs",
"state": "running",
"state_code": 16,
"tags": {
"Environment": "prod",
"Name": "example-ec2-app",
"Subnet": "example-subnet-app",
"Type": "app",
"VPC": "example"
},
"tenancy": "default",
"virtualization_type": "hvm"
}
]
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
},
{
"changed": false,
"skipped": true
}
]
}
}
}
It appears to me that Ansible thinks 2 instances exist, but I only see one
in the AWS console.
On Thursday, October 8, 2015 at 11:23:50 AM UTC-7, Guy Knights wrote:
>
> I have a playbook that fires up some ec2 instances in multiple subnets
> using exact_count and count_tag to control how many instances are created.
> I'm using when to loop over the subnets I want to use - in this particular
> case, there are 2 subnets in different availability zones, and I want to
> create one instance in each AZ.
>
> The problem is that if I set exact_count to 1, ansible creates the first
> instance and then doesn't create the second instance in the second subnet
> as exact_count is already reached. If I change exact_count to 2, it will
> create 2 instances but they're in the same subnet. Basically, the loop is
> irrelevant.
>
> Is there any way around this issue?
>
> Thanks,
> Guy
>
--
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/cbcdf00e-1979-41b3-9a81-147dedf45df0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.