What happened?
When attempting to install the specified version of the containerd.io package on Ubuntu 24.04, the system fails to locate the package automatically. This appears to be an issue with Kubespray on Ubuntu.
What did you expect to happen?
The installation and deployment of containerd.io completed successfully.
How can we reproduce it (as minimally and precisely as possible)?
It is necessary to append the version suffix to the containerd.io parameter in the file roles/container-engine/docker/vars/ubuntu.yml.
Example:
Original configuration:
containerd_versioned_pkg:
'1.7.27': "{{ containerd_package }}=1.7.27-1"
containerd_versioned_pkg:
'1.7.27': "{{ containerd_package }}=1.7.27-1ubuntu.{{ ansible_distribution_version }}{{ ansible_distribution_release | lower }}"
OS
Ubuntu 24
Version of Ansible
ansible --version
ansible [core 2.17.14]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.12/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.12.3 (main, Mar 23 2026, 19:04:32) [GCC 13.3.0] (/usr/bin/python)
jinja version = 3.1.6
libyaml = True
Version of Python
3.12.3
Version of Kubespray (commit)
1.34.2
Network plugin used
calico
Full inventory with variables
...
Command used to invoke ansible
ansible-playbook -i inventory/mycluster/hosts.ini --become --become-user=root cluster.yml
Output of ansible run
026-05-27 05:39:28,072 p=13848 u=root n=ansible | ok: [localhost] => (item=/home/deploy-script/common/cluster_init/roles/container-engine/vars/ubuntu.yml)
2026-05-27 05:39:50,898 p=13848 u=root n=ansible | TASK [container-engine : ensure docker-ce packages are installed for ubuntu] **********************************************************************************************************
2026-05-27 05:39:50,900 p=13848 u=root n=ansible | fatal: [localhost]: FAILED! => {"attempts": 4, "changed": false, "msg": "No package matching 'containerd.io' is available"}
Anything else we need to know
No response
What happened?
When attempting to install the specified version of the containerd.io package on Ubuntu 24.04, the system fails to locate the package automatically. This appears to be an issue with Kubespray on Ubuntu.
What did you expect to happen?
The installation and deployment of containerd.io completed successfully.
How can we reproduce it (as minimally and precisely as possible)?
It is necessary to append the version suffix to the containerd.io parameter in the file roles/container-engine/docker/vars/ubuntu.yml.
Example:
Original configuration:
containerd_versioned_pkg:
'1.7.27': "{{ containerd_package }}=1.7.27-1"
containerd_versioned_pkg:
'1.7.27': "{{ containerd_package }}=1.7.27-1
ubuntu.{{ ansible_distribution_version }}{{ ansible_distribution_release | lower }}"OS
Ubuntu 24
Version of Ansible
ansible --version
ansible [core 2.17.14]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.12/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.12.3 (main, Mar 23 2026, 19:04:32) [GCC 13.3.0] (/usr/bin/python)
jinja version = 3.1.6
libyaml = True
Version of Python
3.12.3
Version of Kubespray (commit)
1.34.2
Network plugin used
calico
Full inventory with variables
...
Command used to invoke ansible
ansible-playbook -i inventory/mycluster/hosts.ini --become --become-user=root cluster.yml
Output of ansible run
026-05-27 05:39:28,072 p=13848 u=root n=ansible | ok: [localhost] => (item=/home/deploy-script/common/cluster_init/roles/container-engine/vars/ubuntu.yml)
2026-05-27 05:39:50,898 p=13848 u=root n=ansible | TASK [container-engine : ensure docker-ce packages are installed for ubuntu] **********************************************************************************************************
2026-05-27 05:39:50,900 p=13848 u=root n=ansible | fatal: [localhost]: FAILED! => {"attempts": 4, "changed": false, "msg": "No package matching 'containerd.io' is available"}
Anything else we need to know
No response