From a6fcf2e066c9d03334cc0118e8be80fc45e02d48 Mon Sep 17 00:00:00 2001
From: zhengtianbao <china.zhengtianbao@gmail.com>
Date: Mon, 22 Nov 2021 04:29:09 -0600
Subject: [PATCH] Enable experimental modules when rpm-ostree version >= 2021.9
 (#8202)

* Enable experimental modules when rpm-ostree version >= 2021.9

* cleanup code
---
 roles/container-engine/cri-o/tasks/crio_repo.yml | 7 +++++++
 roles/container-engine/cri-o/tasks/main.yaml     | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/roles/container-engine/cri-o/tasks/crio_repo.yml b/roles/container-engine/cri-o/tasks/crio_repo.yml
index 099d2ef64..51142640c 100644
--- a/roles/container-engine/cri-o/tasks/crio_repo.yml
+++ b/roles/container-engine/cri-o/tasks/crio_repo.yml
@@ -149,6 +149,13 @@
     - repo: "fedora-modular"
       section: "fedora-modular"
 
+- name: Enable CRI-O ex module
+  command: "rpm-ostree ex module enable cri-o:{{ crio_version }}"
+  become: true
+  when:
+    - is_ostree
+    - ostree_version is defined and ostree_version.stdout is version('2021.9', '>=')
+
 - name: Enable CRI-O module
   command: "dnf -y module enable cri-o:{{ crio_version }}"
   args:
diff --git a/roles/container-engine/cri-o/tasks/main.yaml b/roles/container-engine/cri-o/tasks/main.yaml
index 25b338ed5..d3997f4a5 100644
--- a/roles/container-engine/cri-o/tasks/main.yaml
+++ b/roles/container-engine/cri-o/tasks/main.yaml
@@ -11,6 +11,13 @@
   set_fact:
     is_ostree: "{{ ostree.stat.exists }}"
 
+- name: get ostree version
+  shell: "set -o pipefail && rpm-ostree --version | awk -F\\' '/Version/{print $2}'"
+  args:
+    executable: /bin/bash
+  register: ostree_version
+  when: is_ostree
+
 - name: gather os specific variables
   include_vars: "{{ item }}"
   with_first_found:
-- 
GitLab