Ich erstelle eine VPC in AWS mit Ansible. Das folgende Spiel wird ausgeführtIch kann nicht herausfinden, warum Subnetz aktualisiert wird
- name: create vpc with multi-az subnets
ec2_vpc:
region: "{{ region }}"
cidr_block: "{{ vpc_cidr_block }}"
resource_tags: '{"Name":"{{ prefix }}_vpc"}'
subnets:
- cidr: "{{ vpc_cidr_subnet_public_0 }}"
az: "{{ region }}{{ availability_zone_0 }}"
resource_tags: '{"Name":"{{ prefix }}_subnet_public_0", "Class":"web", "Partner":prefix }'
- cidr: "{{ vpc_cidr_subnet_private_0 }}"
az: "{{ region }}{{ availability_zone_0 }}"
resource_tags: '{"Name":"{{ prefix }}_subnet_private_0", "Class":"db", "Partner":prefix }'
- cidr: "{{ vpc_cidr_subnet_private_1 }}"
az: "{{ region }}{{ availability_zone_1 }}"
resource_tags: '{"Name":"{{ prefix }}_subnet_private_1", "Class":"db", "Partner":prefix }'
internet_gateway: yes
route_tables:
- subnets:
- "{{ vpc_cidr_subnet_public_0 }}"
routes:
- dest: 0.0.0.0/0
gw: igw
wait: yes
register: vpc
Zum ersten Mal erstellt das alles perfekt. Beim zweiten Mal erwarte ich, dass es nichts tut, da alles erstellt wurde, jedoch wird das öffentliche Teilnetz auf ein privates Teil aktualisiert.
Warum? Was mache ich falsch?
[UPDATE]
Hier sind die Variablen:
---
region: eu-west-1
prefix: staging
vpc_environment: staging
vpc_cidr_block: 20.0.0.0/16
vpc_cidr_subnet_public_0: 20.0.0.0/24
vpc_cidr_subnet_private_0: 20.0.1.0/24
vpc_cidr_subnet_private_1: 20.0.2.0/24
availability_zone_0: b
availability_zone_1: c
auch nur auf zu klären, was Veränderung geschieht. Alle Ressourcen-Tags des einen Subnetzes (öffentlich) werden mit den Tags eines anderen Subnetzes (privat) überschrieben.
Nach einer weiteren Untersuchung habe ich festgestellt, dass eine Änderung der ec2_vpc.py dies geschehen verursacht. Ich untersuche genau, was das Problem ist, aber es sieht so aus, als ob es von diesem Commit kommen könnte https://github.com/ansible/ansible-modules-core/commit/f769305bd4e96893323a965e3fa7ed68ef7dd40a –
Sie vergessen, die wichtigsten Informationen aufzunehmen. Was ist Ihre mögliche Version? – helloV
Das geschah auf Master. Ich kompilierte aus der Quelle. Um das Problem in der Zwischenzeit zu beheben, können Sie auf den stabilen Zweig 2.0.0.1 verweisen. –