Puppet
Puppet 和 systemctl 的麻煩
我在使用 puppet 和 systemctl 時遇到了一些問題。我曾經為“服務”載入幾個參數,但它不再在 centos7 上工作。
這是我的錯誤:
Error: Could not enable [ntpd ntpdate]: Error: /Stage[main]/Ntp::Service/Service[[ntpd ntpdate]]/enable: change from false to true failed: Could not enable [ntpd ntpdate]:
這是我的程式碼:
希拉:
ntp::service::ntp_services: - "ntpd" - "ntpdate"
服務.pp:
class ntp::service ($ntp_services) { service {"$ntp_services": hasrestart => false, hasstatus => true, ensure => running, enable => true, } }
它在 centos 6 上執行良好,並且曾經在 centos 7 上執行。
如果我這樣定義參數,它會起作用:
ntp::service::ntp_services: "ntpd"
但我必須為 1 個服務定義 1 個參數…
謝謝
此行中的引號可能會導致問題:
service {"$ntp_services":
使用
""
包含變數將創建一個字元串,其中擴展了變數。[ntpd ntpdate]
這可能就是為什麼 Puppet 使用名稱(即數組)報告單個服務而不是兩個不同的服務的原因。將其更改為:
service { $ntp_services:
這應該傳遞原始數組,為每個項目生成一個資源。