hackoregon / civic-devops

Master collection point for issues, procedures, and code to manage the HackOregon Civic platform
MIT License
11 stars 4 forks source link

InvalidParameterException: Task definition does not support launch_type FARGATE #268

Open MikeTheCanuck opened 4 years ago

MikeTheCanuck commented 4 years ago

We've discovered (again) that when deploying a new build of code from 2018 API services through Travis to ECS, they will fail if they're using a pre-PR-129 build of the ecs-deploy.sh script that we've relied on since 2017.

When deploying a new container image build via the old script, a result like the following occurs:

latest: digest: sha256:4b2a5b42273a39cfd89579b443f0e4ba4110abba3447175fca18f81f0c2af790 size: 3685
Using image name: 845828040396.dkr.ecr.us-west-2.amazonaws.com/production/[secure]-service:latest
Current task definition: arn:aws:ecs:us-west-2:845828040396:task-definition/[secure]-service:108
New task definition: arn:aws:ecs:us-west-2:845828040396:task-definition/[secure]-service:109
An error occurred (InvalidParameterException) when calling the UpdateService operation: Task definition does not support launch_type FARGATE.
Done. Your build exited with 0.

We discovered again (but should've remembered and tracked this problem) that the ecs-deploy.sh script used by Travis via each container repo's scripts needs to be updated to a more recent version than the pre-PR-129 code that we'd previously been using, since that PR is what added support for Fargate.

The current standard version of this script - the one being used by all 2019 API services - is here: https://github.com/hackoregon/deploy-scripts/blob/master/scripts/deploy/ecs-deploy.sh

We can and will copy and PR this script into the 2018 and 2017 API repos as part of their migrations to Fargate.