From a4e3a71de6df81119f09bbfe2d990d54cf7ad30d Mon Sep 17 00:00:00 2001 From: alexgit2k Date: Tue, 9 Jan 2024 14:42:56 +0100 Subject: [PATCH] Support ansible pip-installation for RHEL 8 and greater --- .../cap/guest/redhat/ansible_install.rb | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb b/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb index 79b15fd6435..46c9337a1a3 100644 --- a/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +++ b/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb @@ -39,8 +39,32 @@ def self.ansible_rpm_install(machine) def self.pip_setup(machine, pip_install_cmd = "") rpm_package_manager = Facts::rpm_package_manager(machine) - machine.communicate.sudo("#{rpm_package_manager} -y install curl gcc libffi-devel openssl-devel python-crypto python-devel python-setuptools") - Pip::get_pip machine, pip_install_cmd + # Use other packages for RHEL > 7 and set alternatives for RHEL 8 + machine.communicate.sudo """ + source /etc/os-release + MAJOR=$(echo $VERSION_ID | cut -d. -f1) + if [ $MAJOR -ge 8 ]; then + #{rpm_package_manager} -y install curl gcc libffi-devel openssl-devel python3-cryptography python3-devel python3-setuptools + else + #{rpm_package_manager} -y install curl gcc libffi-devel openssl-devel python-crypto python-devel python-setuptools + fi + if [ $MAJOR -eq 8 ]; then + alternatives --set python /usr/bin/python3 + fi + """ + + # pip is already installed as dependency for RHEL > 7 + if machine.communicate.test("test ! -f /usr/bin/pip3") + Pip::get_pip machine, pip_install_cmd + end + # Set pip-alternative for RHEL 8 + machine.communicate.sudo """ + source /etc/os-release + MAJOR=$(echo $VERSION_ID | cut -d. -f1) + if [ $MAJOR -eq 8 ]; then + alternatives --install /usr/bin/pip pip /usr/local/bin/pip 1 + fi + """ end end