Closed AustinAMeyer closed 7 months ago
try including --runtime-platform ARM64 LINUX
or --runtime-platform ARM64 WINDOWS
Hello! Unfortunately, I have tried this and I get the below: Unknown parameter in input: "runtimePlatform", must be one of: family, taskRoleArn, executionRoleArn, networkMode, containerDefinitions, volumes, placementConstraints, requiresCompatibilities, cpu, memory, tags, pidMode, ipcMode, proxyConfiguration, inferenceAccelerators, ephemeralStorage
Hi Austin, please try to upgrade boto3 (the AWS SDK) via pip install --upgrade boto3
Does this solve it?
Best Fabian
Hello Fabian,
Unfortunately, that didn't seem to fix it either. I am running the ecs-deploy in a pipeline so it should always have the newest version. Here is what I am getting when I add that to my pipeline. I am still getting the same error unfortunately.
Requirement already up-to-date: boto3 in /usr/lib/python2.7/site-packages (1.17.112) Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in /usr/lib/python2.7/site-packages (from boto3) (0.10.0) Requirement already satisfied, skipping upgrade: s3transfer<0.5.0,>=0.4.0 in /usr/lib/python2.7/site-packages (from boto3) (0.4.2) Requirement already satisfied, skipping upgrade: botocore<1.21.0,>=1.20.112 in /usr/lib/python2.7/site-packages (from boto3) (1.20.112) Requirement already satisfied, skipping upgrade: futures<4.0.0,>=2.2.0; python_version == "2.7" in /usr/lib/python2.7/site-packages (from s3transfer<0.5.0,>=0.4.0->boto3) (3.4.0) Requirement already satisfied, skipping upgrade: python-dateutil<3.0.0,>=2.1 in /usr/lib/python2.7/site-packages (from botocore<1.21.0,>=1.20.112->boto3) (2.8.2) Requirement already satisfied, skipping upgrade: urllib3<1.27,>=1.25.4 in /usr/lib/python2.7/site-packages (from botocore<1.21.0,>=1.20.112->boto3) (1.26.15) Requirement already satisfied, skipping upgrade: six>=1.5 in /usr/lib/python2.7/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.21.0,>=1.20.112->boto3) (1.16.0)
Thanks, Austin
I usually use Fabian's Docker image.
$ docker run --rm fabfuel/ecs-deploy ecs --version
ecs-deploy, version 1.14.1
$ docker run --rm fabfuel/ecs-deploy ecs deploy ${CLUSTER_NAME} ${SERVICE_NAME} -t ${GIT_HASH_TAG} --no-deregister --timeout ${DEPLOY_TIMEOUT} --task sbx1-${SERVICE_NAME} --runtime-platform FAKEARCH LINUX
results in a task definitions with
"requiresCompatibilities": [
"FARGATE"
],
"runtimePlatform": {
"cpuArchitecture": "FAKEARCH",
"operatingSystemFamily": "LINUX"
},
the container doesn't start of course because of the invalid arch, but it confirms the value is passing through
Hi,
It looks like you are using Python 2? boto3 does not support Python 2 anymore, you are most likely using a two year old version (https://boto3.amazonaws.com/v1/documentation/api/1.17.44/guide/migrationpy3.html#:~:text=Timeline,end%20effective%20July%2015%2C%202021.) which does not support the runtime platform parameter.
What version of boto3 do you currently use?
Best Fabian
I assume this one is resolved?!
Hello,
I am having trouble with this not working with ARM in Fargate. Whenever I try to use ecs-deploy to try to deploy a task using ecs-deploy with my ARM tasks it just excludes the text from the json file for ARM. I have the command line I am using below as well.
my command line:
From my task definition: