From 6ee8bb6a846119ee5362a02a7ab4884e395bbd56 Mon Sep 17 00:00:00 2001 From: Gilles Cornu Date: Thu, 9 Jun 2016 19:16:47 +0200 Subject: [PATCH] provisioners/ansible_local: Fix Fedora/RedHat "default" installation mode With bb9dba56aca7e4bd3546ad1fa3256bfc8955c47e, I introduced a pitiful regression in "rpm-based" Ansible installation (via yum or dnf). This fix is part of GH-6654 --- .../ansible/cap/guest/fedora/ansible_install.rb | 8 ++++++-- .../ansible/cap/guest/redhat/ansible_install.rb | 11 +++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb b/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb index b2e8a3640..73bb1029d 100644 --- a/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +++ b/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb @@ -9,18 +9,22 @@ module VagrantPlugins module AnsibleInstall def self.ansible_install(machine, install_mode, ansible_version) + rpm_package_manager = Facts::rpm_package_manager(machine) + if install_mode == :pip pip_setup machine Pip::pip_install machine, "ansible", ansible_version else - machine.communicate.sudo "#{Facts::rpm_package_manager} -y install ansible" + machine.communicate.sudo "#{rpm_package_manager} -y install ansible" end end private def self.pip_setup(machine) - machine.communicate.sudo "#{Facts::rpm_package_manager(machine)} install -y curl gcc gmp-devel libffi-devel openssl-devel python-crypto python-devel python-dnf python-setuptools redhat-rpm-config" + rpm_package_manager = Facts::rpm_package_manager(machine) + + machine.communicate.sudo "#{rpm_package_manager} install -y curl gcc gmp-devel libffi-devel openssl-devel python-crypto python-devel python-dnf python-setuptools redhat-rpm-config" Pip::get_pip machine end diff --git a/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb b/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb index e7e087fa5..31ff1f762 100644 --- a/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +++ b/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb @@ -20,16 +20,19 @@ module VagrantPlugins private def self.ansible_rpm_install(machine) - epel = machine.communicate.execute "#{yum_dnf(machine)} repolist epel | grep -q epel", error_check: false + rpm_package_manager = Facts::rpm_package_manager(machine) + + epel = machine.communicate.execute "#{rpm_package_manager} repolist epel | grep -q epel", error_check: false if epel != 0 machine.communicate.sudo 'sudo rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-`rpm -E %dist | sed -n \'s/.*el\([0-9]\).*/\1/p\'`.noarch.rpm' end - - machine.communicate.sudo "#{Facts::rpm_package_manager} -y --enablerepo=epel install ansible" + machine.communicate.sudo "#{rpm_package_manager} -y --enablerepo=epel install ansible" end def self.pip_setup(machine) - machine.communicate.sudo("#{Facts::rpm_package_manager(machine)} install -y curl gcc libffi-devel openssl-devel python-crypto python-devel python-setuptools") + 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 end