Sto creando un VPC in AWS utilizzando Ansible. Il seguente gioco è eseguitoImpossibile capire perché subnet viene aggiornata
- 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
La prima volta intorno a questo crea tutto perfettamente. La seconda volta, mi aspetto che non faccia nulla in quanto tutto è stato creato, tuttavia, la subnet pubblica viene aggiornata a una privata.
Perché? Che cosa sto facendo di sbagliato?
[UPDATE]
Qui ci sono le variabili:
---
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
Anche solo per chiarire su quale cambiamento che sta accadendo. Tutti i tag di risorse di una subnet (pubblica) vengono sovrascritti con i tag di un'altra sottorete (privata).
Dopo ulteriori indagini ho scoperto che una modifica al ec2_vpc.py causato questo accada. Sto indagando esattamente quale sia il problema, ma sembra che possa venire da questo commit https://github.com/ansible/ansible-modules-core/commit/f769305bd4e96893323a965e3fa7ed68ef7dd40a –
Hai dimenticato di includere le informazioni più importanti. Qual è la tua versione ansible? – helloV
Stava succedendo sul master. Stavo compilando dalla fonte. Per risolvere il problema nel frattempo, puoi puntare al ramo stabile 2.0.0.1. –