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"
Service.pp:
class ntp::service ($ntp_services) {
service {"$ntp_services":
hasrestart => false,
hasstatus => true,
ensure => running,
enable => true,
}
}
これはcentos6で非常にうまく機能しており、以前はcentos7で機能していました。
このようにパラメータを定義すると機能します:
ntp::service::ntp_services: "ntpd"
ただし、1つのサービスに対して1つのパラメーターを定義する必要があります...
ありがとう
この行の引用符が問題を引き起こしている可能性があります。
service {"$ntp_services":
変数を含む""
を使用すると、変数が展開された文字列が作成されますinside it。これがおそらく、Puppetが2つの異なるサービスではなく、[ntpd ntpdate]
という名前の単一のサービス(つまり、配列)を報告している理由です。
次のように変更します。
service { $ntp_services:
これにより、元の配列が渡され、アイテムごとに1つのリソースが生成されます。