# HG changeset patch # User IBBoard # Date 1490541177 -3600 # Node ID d9fcabc75a1e34baa3d60d3ba56fb4cae772e913 # Parent 6cb6dc1f74d407a53fa9726aacf16bd2e0d97c69 Fix pip installations We didn't specify Pip package before so we couldn't bootstrap from cold. Also, and Pip is too clever. If package name is wrong but close enough, Pip installs it anyway but next run Puppet can't find the package because of typo and tells Pip to install it again! diff -r 6cb6dc1f74d4 -r d9fcabc75a1e manifests/templates.pp --- a/manifests/templates.pp Sat Mar 25 20:54:34 2017 +0000 +++ b/manifests/templates.pp Sun Mar 26 16:12:57 2017 +0100 @@ -22,11 +22,6 @@ :hierarchy: common :logger: console", } - # Fudge Pip to exist - file { '/usr/bin/pip-python': - ensure => link, - target => '/usr/bin/pip', - } -> Package <| provider == 'pip' |> } class basevpsnode ( @@ -235,6 +230,16 @@ source => 'puppet:///common/RPM-GPG-KEY-webtatic-el7', before => YumRepo['webtatic'], } + + # Install Pip and symlink it so we can use it as a package provider + package { 'python2-pip': + ensure => installed; + } + -> + file { '/usr/bin/pip-python': + ensure => link, + target => '/usr/bin/pip', + } -> Package <| provider == 'pip' |> } class tools { diff -r 6cb6dc1f74d4 -r d9fcabc75a1e modules/vcs/manifests/init.pp --- a/modules/vcs/manifests/init.pp Sat Mar 25 20:54:34 2017 +0000 +++ b/modules/vcs/manifests/init.pp Sun Mar 26 16:12:57 2017 +0100 @@ -5,7 +5,7 @@ ]: ensure => installed } - @package { 'mercurial_keyring': + @package { 'mercurial-keyring': ensure => installed, provider => 'pip', } @@ -13,7 +13,7 @@ class vcs::client inherits vcs { realize(Package["mercurial"], - Package["mercurial_keyring"], + Package["mercurial-keyring"], Package["git"]) }