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

марионеточная служба не останавливает службу

notice ("This should be echoed")
service { "iptables":
    ensure => "stopped",
}

Это не останавливает iptables, я не знаю почему. service iptables stop работает отлично. Puppet 2.6.17 на CentOS 6.3.

ОБНОВИТЬ:
/etc/puppet/manifests/nodes.pp

 node 'linux-dev' {
    include mycompany::install::apache::init
    include mycompany::config::services::init
}

/etc/puppet/modules/mycompany/manifests/config/services/init.pp

class mycompany::config::services::init {
    if ($::id == "root") {
        service { 'iptables':
        #name => '/sbin/iptables',
        #enable => false,
        #hasstatus => true,
        ensure => stopped
    } 
    notice ("IPTABLES is now being stopped...")

    file { '/tmp/puppet_still_works':
        ensure => 'present',
        owner => root

    } else {
    err("Error: this manifest must be run as the root user!")
    }
}

Для iptables он другой, так как там нет демона, это не похоже, например, на демон crond. Тип службы будет искать в таблице процессов имя процесса «iptables», и если его там нет, он будет считать, что он остановлен. Добавьте hasstatus => true, и все заработает. EDITED: status => "true", сработало это обычно вручную для службы типа, эта команда должна возвращать 0, если служба запущена, и ненулевое значение в противном случае.

notice ("This should be echoed")
service { "iptables":
    ensure => "stopped",
    hasstatus => "true",
    status => "true",    

}