Fix the Doc lint, shellcheck and doc links Errors
[kuberef.git] / sw_config / bmra / patched_rhel_packages.yml
index 40b22b6..0107076 100644 (file)
@@ -10,7 +10,7 @@
     - ansible_distribution == "CentOS"
     - ansible_distribution_version >= '8' and ansible_distribution_version < '8.3'
 
-- name: enable PowerTools repository on CentOS >= 8.3
+- name: enable powertools repository on CentOS >= 8.3
 # noqa 303 - yum is called intenionallly here
   command: yum config-manager --set-enabled powertools
   when:
   package:
     name: "{{ item }}"
     state: present
+  retries: 5
+  delay: 10
   register: source_status
+  until: source_status is not failed
   with_items:
     - "https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-193.el8.x86_64.rpm"
     - "https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-193.el8.x86_64.rpm"
     state: present
   register: source_status
   with_items:
-    - "http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-240.el8.x86_64.rpm"
-    - "http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-240.el8.x86_64.rpm"
-#    - "https://vault.centos.org/8.3.2011/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-240.el8.x86_64.rpm"
-#    - "https://vault.centos.org/8.3.2011/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-240.el8.x86_64.rpm"
+    - "https://vault.centos.org/8.3.2011/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-240.el8.x86_64.rpm"
+    - "https://vault.centos.org/8.3.2011/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-240.el8.x86_64.rpm"
   when:
     - ansible_distribution == "CentOS"
     - ansible_distribution_version == '8.3'
     - not update_kernel
 
+- name: pull matching kernel headers on CentOS 8.4
+  package:
+    name: "{{ item }}"
+    state: present
+  register: source_status
+  with_items:
+    - "http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-305.3.1.el8.x86_64.rpm"
+    - "http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-305.3.1.el8.x86_64.rpm"
+#    - "https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-305.el8.x86_64.rpm"
+#    - "https://vault.centos.org/8.4.2105/BaseOS/x86_64/os/Packages/kernel-devel-4.18.0-305.el8.x86_64.rpm"
+  when:
+    - ansible_distribution == "CentOS"
+    - ansible_distribution_version == '8.4'
+    - not update_kernel
+
 # pull the matching kernel headers if kernel is not updated
 - name: pull matching kernel headers from configured repos
 # noqa 503 - more than one condition, can't be a handler
   package:
     name:
-    - kernel-headers-{{ ansible_kernel }}
-    - kernel-devel-{{ ansible_kernel }}
+      - kernel-headers-{{ ansible_kernel }}
+      - kernel-devel-{{ ansible_kernel }}
   register: kernel_source
   retries: 3
   until: kernel_source is success
 - name: update to the latest kernel and kernel headers on the Red Hat OS family
   package:
     name:
-    - kernel
-    - kernel-devel
+      - kernel
+      - kernel-devel
     state: latest # noqa 403
   notify:
     - reboot server
 - name: ensure selinux is installed on CentOS/RHEL 7
   package:
     name:
-    - policycoreutils
-    - policycoreutils-python
-    - selinux-policy
-    - selinux-policy-targeted
-    - libselinux-utils
-    - setools
-    - setools-console
-    - shtool
-    - lshw
+      - policycoreutils
+      - policycoreutils-python
+      - selinux-policy
+      - selinux-policy-targeted
+      - libselinux-utils
+      - setools
+      - setools-console
+      - shtool
+      - lshw
     state: present
   when:
     - ansible_distribution in ["RedHat", "CentOS"]
     - ansible_distribution in ["RedHat", "CentOS"]
     - ansible_distribution_version < '8'
 
-- name: Set python is python3
+- name: set python is python3
   alternatives:
     name: python
     path: /usr/bin/python3
 - name: install command line tools to collect hardware details
   package:
     name:
-     - hwinfo
-     - inxi
-     - jq
+      - hwinfo
+      - inxi
+      - jq
     state: present
   when: ansible_distribution in ["RedHat", "CentOS"]
 
+- name: Add kubic yum repo and install updated version of podman
+  block:
+    - name: disable container-tools module
+      # noqa 305 - shell is used intentionally here
+      shell: dnf -y module disable container-tools
+    - name: enable rhcontainerbot/container-selinux repository
+      # noqa 305 - shell is used intentionally here
+      shell: dnf -y copr enable rhcontainerbot/container-selinux
+    - name: Add kubic yum repo
+      yum_repository:
+        name: devel_kubic_libcontainers_stable
+        description: Stable Releases of Upstream github.com/containers packages (CentOS_$releasever)
+        baseurl: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_$releasever/
+        gpgcheck: yes
+        gpgkey: https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_$releasever/repodata/repomd.xml.key
+        keepcache: '0'
+    - name: install runc
+      dnf:
+        name: runc
+        state: present
+    - name: install podman package
+      package:
+        name: podman
+        state: present
+  when:
+    - ansible_os_family == "RedHat" and ansible_distribution_version >= '8.2'
+    - '"docker" not in container_runtime'
+
+# SELINUX will be disabled later stage so, these packages are required when container_runtime is docker
+- name: install packages in RHEL >= 8.4 when container_runtime is docker
+  dnf:
+    name:
+      - bridge-utils
+      - lsof
+      - lvm2
+      - tcpdump
+      - iproute-tc
+      - openssh-server
+      - chrony
+      - iputils
+  when:
+    - ansible_distribution == "RedHat" and ansible_distribution_version >= '8.4'
+    - container_runtime == "docker"
+
+# Workaround - Set pip to a version that supports correct version of packages needed
 - name: use the correct pip version for CentOS 7
   pip:
     name:
       - pip==9.0.3
   when:
     - ansible_distribution == "CentOS"
-    - ansible_distribution_version < '7.9'
+    - ansible_distribution_version < '8'
+
+- name: Remove older version of pip3 which causes dpdk setup tasks to fail
+  yum:
+    name: python3-pip
+    state: absent
+  when:
+    - ansible_distribution == "CentOS"
+    - ansible_distribution_version < '8'
+
+- name: Install new version of pip3 required by dpdk tasks
+  yum:
+    name: python3-pip
+    state: present
+  when:
+    - ansible_distribution == "CentOS"
+    - ansible_distribution_version < '8'