Você precisa alterar a fonte no cliente de marionetes, não no mestre.
Então eu tenho o Puppet Enterprise 2.7 em um nó "mestre", mestre-fantoche. Enquanto trabalhava para criar novas receitas para instalar o Ruby 2.0 em um nó "cliente", notei que se eu forçasse o cliente a começar a usar o gem 2.0, eu teria erros como:
err: /Stage[main]/_ruby::Mysql_gem/Package[mysql]/ensure: change from absent to 2.8.1 failed: Could not update: Execution of '/usr/bin/gem install -v 2.8.1 --include-dependencies --no-rdoc --no-ri mysql' returned 1: ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --include-dependencies
at /etc/puppetlabs/puppet/environments/ci/modules/_ruby/manifests/mysql_gem.pp:29
Rastreei o --include-dependencies
para o link , ele já foi removido, então o removi do meu Código do provedor de marionetes no mestre em /opt/puppet/lib/site_ruby/1.8/puppet/provider/package/gem.rb
:
def install(useversion = true)
command = [command(:gemcmd), "install"]
command << "-v" << resource[:ensure] if (! resource[:ensure].is_a? Symbol) and useversion
# JOE HAS BEEN HERE - see http://projects.puppetlabs.com/issues/19741,
# https://github.com/puppetlabs/puppet/commit/2284e837939628f81149e62fdc0f314ff077a776
# Always include dependencies
# command << "--include-dependencies"
Infelizmente, o código para gem.rb
está inexplicavelmente armazenado em cache em algum lugar - reiniciei todos os serviços que posso pensar em reiniciar sem sucesso, ainda obtenho a opção --include-dependencies
incluída.
Como alguém força esse código de provedor a ser recarregado no mestre para retirar o --include-dependencies
ao usar o gem
provider?