Sha256: 77efdc028add6919423b0e4a81342d5569d4b33b97051e67b2beda36d92c3616

Contents?: true

Size: 1.62 KB

Versions: 30

Compression:

Stored size: 1.62 KB

Contents

require_relative "../facts"
require_relative "../pip/pip"

module VagrantPlugins
  module Ansible
    module Cap
      module Guest
        module RedHat
          module AnsibleInstall

            def self.ansible_install(machine, install_mode, ansible_version, pip_args)
              case install_mode
              when :pip
                pip_setup machine
                Pip::pip_install machine, "ansible", ansible_version, pip_args, true
              when :pip_args_only
                pip_setup machine
                Pip::pip_install machine, "", "", pip_args, false
              else
                ansible_rpm_install machine
              end
            end

            private

            def self.ansible_rpm_install(machine)
              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 "#{rpm_package_manager} -y --enablerepo=epel install ansible"
            end

            def self.pip_setup(machine)
              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

          end
        end
      end
    end
  end
end

Version data entries

30 entries across 26 versions & 4 rubygems

Version Path
vagrant-unbundled-2.2.4.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.2.3.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.2.2.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.2.0.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.1.4.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.1.2.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.2 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/bundler/gems/vagrant-04f7215b5e3f/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.1.1.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.0.4.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.0.3.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-aws-detiber-0.7.2.pre.4 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-aws-detiber-0.7.2.pre.3 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-aws-detiber-0.7.2.pre.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.0.2.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb
vagrant-unbundled-2.0.1.0 plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb