You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I saw that the Docker image was recently updated and rebuilt, using python:3-alpine as the base image. Unfortunately, it looks like the latest Python container runs using Python 3.10, which might have broken a few things—specifically, Python 3.10 removes the Mappings class from the collections package, as highlighted in #714, and commands like test run now throw [ERROR ] : AttributeError module 'collections' has no attribute 'Mapping' when invoked from the container.
docker run \
-it \
--mount type=bind,source=/home/shahradr/action-taskcat/e2e/resources/default/,target=/mnt \
--entrypoint taskcat \
taskcat/taskcat:latest \
test run
Questions regarding the system under test
Questions
Answers
1. Are you testing a QuickStart or Custom template?
Custom template
2. Attach or link a copy of the template if possible (remove any sensitive info)
3. Provide the parameters that you passed. (remove any sensitive info)
test run
4. How did you install taskcat? (docker or pip3)
Docker
5. Are you using a profile, an instance role or access keys to run taskcat?
Access keys
6. Is your AWS environment configured via aws configure?
No
Expected behavior
taskcat should execute the test run command successfully, without throwing [ERROR ] : AttributeError module 'collections' has no attribute 'Mapping'
Screenshots
Version
Application
Version
taskcat
0.9.30
Python
3.10.4
Additional context
This issue was initially flagged in ShahradR/action-taskcat#298—I was installing some Node.js packages on top of the taskcat/taskcat:latest image to support the taskcat GitHub Action, which caused the container build to fail.
The text was updated successfully, but these errors were encountered:
Hello taskcat team!
I saw that the Docker image was recently updated and rebuilt, using
python:3-alpine
as the base image. Unfortunately, it looks like the latest Python container runs using Python 3.10, which might have broken a few things—specifically, Python 3.10 removes the Mappings class from thecollections
package, as highlighted in #714, and commands liketest run
now throw[ERROR ] : AttributeError module 'collections' has no attribute 'Mapping'
when invoked from the container.One fix might be to update the Dockerfile's parent image and pin the version to a specific release of Python and Alpine—I've updated the taskcat GitHub Action to use the
python:3.8.13-alpine3.15
image to get people's pipelines working again, and it seems to be doing the trick!To reproduce
Steps to reproduce the behavior:
docker pull taskcat/taskcat:latest
taskcat test run
against the Docker container by running the command in the section below[ERROR ] : AttributeError module 'collections' has no attribute 'Mapping'
Command to invoke the Docker container
The following command was used to run taskcat in the Docker container. The mount path points to a test directory in the action-taskcat project, which contains a CloudFormation template that never creates any resources.
Questions regarding the system under test
test run
Expected behavior
taskcat should execute the
test run
command successfully, without throwing[ERROR ] : AttributeError module 'collections' has no attribute 'Mapping'
Screenshots
Version
Additional context
This issue was initially flagged in ShahradR/action-taskcat#298—I was installing some Node.js packages on top of the
taskcat/taskcat:latest
image to support the taskcat GitHub Action, which caused the container build to fail.The text was updated successfully, but these errors were encountered: