ECE v3.6.2 installation failure: client version 1.23 is too old. Minimum supported API version is 1.24

Hi All!

I have recently started getting this error, last week(3rd week Jan 2024) all was working fine.
Same error with 3.6.0 as well.

The output is this:

$ bash elastic-cloud-enterprise.sh install --cloud-enterprise-version 3.6.2 --availability-zone zone1 --host-ip $(/usr/sbin/ip route get 1 | awk '{print $(NF-2);exit}')

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elastic Cloud Enterprise Installer 

Start setting up a new Elastic Cloud Enterprise installation by installing the software on your first host. 
This first host becomes the initial coordinator and provides access to the Cloud UI, where you can manage your installation. 
To learn more about the options you can specify, see the documentation. 

NOTE: If you want to add this host to an existing installation, please specify the --coordinator-host and --roles-token flags
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

-- Verifying Prerequisites --
Checking runner container does not exist... PASSED
Checking host storage root volume path is not root... PASSED
Checking host storage path is accessible... PASSED
Checking host storage path contents matches whitelist... PASSED
Checking Docker version... PASSED
Checking Docker SELinux support... PASSED
Checking Docker file system... PASSED
Checking Docker network settings... PASSED
Checking Docker storage driver... PASSED
Checking whether 'setuser' works inside a Docker container... PASSED
Checking memory settings... PASSED
 - Option `--memory-settings` not used. Default memory settings might be insufficient for production use!
Checking runner ip connectivity... PASSED
Checking OS IPv4 IP forward setting... PASSED
Checking metadata endpoint protection... PASSED
 - The installation can proceed with 169.254.169.254 accessible; however we consider this a SSRF risk and recommend adjusting your firewall rules to prevent access from docker containers.
Checking OS max map count setting... PASSED
Checking OS kernel version... PASSED
Checking minimum required memory... PASSED
Checking OS kernel cgroup.memory... PASSED
Checking OS minimum ephemeral port... PASSED
Checking OS max open file descriptors per process... PASSED
Checking OS max open file descriptors system-wide... PASSED
Checking OS file system and Docker storage driver compatibility... PASSED
Checking OS file system storage driver permissions... PASSED
Checking OS AppArmor status... PASSED
Checking OS SELinux status... PASSED
-- Completed Verifying Prerequisites -- 

- Running Bootstrap container

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Errors have caused Elastic Cloud Enterprise installation to fail
400 Client Error: Bad Request ("b'client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version'")

The command what is executed in the back(truncated):

docker -H unix:///var/run/docker.sock run --env 'RUNNER_ENVIRONMENT_METADATA_JSON={}' ... --env CLOUD_ENTERPRISE_VERSION=3.6.2 --env ENABLE_DEBUG_LOGGING=true --env DOCKER_REGISTRY=docker.elastic.co --env LATEST_VERSIONS_DOCKER_NAMESPACE=cloud-release --env LATEST_STACK_PRE_RELEASE= --env PREVIOUS_VERSIONS_DOCKER_NAMESPACE=cloud-assets --env PREVIOUS_STACK_PRE_RELEASE=-0 --env ECE_DOCKER_REPOSITORY=cloud-enterprise ... -v /mnt/data/elastic:/mnt/data/elastic --name elastic-cloud-enterprise-installer --rm -i --tty docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise:3.6.2 elastic-cloud-enterprise-installer

Resulting:

Errors have caused Elastic Cloud Enterprise installation to fail
400 Client Error: Bad Request ("b'client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version'")
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/docker/api/client.py", line 259, in _raise_for_status
    response.raise_for_status()
  File "/usr/local/lib/python3.6/site-packages/requests/models.py", line 941, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http+docker://localhost/v1.23/containers/create?name=elastic-cloud-enterprise-bootstrap

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/elastic_cloud_apps/bootstrap-initiator/initiator.py", line 90, in <module>
    bootstrap_container_id = docker.run_bootstrap_container(bootstrap_properties)
  File "/elastic_cloud_apps/bootstrap-initiator/bootstrap_initiator/docker.py", line 53, in run_bootstrap_container
    'containerhost': bootstrap_properties['RUNNER_HOST_IP']
  File "/usr/local/lib/python3.6/site-packages/docker/api/container.py", line 430, in create_container
    return self.create_container_from_config(config, name)
  File "/usr/local/lib/python3.6/site-packages/docker/api/container.py", line 441, in create_container_from_config
    return self._result(res, True)
  File "/usr/local/lib/python3.6/site-packages/docker/api/client.py", line 265, in _result
    self._raise_for_status(response)
  File "/usr/local/lib/python3.6/site-packages/docker/api/client.py", line 261, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/local/lib/python3.6/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 400 Client Error: Bad Request ("b'client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version'")

Looks like the image has the old version of python agent 1.23.

$ docker image ls
REPOSITORY                                                    TAG       IMAGE ID       CREATED        SIZE
docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise   3.6.2     fef2b46c4600   2 months ago   2.19GB

Is this only for me?

Ahh okey I found it:

If you have docker installed, the latest, the docker-ce 25.0 deprecates clients below 1.24.

So or install docker-ce v24 or wait for elastic fixes the docker images.

Docker-ce:Deprecated Engine Features | Docker Docs

It says:

Docker Engine v25.0 by default disables API version older than 1.24 (aligning the minimum supported API version between Linux and Windows daemons). When connecting with a client that uses an API version version older than 1.24, the daemon returns an error. The following example configures the docker CLI to use API version 1.23, which produces an error:

DOCKER_API_VERSION=1.23 docker version
Error response from daemon: client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version

If somebody comes here will know it :smiley:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.