From b9a690463dd445f6da38f794097a56ec1a0dd9ce Mon Sep 17 00:00:00 2001
From: ERIK <bo.jiang@daocloud.io>
Date: Fri, 18 Nov 2022 10:18:30 +0800
Subject: [PATCH] Add docker support for openEuler linux (#9498)

Signed-off-by: bo.jiang <bo.jiang@daocloud.io>

Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
---
 docs/openeuler.md                                    | 2 +-
 roles/container-engine/docker/tasks/main.yml         | 7 +++++++
 roles/kubernetes/preinstall/tasks/0040-set_facts.yml | 4 ++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/docs/openeuler.md b/docs/openeuler.md
index 41f368655..c585d37d2 100644
--- a/docs/openeuler.md
+++ b/docs/openeuler.md
@@ -1,6 +1,6 @@
 # OpenEuler
 
-[OpenEuler](https://www.openeuler.org/en/) Linux currently only supports the containerd runtime.
+[OpenEuler](https://www.openeuler.org/en/) Linux is supported with docker and containerd runtimes.
 
 **Note:** that OpenEuler Linux is not currently covered in kubespray CI and
 support for it is currently considered experimental.
diff --git a/roles/container-engine/docker/tasks/main.yml b/roles/container-engine/docker/tasks/main.yml
index 24d39b8ff..ae7b574d4 100644
--- a/roles/container-engine/docker/tasks/main.yml
+++ b/roles/container-engine/docker/tasks/main.yml
@@ -11,6 +11,13 @@
   set_fact:
     is_ostree: "{{ ostree.stat.exists }}"
 
+- name: set docker_version for openEuler
+  set_fact:
+    docker_version: '19.03'
+  when: ansible_distribution == "openEuler"
+  tags:
+    - facts
+
 - name: gather os specific variables
   include_vars: "{{ item }}"
   with_first_found:
diff --git a/roles/kubernetes/preinstall/tasks/0040-set_facts.yml b/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
index 54aa5b6dc..d9e010162 100644
--- a/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
+++ b/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
@@ -6,11 +6,11 @@
   tags:
     - facts
 
-- name: Set os_family fact for Kylin Linux Advanced Server
+- name: Set os_family fact for Kylin Linux Advanced Server and openEuler
   set_fact:
     ansible_os_family: "RedHat"
     ansible_distribution_major_version: "8"
-  when: ansible_distribution == "Kylin Linux Advanced Server"
+  when: ansible_distribution in ["Kylin Linux Advanced Server", "openEuler"]
   tags:
     - facts
 
-- 
GitLab