ecs_taskdefinition module not creating new revision

565 views
Skip to first unread message

Niko Ruotsalainen

unread,
Jun 30, 2016, 12:38:14 PM6/30/16
to Ansible Project
Hi,

I'm trying to use ecs_taskdefinition module to create task definitions to ECS.


---

- hosts: localhost
 
tasks:
    - name: "Create task definition"
      ecs_taskdefinition:
        containers:
        - name: simple-app
         
cpu: 10
         
essential: true
         
image: "httpd:2.4"
          memory: 300
         
mountPoints:
          - containerPath: /usr/local/apache2/htdocs
           
sourceVolume: my-vol
         
portMappings:
          - containerPort: 80
           
hostPort: 80
       
- name: busybox
         
command:
            - "echo 'LOL'"
          cpu: 10
         
entryPoint:
          - sh
         
- "-c"
          essential: false
         
image: busybox
         
memory: 200
         
volumesFrom:
          - sourceContainer: simple-app
       
volumes:
        - name: my-vol
       
family: test-cluster-taskdef
       
state: present
     
register: task_output

   
- debug: var=task_output

And output is:

$ ansible-playbook playbooks/create-ecs-taskdefinition.yml

PLAY [localhost] ***************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [Create task definition] **************************************************
ok: [localhost]

TASK [debug] *******************************************************************
ok: [localhost] => {
    "task_output": {
        "changed": false,
        "taskdefinition": {
            "containerDefinitions": [
                {
                    "cpu": 10,
                    "environment": [],
                    "essential": true,
                    "image": "httpd:2.4",
                    "memory": 300,
                    "mountPoints": [
                        {
                            "containerPath": "/usr/local/apache2/htdocs",
                            "sourceVolume": "my-vol"
                        }
                    ],
                    "name": "simple-app",
                    "portMappings": [
                        {
                            "containerPort": 80,
                            "hostPort": 80,
                            "protocol": "tcp"
                        }
                    ],
                    "volumesFrom": []
                },
                {
                    "command": [
                        "echo 'LOL'"
                    ],
                    "cpu": 10,
                    "entryPoint": [
                        "sh",
                        "-c"
                    ],
                    "environment": [],
                    "essential": false,
                    "image": "busybox",
                    "memory": 200,
                    "mountPoints": [],
                    "name": "busybox",
                    "portMappings": [],
                    "volumesFrom": [
                        {
                            "sourceContainer": "simple-app"
                        }
                    ]
                }
            ],
            "family": "test-cluster-taskdef",
            "revision": 1,
            "status": "ACTIVE",
            "taskDefinitionArn": "arn:aws:ecs:eu-west-1:123456789012:task-definition/test-cluster-taskdef:1",
            "volumes": [
                {
                    "host": {},
                    "name": "my-vol"
                }
            ]
        }
    }
}

PLAY RECAP *********************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=0

So far all good. But when I run script again, it does not create new revision of task definition what I would expect to happen and output is exactly the same. Am I missing something or is this some kind of bug?

$ ansible --version
ansible 2.1.0.0

I also tried creating task definition with AWS CLI and it work as expected. Second run create new revision of task definition. So thats why I'm asking this question here.

BR,
Niko

Gallo

unread,
Oct 5, 2016, 4:10:50 PM10/5/16
to Ansible Project
Did you find an answer im having the same issue. 

Brian Jackson

unread,
Nov 22, 2016, 6:56:01 PM11/22/16
to Ansible Project
If nothing has changed on the second run then it's behaving correctly. I'm have a related problem (which lead me to this thread) where I do change the definition in the playbook but Ansible doesn't create a new revision.  In my case I'm updating the tag in the image. In your example I'd be updating
image: "http:2.4"
to 
image: "http:2.5"

Has anyone else seen this issue before?

Chaminda Delpagodage

unread,
Apr 25, 2017, 1:39:13 AM4/25/17
to Ansible Project
I'm having the same issue. Updating the image URL, or even updating a volume name doesn't create a new revision. Appreciate any pointers.

Thanks

Saurabh Agrawal

unread,
Aug 7, 2019, 10:46:33 AM8/7/19
to Ansible Project
does anyone have a solution for this issue? I could not able to register a new version of the task definition.
Reply all
Reply to author
Forward
0 new messages