Puppet のパッケージプロバイダーとして Chocolatey を使用する

Puppet のパッケージプロバイダーとして Chocolatey を使用する

私はChocolatey(http://chocolatey.org) を Puppet のパッケージ プロバイダーとして使用していますが、Win 7 ボックスで Puppet エージェントを実行すると、このエラーが継続的に発生します。

info: Caching catalog for ldap-windows-vm.localdomain
err: Failed to apply catalog: Parameter provider failed: Invalid package provide
r 'chocolatey' at /etc/puppet/environments/beta/modules/stormaas/manifests/init.
pp:9

このモジュールを配置しましたhttps://github.com/rismoney/puppet-chocolatey私の Puppet マスターの modules/ ディレクトリでは、マスターとスレーブの両方で pluginsync が true に設定されており、同じ設定で動作しているインポートされたタイプがすでにいくつか使用されています。

次のようにパッケージを呼び出します:

  package { 'stormaas':
    ensure   => installed,
    provider => 'chocolatey',
  }

引用符の問題の場合に備えて、プロバイダーを 'chocolatey' と chocolatey の両方に設定して試し、変更ごとにマスターとスレーブの両方を再起動し、エージェントを複数回実行して更新されたことを確認しました。

マシンに適用されているモジュールの他のすべての側面は機能しますが、この点だけが機能しません。

何かご意見は?

答え1

これは実際には Puppet のバグのようです。動的環境を使用しているため、モジュールは元々 /etc/puppet/environments/beta/chocolatey/ の下に配置されていましたが、モジュールを /etc/puppet/modules に移動すると動作しました。

興味深いのは、カスタム タイプは環境内では正常に機能しましたが、カスタム プロバイダーは同期に失敗したことです。

モジュールはうまく動作するようです。いくつか癖があるかもしれませんが、何か問題があればパッチを当ててプル リクエストを送信します。

答え2

modulepath の問題を解決したら、次に、発生する可能性のあるその他の問題とその解決方法に関する詳細情報を示します。

Chocolateyプロバイダー(現在はチョコレートっぽい)では、Chocolatey自体のインストールが必要です。バージョン1.1.0、プロバイダーは実際に Chocolatey がインストールされていることを確認します。マニフェストのどこかに次のコードを追加するだけです。

include chocolatey

チョコレートクラスに関連するシナリオをもっと知りたい場合は、利用可能なパラメータについてはReadMeを参照してください. 例:

class {'chocolatey':
  chocolatey_download_url => 'https://internalurl/to/chocolatey.nupkg',
  choco_install_location => 'D:\secured\choco',
  use_7zip => false,
  choco_install_timeout => 2700,
  enable_autouninstaller => true,
}

関連情報