Puppet не добавляет мой сервис для запуска - PullRequest
5 голосов
/ 06 ноября 2011

У меня есть этот кукольный модуль (monit), в котором я объявляю, что служба monit включена (то есть запускается при загрузке машины)

class monit {
    $configdir = "/etc/monit.d"

    package {
        "monit": ensure => installed;
    }

    service { "monit":
        ensure => running,
        enable => true,
        require => Package["monit"],
        provider => init;
    }

    file {
        '/etc/monit.d':
            ensure => directory;
        '/etc/monit.conf':
            content => template('monit/monitrc.erb'),
            mode => 0600,
            group => root,
            require => File['/etc/monit.d'],
            before => Service[monit],
            notify => Service[monit],
    }
}

Затем я включил include monit в узел по умолчанию.Однако, когда я применяю эту конфигурацию, puppet не устанавливает monit в качестве службы запуска (используйте chkconfig --list monit, просто отображайте «off» и «off»)

Однако, если я запускаю puppet apply -e 'service { "monit": enable => true, } ',Для правильного запуска добавлен monit.

Я что-то здесь не так делаю?(Puppet 2.7.6)

Полную конфигурацию можно посмотреть по адресу https://github.com/phuongnd08/Giasu-puppet

1 Ответ

8 голосов
/ 06 ноября 2011

Возможно, проблема в строке provider => init, которая переопределяет поставщика по умолчанию для обработки служб.Поставщик init - это очень простой поставщик, который не поддерживает функцию «enableable», поэтому он не может настроить запуск службы при загрузке.

См. http://docs.puppetlabs.com/references/2.7.6/type.html#service о его возможностях.

В вашем примере puppet apply вы не указываете провайдера, поэтому он выбирает наиболее подходящего для вашей системы - в вашем случае провайдер "redhat", который использует chkconfig.

Toисправьте это, удалите строку поставщика из вашего определения service {}, и она снова будет по умолчанию наиболее подходящей.Вам нужно только указать поставщика, если он выбирает неправильно, и тогда лучше всего указать его как глобальное значение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...