web-dev-qa-db-ja.com

puppetdbqueryをダウングレードするにはどうすればよいですか?

Puppetdbクエリを使用するpuppetの実行でエラーが発生します:

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

--verboseを指定してpuppetmasterを実行すると、 警告 が表示されます。これは役に立ちます。

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.

PuppetDB 3.0は問題のマシンでは利用できないため、puppetdbqueryのダウングレードを検討しています。しかし、これがどこにどのようにインストールされているのかわかりません。これまで、dpkg(Debian Jessieを実行しています)、gem、およびlibrarian-puppetを確認しましたが、puppetdbqueryがインストールされていないようです。
それがどこから来たのか、そしてそれをダウングレードする方法を見つける方法はありますか?

2
lucas

ファイルを追跡するために(ソースのリンクについて ssmの回答 に感謝します)、私は次のことを行いました。

find / -name connection.rb

次に、「PuppetDBバージョン<3.0を使用しているようです。」を含む結果を取得すると、1つのファイルになりました。

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

Puppetdbqueryについては言及されていないため、最初は混乱しましたが、 リポジトリ を詳しく調べると、含まれているgemspecがpuppetdbqueryではなく「Ruby-puppetdb」と呼ばれていることがわかりました。したがって、修正は次のように実行されました。

gem uninstall Ruby-puppetdb --version 2.1.1

古いバージョンのgemをインストールしていたので、システムは代わりにそれらを使用するようになりました。

要約すると:gemとしてインストールされた場合、puppetdbqueryはRuby-puppetdbと呼ばれます。

2
lucas

puppetdbquery はpuppetモジュールであり、Puppetfileにない場合でも、他のモジュールの1つの依存関係としてインストールされる場合があります。

Puppetmasterのmodulepathにリストされているディレクトリを確認してください。

引用するエラーメッセージは、そのモジュールの lib/puppetdb/connection.rb にあります。

2
ssm