Como faço o downgrade do puppetdbquery?

2

Estou recebendo um erro nas corridas de marionetes que usam consultas puppetdb:

Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method 'server_urls' for #<Puppet::Util::Puppetdb::Config:0x00000003cd66c8> at /etc/puppet/local-modules/monitoring/manifests/init.pp:14 on node hostname.goes.here
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Ao executar o puppetmaster com --verbose , obtenho um aviso que parece útil:

Warning: It looks like you are using a PuppetDB version < 3.0.
This version of puppetdbquery requires at least PuppetDB 3.0 to work.
Downgrade to puppetdbquery 1.x to use it with PuppetDB 2.x.

O PuppetDB 3.0 não está disponível na máquina em questão, então estou analisando o downgrade de puppetdbquery . No entanto, não consigo encontrar onde / como isso está instalado. Até agora eu verifiquei o dpkg (eu estou executando o Debian Jessie), gem e librarian-puppet , mas nenhum deles parece ter instalado puppetdbquery .
Existe alguma maneira de descobrir de onde veio e como fazer o downgrade?

    
por lucas 26.12.2015 / 02:58

2 respostas

2

Para rastrear o arquivo (graças à resposta do ssm para o link da fonte), eu fiz:

find / -name connection.rb

Depois, usei os resultados para aqueles que incluíam "Parece que você está usando uma versão do PuppetDB < 3.0". Acabei com um arquivo:

/var/lib/gems/2.1.0/gems/ruby-puppetdb-2.1.1/lib/puppetdb/connection.rb

No começo, isso me confundiu, porque não faz menção a puppetdbquery, mas em uma inspeção mais próxima de o repositório , eu vi que o gemspec inclui chama-se" ruby-puppetdb ", não puppetdbquery. Portanto, a correção foi executar:

gem uninstall ruby-puppetdb --version 2.1.1

Eu tinha versões antigas da gem instaladas, então o sistema voltou a usá-las.

Para resumir: Quando instalado como uma jóia, o puppetdbquery é chamado ruby-puppetdb

    
por 13.01.2016 / 01:05
2

puppetdbquery é um módulo de fantoches, e mesmo que não esteja no seu Puppetfile, pode ser instalado como uma dependência de um dos seus outros módulos.

Dê uma olhada nos diretórios listados no caminho do módulo do seu mestre de marionetes.

A mensagem de erro que você cita é encontrada em lib / puppetdb / connection .rb nesse módulo.

    
por 12.01.2016 / 15:33