Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade minimum docker client api to 1.24 to maintain compatibility with upcoming docker engine v26 release #4090

Closed
frehov opened this issue Feb 8, 2024 · 3 comments

Comments

@frehov
Copy link

frehov commented Feb 8, 2024

Summary

This has already been posted over on aws/containers-roadmap#1437

Please consider upgrading the minimum client api to version 1.24, as specified in the release of docker engine v25 as the minimum supported client api version will be 1.24 from the release of docker engine v26.

If the release is anything to go by, docker engine v26 would probably be release in the next 6-8 months.

Starting with docker engine v25, ecs-anywhere installs will start to fail silently unless the environment variable DOCKER_MIN_API_VERSION is set for the service.

Support for API versions lower than 1.24 will be permanently removed in Docker Engine v26, and the minimum supported API version will be incrementally raised in releases following that.

ref: https://docs.docker.com/engine/deprecated/#deprecate-legacy-api-versions

@frehov
Copy link
Author

frehov commented Feb 8, 2024

and it was supposedly fixed in ecs-agent 1.81.0 https://github.com/aws/amazon-ecs-agent/releases/tag/v1.81.0

however, this issue #4089 is preventing us from upgrading to 1.81.0

aws/containers-roadmap#2267

@prateekchaudhry
Copy link
Contributor

Hi @frehov , thanks for reaching out, I understand the main issue we are seeing here is #4089 , the fix for which is live with latest release. Please re-open if there are further questions.

@rClark-qubeyond
Copy link

I think there are multiple problems here:
agent v1.80 had the incompatibility with Docker v25 when they forced the DOCKER_MIN_API_VERSION to be used, which was fixed in v1.81.
Now, with docker-ce v26, this setting no longer is accepted and the previous guidance of DOCKER_MIN_API_VERSION=1.17 pre ecs-agent 1.81.0 from #4074 (comment) prevents docker-ce v26 from starting all:

-- A start job for unit docker.service has begun execution.
--
-- The job identifier is 1779.
Mar 25 17:23:16 ubuntu20 dockerd[39706]: invalid DOCKER_MIN_API_VERSION: minimum supported API version is 1.24: 1.17
Mar 25 17:23:16 ubuntu20 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit docker.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
Mar 25 17:23:16 ubuntu20 systemd[1]: docker.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit docker.service has entered the 'failed' state with result 'exit-code'.
Mar 25 17:23:16 ubuntu20 systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: A start job for unit docker.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit docker.service has finished with a failure.
--
-- The job identifier is 1779 and the job result is failed.

This is a problem, because ECS itself is still requiring from task defs:

    "requiresAttributes": [
        {
            "name": "com.amazonaws.ecs.capability.ecr-auth"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
        },
        {
            "name": "ecs.capability.docker-plugin.local"
        },
        {
            "name": "ecs.capability.container-ordering"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
        }
    ],

So it's just not possible to upgrade docker-ce at all past 25.0.5 and maintain compatibility with ECS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants