Windows

使用 Chocolatey 作為 Puppet 的包提供程序

  • September 10, 2015

我正在嘗試使用 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 master 的 modules/ 目錄中,我在 master 和 slave 上都將 pluginsync 設置為 true - 並且已經在使用一些使用相同設置的導入類型。

呼叫包:

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

我已經嘗試將提供程序設置為“chocolatey”和chocolatey,以防它是一個報價問題,並在每次更改時重新啟動主伺服器和從伺服器,並多次執行代理以確保它被刷新。

應用於機器的模組的所有其他方面都可以工作 - 只是不是這個。

有什麼想法嗎?

這看起來實際上是一個 Puppet 錯誤 - 我正在使用動態環境,所以我的模組最初放在 /etc/puppet/environments/beta/chocolatey/ 下,但是當我將模組移到 /etc/puppet/modules 然後它工作。

有趣的是自定義類型在環境中執行良好 - 但自定義提供程序無法同步。

該模組看起來效果很好 - 可能是一些怪癖,如果我遇到任何我會修補它並送出拉取請求。

一旦您解決了 modulepath 的問題,這裡有一些與可能出現的其他問題以及如何解決這些問題相關的更多資訊。

Chocolatey 提供程序(現在位於Chocolatey/chocolatey)需要安裝 Chocolatey 本身。自v1.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,
}

引用自:https://serverfault.com/questions/439111