mirror of https://github.com/ansible/ansible.git
[ecs_service] fix assign_public ip for network configuration (#41685)
* fix assign_public ip for ecs_service * used module.botocore_at_least instead of distutilspull/41689/head
parent
14598ab3e2
commit
5a72eef0a3
@ -0,0 +1,129 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
resource_prefix: 'ansible-testing'
|
||||
|
||||
tasks:
|
||||
- block:
|
||||
- name: set up aws connection info
|
||||
set_fact:
|
||||
aws_connection_info: &aws_connection_info
|
||||
aws_access_key: "{{ aws_access_key }}"
|
||||
aws_secret_key: "{{ aws_secret_key }}"
|
||||
security_token: "{{ security_token }}"
|
||||
region: "{{ aws_region }}"
|
||||
no_log: True
|
||||
|
||||
- name: create ecs cluster
|
||||
ecs_cluster:
|
||||
name: "{{ resource_prefix }}"
|
||||
state: present
|
||||
<<: *aws_connection_info
|
||||
|
||||
- name: create ecs_taskdefinition with bridged network
|
||||
ecs_taskdefinition:
|
||||
containers:
|
||||
- name: my_container
|
||||
image: ubuntu
|
||||
memory: 128
|
||||
family: "{{ resource_prefix }}"
|
||||
state: present
|
||||
network_mode: bridge
|
||||
<<: *aws_connection_info
|
||||
register: ecs_taskdefinition_creation
|
||||
|
||||
- name: create ecs_taskdefinition with awsvpc network
|
||||
ecs_taskdefinition:
|
||||
containers:
|
||||
- name: my_container
|
||||
image: ubuntu
|
||||
memory: 128
|
||||
family: "{{ resource_prefix }}-vpc"
|
||||
state: present
|
||||
network_mode: awsvpc
|
||||
<<: *aws_connection_info
|
||||
register: ecs_taskdefinition_creation_vpc
|
||||
|
||||
- name: ecs_taskdefinition works fine even when older botocore is used
|
||||
assert:
|
||||
that:
|
||||
- ecs_taskdefinition_creation_vpc.changed
|
||||
|
||||
- name: create ecs_service using awsvpc network_configuration
|
||||
ecs_service:
|
||||
name: "{{ resource_prefix }}-vpc"
|
||||
cluster: "{{ resource_prefix }}"
|
||||
task_definition: "{{ resource_prefix }}-vpc"
|
||||
desired_count: 1
|
||||
network_configuration:
|
||||
subnets:
|
||||
- subnet-abcd1234
|
||||
groups:
|
||||
- sg-abcd1234
|
||||
assign_public_ip: true
|
||||
state: present
|
||||
<<: *aws_connection_info
|
||||
register: ecs_service_creation_vpc
|
||||
ignore_errors: yes
|
||||
|
||||
- name: check that graceful failure message is returned from ecs_service
|
||||
assert:
|
||||
that:
|
||||
- ecs_service_creation_vpc.failed
|
||||
- 'ecs_service_creation_vpc.msg == "botocore needs to be version 1.8.4 or higher to use assign_public_ip in network_configuration"'
|
||||
|
||||
always:
|
||||
- name: scale down ecs service
|
||||
ecs_service:
|
||||
name: "{{ resource_prefix }}"
|
||||
cluster: "{{ resource_prefix }}"
|
||||
task_definition: "{{ resource_prefix }}"
|
||||
desired_count: 0
|
||||
state: present
|
||||
<<: *aws_connection_info
|
||||
ignore_errors: yes
|
||||
|
||||
- name: pause to wait for scale down
|
||||
pause:
|
||||
seconds: 30
|
||||
|
||||
- name: remove ecs service
|
||||
ecs_service:
|
||||
name: "{{ resource_prefix }}"
|
||||
cluster: "{{ resource_prefix }}"
|
||||
task_definition: "{{ resource_prefix }}"
|
||||
desired_count: 1
|
||||
state: absent
|
||||
<<: *aws_connection_info
|
||||
ignore_errors: yes
|
||||
|
||||
- name: remove ecs task definition
|
||||
ecs_taskdefinition:
|
||||
containers:
|
||||
- name: my_container
|
||||
image: ubuntu
|
||||
memory: 128
|
||||
family: "{{ resource_prefix }}"
|
||||
revision: "{{ ecs_taskdefinition_creation.taskdefinition.revision }}"
|
||||
state: absent
|
||||
<<: *aws_connection_info
|
||||
ignore_errors: yes
|
||||
|
||||
- name: remove ecs task definition vpc
|
||||
ecs_taskdefinition:
|
||||
containers:
|
||||
- name: my_container
|
||||
image: ubuntu
|
||||
memory: 128
|
||||
family: "{{ resource_prefix }}-vpc"
|
||||
revision: "{{ ecs_taskdefinition_creation_vpc.taskdefinition.revision }}"
|
||||
state: absent
|
||||
<<: *aws_connection_info
|
||||
ignore_errors: yes
|
||||
|
||||
- name: remove ecs cluster
|
||||
ecs_cluster:
|
||||
name: "{{ resource_prefix }}"
|
||||
state: absent
|
||||
<<: *aws_connection_info
|
||||
ignore_errors: yes
|
Loading…
Reference in New Issue