Назад | Перейти на главную страницу

Проблема с 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"

Service.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":

С помощью "" содержащий переменную создаст строку с расширенной переменной внутри Это. Вероятно, поэтому Puppet сообщает об одной службе с именем [ntpd ntpdate] (т.е. массив), а не две разные службы.

Измените его на:

service { $ntp_services:

и это должно передать исходный массив, генерируя один ресурс для каждого элемента.