I'm trying to deploy to Elastic Beanstalk, specifically using CircleCI, and I ran into this error:
ERROR: UndefinedModelAttributeError - "serviceId" not defined in the metadata of the model: <botocore.model.ServiceModel object at 0x7fdc908efc10>
From my Google search, I see that it's a Python error which makes sense because that's what Elastic Beanstalk uses. But there is no information out there for this specific case. Does anyone know why this happens?
EBCLI 3.14.6 is compatible with the current latest AWS CLI (> 1.16.10).
To solve this issue:
Upgrade awsebcli to 3.14.5: Upgrade awsebcli to 3.14.6
pip install awsebcli --upgrade
OR
If you must continue using awsebcli < 3.14.5, perform:
pip install 'botocore<1.12'
The core of the problem is the open dependency range on botocore
that awsebcli < 3.14.5 allowed so that users can always have access to the latest AWS CLI commands/AWS APIs (botocore
manages AWS service models).
When botocore
released version 1.12, it created an incompatibility in the EBCLI. EBCLI 3.14.5 restricts the dependency on botocore
to < 1.12.
EDIT: As an aside, note that EBCLI 3.14.5 is incompatible with AWS CLI 1.16.10. Instead, use AWS CLI 1.16.9.
I just had the same error after installing awscli after awsebcli. The botocore dependencies are not matching. So if you want to use awsebcli commands make sure to not overwrite its dependencies:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With