Skip to content

Commit c9c906c

Browse files
authored
0.14.0+2.0.2 (#35)
* vars/flavor_base.yml: add containerd-stress binary * update README/CHANGELOG * adjust containerd_config variable to meet configuration changes of version 3 * templates/etc/systemd/system/containerd.service.j2: add dbus.service to After= * update years * fix typos * vars/flavor_base.yml: update list of containerd binaries * update README/CHANGELOG * Molecule: adjust expected output of ctr pull command * update README/CHANGELOG
1 parent 86eab30 commit c9c906c

File tree

14 files changed

+95
-69
lines changed

14 files changed

+95
-69
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2021-2024 Robert Wimmer
1+
# Copyright (C) 2021-2025 Robert Wimmer
22
# SPDX-License-Identifier: GPL-3.0-or-later
33

44
molecule/kvm/.vagrant

.yamllint

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
extends: default

CHANGELOG.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
11
<!--
2-
Copyright (C) 2021-2024 Robert Wimmer
2+
Copyright (C) 2021-2025 Robert Wimmer
33
SPDX-License-Identifier: GPL-3.0-or-later
44
-->
55

66
# Changelog
77

8+
**Note**: This a major release update to `containerd` version `2.0.2`! Please read the [changelog of containerd v2.0.2](https://github.com/containerd/containerd/blob/main/docs/containerd-2.0.md) accordingly! In general if you haven't used any "exotic" features so far this version of the Ansible role should cover everything already and upgrading should be smooth. Nevertheless you should test the changes before!
9+
10+
## 0.14.0+2.0.2
11+
12+
- **POTENTIALLY BREAKING**
13+
- `containerd_config` variable value was adjusted to to meet `containerd` configuration requirements of version `3`. Please see [Full configuration](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#full-configuration) for all possible values. If you haven't adjusted this variable then there should be no need to change anything and upgrading should be smooth.
14+
- update list of containerd binaries in `containerd_binaries` variable. `containerd-shim-runc-v1` and `containerd-shim` were removed as no longer provided by upstream.
15+
16+
- **UPDATE**
17+
- update `containerd` to `v2.0.2`
18+
- `templates/etc/systemd/system/containerd.service.j2`: add `dbus.service` to `After=`
19+
20+
- **MOLECULE**
21+
- adjust expected output of `ctr pull` command
22+
823
## 0.13.2+1.7.22
924

1025
- **UPDATE**
@@ -69,7 +84,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
6984

7085
## 0.11.0+1.7.8
7186

72-
**Note** This release contains quite a few breaking changes. This mostly happened because `cri-containerd-*.tar.gz release bundles` are [deprecated](https://github.com/containerd/containerd/blob/main/RELEASES.md#deprecated-features). Also see [cri-containerd.DEPRECATED.txt](https://github.com/containerd/containerd/blob/main/releases/cri-containerd.DEPRECATED.txt). So `containerd` doesn't contain `CNI plugins` and `runc` anymore. You can still use this bundle if you use version `0.10.0+1.7.3` of this Ansible role. But for this version I deciced to remove the support already before `containerd` `v2.0` will be released. That means for `containerd_flavor` only the value `base` can be used and `k8s` has been gone. So that means you have to install [CNI - Container Network Interface](https://github.com/containernetworking/plugins) and [runc](https://github.com/opencontainers/runc) separately. This should happen before you install `containerd`. You can use my Ansible roles
87+
**Note** This release contains quite a few breaking changes. This mostly happened because `cri-containerd-*.tar.gz release bundles` are [deprecated](https://github.com/containerd/containerd/blob/main/RELEASES.md#deprecated-features). Also see [cri-containerd.DEPRECATED.txt](https://github.com/containerd/containerd/blob/main/releases/cri-containerd.DEPRECATED.txt). So `containerd` doesn't contain `CNI plugins` and `runc` anymore. You can still use this bundle if you use version `0.10.0+1.7.3` of this Ansible role. But for this version I decided to remove the support already before `containerd` `v2.0` will be released. That means for `containerd_flavor` only the value `base` can be used and `k8s` has been gone. So that means you have to install [CNI - Container Network Interface](https://github.com/containernetworking/plugins) and [runc](https://github.com/opencontainers/runc) separately. This should happen before you install `containerd`. You can use my Ansible roles
7388

7489
- For CNI: [ansible-role-cni](https://github.com/githubixx/ansible-role-cni)
7590
- For runc: [ansible-role-runc](https://github.com/githubixx/ansible-role-runc)
@@ -164,7 +179,7 @@ Other changes:
164179

165180
## 0.2.0+1.5.8
166181

167-
- add support for Kubernetes by allowing to optionally also install `runc`, `crtcl` and `CNI` plugins. `containerd` builds are available in two flavors: Either just the `containerd` binaries or `containerd` binaries plus everything else needed to use `containerd` together with Kubernetes. Please see [defaults/main.yml](https://github.com/githubixx/ansible-role-containerd/tree/master/defaults/main.yml) for all possible settings. With the Kubernetes support a lot of new variables were introduced but for almost all the default values should be good enough. The default `containerd_flavor: "base"` mimics the behavior of the previous version of this role. So upgrading shouldn't be an issue.
182+
- add support for Kubernetes by allowing to optionally also install `runc`, `crictl` and `CNI` plugins. `containerd` builds are available in two flavors: Either just the `containerd` binaries or `containerd` binaries plus everything else needed to use `containerd` together with Kubernetes. Please see [defaults/main.yml](https://github.com/githubixx/ansible-role-containerd/tree/master/defaults/main.yml) for all possible settings. With the Kubernetes support a lot of new variables were introduced but for almost all the default values should be good enough. The default `containerd_flavor: "base"` mimics the behavior of the previous version of this role. So upgrading shouldn't be an issue.
168183

169184
## 0.1.1+1.5.8
170185

README.md

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
Copyright (C) 2021-2024 Robert Wimmer
2+
Copyright (C) 2021-2025 Robert Wimmer
33
SPDX-License-Identifier: GPL-3.0-or-later
44
-->
55

@@ -15,6 +15,21 @@ See full [CHANGELOG](https://github.com/githubixx/ansible-role-containerd/blob/m
1515

1616
**Recent changes:**
1717

18+
## 0.14.0+2.0.2
19+
20+
**Note**: This a major release update to `containerd` version `2.0.2`! Please read the [changelog of containerd v2.0.2](https://github.com/containerd/containerd/blob/main/docs/containerd-2.0.md) accordingly! In general if you haven't used any "exotic" features so far this version of the Ansible role should cover everything already and upgrading should be smooth. Nevertheless you should test the changes before!
21+
22+
- **POTENTIALLY BREAKING**
23+
- `containerd_config` variable value was adjusted to to meet `containerd` configuration requirements of version `3`. Please see [Full configuration](https://github.com/containerd/containerd/blob/main/docs/cri/config.md#full-configuration) for all possible values. If you haven't adjusted this variable then there should be no need to change anything and upgrading should be smooth.
24+
- update list of containerd binaries in `containerd_binaries` variable. `containerd-shim-runc-v1` and `containerd-shim` were removed as no longer provided by upstream.
25+
26+
- **UPDATE**
27+
- update `containerd` to `v2.0.2`
28+
- `templates/etc/systemd/system/containerd.service.j2`: add `dbus.service` to `After=`
29+
30+
- **MOLECULE**
31+
- adjust expected output of `ctr pull` command
32+
1833
## 0.13.2+1.7.22
1934

2035
- **UPDATE**
@@ -49,7 +64,7 @@ See full [CHANGELOG](https://github.com/githubixx/ansible-role-containerd/blob/m
4964
roles:
5065
- name: githubixx.containerd
5166
src: https://github.com/githubixx/ansible-role-containerd.git
52-
version: 0.13.2+1.7.22
67+
version: 0.14.0+2.0.2
5368
```
5469
5570
## Role Variables
@@ -59,7 +74,7 @@ roles:
5974
containerd_flavor: "base"
6075

6176
# containerd version to install
62-
containerd_version: "1.7.22"
77+
containerd_version: "2.0.2"
6378

6479
# Directory where to store "containerd" binaries
6580
containerd_binary_directory: "/usr/local/bin"
@@ -107,43 +122,42 @@ containerd_service_settings:
107122
"LimitCORE": "infinity"
108123

109124
# Content of configuration file of "containerd". The settings below are the
110-
# settings that are different to the default "containerd" settings.
125+
# settings that are either different to the default "containerd" settings or
126+
# stated explicitly to make important settings more visible even if they're
127+
# default. So these settings will override the default settings.
111128
#
112129
# The default "containerd" configuration can be generated with this command:
113130
#
114131
# containerd config default
115132
#
133+
# A full configuration example with all possible options is also available here:
134+
# https://github.com/containerd/containerd/blob/main/docs/cri/config.md#full-configuration
135+
#
136+
# Also if you want to adjust settings please consult the CRI Plugin Config Guide:
137+
# https://github.com/containerd/containerd/blob/main/docs/cri/config.md
138+
#
116139
# Difference to default configuration:
117140
#
118-
# - The configuration file contains a few role variables that will be replaced when
119-
# the configuration template is processed.
120141
# - In 'plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options' the
121142
# setting "SystemdCgroup" is set to "true" instead of "false". This is relevant for
122143
# Kubernetes e.g. Also see:
123144
# https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd-systemd)
124145
#
125146
containerd_config: |
126-
version = 2
147+
version = 3
127148
[plugins]
128-
[plugins."io.containerd.grpc.v1.cri"]
129-
sandbox_image = "registry.k8s.io/pause:3.8"
130-
[plugins."io.containerd.grpc.v1.cri".cni]
131-
bin_dir = "/opt/cni/bin"
132-
conf_dir = "/etc/cni/net.d"
133-
[plugins."io.containerd.grpc.v1.cri".containerd]
134-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
135-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
136-
runtime_type = "io.containerd.runc.v2"
137-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
138-
BinaryName = "/usr/local/sbin/runc"
149+
[plugins.'io.containerd.cri.v1.runtime']
150+
[plugins.'io.containerd.cri.v1.runtime'.containerd]
151+
default_runtime_name = 'runc'
152+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes]
153+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc]
154+
runtime_type = 'io.containerd.runc.v2'
155+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
156+
BinaryName = '/usr/local/sbin/runc'
139157
SystemdCgroup = true
140-
[stream_processors]
141-
[stream_processors."io.containerd.ocicrypt.decoder.v1.tar"]
142-
args = ["--decryption-keys-path", "{{ containerd_config_directory }}/ocicrypt/keys"]
143-
env = ["OCICRYPT_KEYPROVIDER_CONFIG={{ containerd_config_directory }}/ocicrypt/ocicrypt_keyprovider.conf"]
144-
[stream_processors."io.containerd.ocicrypt.decoder.v1.tar.gzip"]
145-
args = ["--decryption-keys-path", "{{ containerd_config_directory }}/ocicrypt/keys"]
146-
env = ["OCICRYPT_KEYPROVIDER_CONFIG={{ containerd_config_directory }}/ocicrypt/ocicrypt_keyprovider.conf"]
158+
[plugins.'io.containerd.cri.v1.runtime'.cni]
159+
bin_dir = '/opt/cni/bin'
160+
conf_dir = '/etc/cni/net.d'
147161
```
148162
149163
## Dependencies

defaults/main.yml

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
# Only value "base" is currently supported
66
containerd_flavor: "base"
77

88
# containerd version to install
9-
containerd_version: "1.7.22"
9+
containerd_version: "2.0.2"
1010

1111
# Directory where to store "containerd" binaries
1212
containerd_binary_directory: "/usr/local/bin"
@@ -54,41 +54,39 @@ containerd_service_settings:
5454
"LimitCORE": "infinity"
5555

5656
# Content of configuration file of "containerd". The settings below are the
57-
# settings that are different to the default "containerd" settings. So these
58-
# seetings will override the default settings.
57+
# settings that are either different to the default "containerd" settings or
58+
# stated explicitly to make important settings more visible even if they're
59+
# default. So these settings will override the default settings.
5960
#
6061
# The default "containerd" configuration can be generated with this command:
6162
#
6263
# containerd config default
6364
#
65+
# A full configuration example with all possible options is also available here:
66+
# https://github.com/containerd/containerd/blob/main/docs/cri/config.md#full-configuration
67+
#
68+
# Also if you want to adjust settings please consult the CRI Plugin Config Guide:
69+
# https://github.com/containerd/containerd/blob/main/docs/cri/config.md
70+
#
6471
# Difference to default configuration:
6572
#
66-
# - The configuration file contains a few role variables that will be replaced when
67-
# the configuration template is processed.
6873
# - In 'plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options' the
6974
# setting "SystemdCgroup" is set to "true" instead of "false". This is relevant for
7075
# Kubernetes e.g. Also see:
7176
# https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd-systemd)
7277
#
7378
containerd_config: |
74-
version = 2
79+
version = 3
7580
[plugins]
76-
[plugins."io.containerd.grpc.v1.cri"]
77-
sandbox_image = "registry.k8s.io/pause:3.8"
78-
[plugins."io.containerd.grpc.v1.cri".cni]
79-
bin_dir = "/opt/cni/bin"
80-
conf_dir = "/etc/cni/net.d"
81-
[plugins."io.containerd.grpc.v1.cri".containerd]
82-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
83-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
84-
runtime_type = "io.containerd.runc.v2"
85-
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
86-
BinaryName = "/usr/local/sbin/runc"
81+
[plugins.'io.containerd.cri.v1.runtime']
82+
[plugins.'io.containerd.cri.v1.runtime'.containerd]
83+
default_runtime_name = 'runc'
84+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes]
85+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc]
86+
runtime_type = 'io.containerd.runc.v2'
87+
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
88+
BinaryName = '/usr/local/sbin/runc'
8789
SystemdCgroup = true
88-
[stream_processors]
89-
[stream_processors."io.containerd.ocicrypt.decoder.v1.tar"]
90-
args = ["--decryption-keys-path", "{{ containerd_config_directory }}/ocicrypt/keys"]
91-
env = ["OCICRYPT_KEYPROVIDER_CONFIG={{ containerd_config_directory }}/ocicrypt/ocicrypt_keyprovider.conf"]
92-
[stream_processors."io.containerd.ocicrypt.decoder.v1.tar.gzip"]
93-
args = ["--decryption-keys-path", "{{ containerd_config_directory }}/ocicrypt/keys"]
94-
env = ["OCICRYPT_KEYPROVIDER_CONFIG={{ containerd_config_directory }}/ocicrypt/ocicrypt_keyprovider.conf"]
90+
[plugins.'io.containerd.cri.v1.runtime'.cni]
91+
bin_dir = '/opt/cni/bin'
92+
conf_dir = '/etc/cni/net.d'

handlers/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
- name: Reload systemd

meta/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
galaxy_info:

molecule/default/converge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
- name: Install containerd

molecule/default/molecule.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
dependency:

molecule/default/prepare.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
# Copyright (C) 2021-2024 Robert Wimmer
2+
# Copyright (C) 2021-2025 Robert Wimmer
33
# SPDX-License-Identifier: GPL-3.0-or-later
44

55
- name: Run tasks for Archlinux

0 commit comments

Comments
 (0)