From d90baa86012ce99ca47ad37a1f63b78ab636a487 Mon Sep 17 00:00:00 2001
From: Cristian Calin <6627509+cristicalin@users.noreply.github.com>
Date: Tue, 11 May 2021 05:25:36 +0300
Subject: [PATCH] add containerd support for Amazon Linux 2 (#7595)

---
 roles/container-engine/containerd-common/vars/amazon.yml | 9 +++++++++
 .../containerd/tasks/containerd_repo.yml                 | 2 +-
 roles/container-engine/containerd/tasks/main.yml         | 2 +-
 roles/container-engine/containerd/vars/amazon.yml        | 5 +++++
 4 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 roles/container-engine/containerd-common/vars/amazon.yml
 create mode 100644 roles/container-engine/containerd/vars/amazon.yml

diff --git a/roles/container-engine/containerd-common/vars/amazon.yml b/roles/container-engine/containerd-common/vars/amazon.yml
new file mode 100644
index 000000000..d492fc56e
--- /dev/null
+++ b/roles/container-engine/containerd-common/vars/amazon.yml
@@ -0,0 +1,9 @@
+---
+containerd_package: containerd
+containerd_versioned_pkg:
+  'latest': "{{ containerd_package }}"
+  '1.3.2': "{{ containerd_package }}-1.3.2-1.amzn{{ ansible_distribution_major_version }}"
+  '1.4.1': "{{ containerd_package }}-1.4.1-2.amzn{{ ansible_distribution_major_version }}"
+  '1.4.4': "{{ containerd_package }}-1.4.4-1.amzn{{ ansible_distribution_major_version }}"
+  'stable': "{{ containerd_package }}-1.4.4-1.amzn{{ ansible_distribution_major_version }}"
+  'edge': "{{ containerd_package }}-1.4.4-1.amzn{{ ansible_distribution_major_version }}"
diff --git a/roles/container-engine/containerd/tasks/containerd_repo.yml b/roles/container-engine/containerd/tasks/containerd_repo.yml
index 6c4a0470a..d62468f0c 100644
--- a/roles/container-engine/containerd/tasks/containerd_repo.yml
+++ b/roles/container-engine/containerd/tasks/containerd_repo.yml
@@ -31,4 +31,4 @@
     dest: "{{ yum_repo_dir }}/containerd.repo"
   when:
     - ansible_os_family == "RedHat"
-    - ansible_distribution != "Fedora"
+    - ansible_distribution not in ["Fedora", "Amazon"]
diff --git a/roles/container-engine/containerd/tasks/main.yml b/roles/container-engine/containerd/tasks/main.yml
index fd6811ae5..5becf1f3d 100644
--- a/roles/container-engine/containerd/tasks/main.yml
+++ b/roles/container-engine/containerd/tasks/main.yml
@@ -16,7 +16,7 @@
   fail:
     msg: "{{ ansible_distribution }} is not supported by containerd."
   when:
-    - not ansible_distribution in ["CentOS", "OracleLinux", "RedHat", "Ubuntu", "Debian", "Fedora", "AlmaLinux"]
+    - not ansible_distribution in ["CentOS", "OracleLinux", "RedHat", "Ubuntu", "Debian", "Fedora", "AlmaLinux", "Amazon"]
 
 - name: gather os specific variables
   include_vars: "{{ item }}"
diff --git a/roles/container-engine/containerd/vars/amazon.yml b/roles/container-engine/containerd/vars/amazon.yml
new file mode 100644
index 000000000..28235ec73
--- /dev/null
+++ b/roles/container-engine/containerd/vars/amazon.yml
@@ -0,0 +1,5 @@
+---
+containerd_package_info:
+  enablerepo: "amzn2extra-docker"
+  pkgs:
+    - "{{ containerd_versioned_pkg[containerd_version | string] }}"
-- 
GitLab