кукольный сервис не запускается

У меня есть следующий код для небольшого класса для Tomcat. Класс работает нормально, но служба в конце скрипта не запускается. любое руководство было бы здорово. Я не знаю, почему служба не запускается.

содержимое класса Tomcat6

# Class: tomcat6
#
# This module manages tomcat6
#
# Parameters: none
#
# Actions:
#
# Requires: see Modulefile
#
# Sample Usage:
#
class tomcat6 ( $parentdir               = '/usr/share',
                $tomcat_version          = '6.0.37',
                $tomcat_major_version    = '6',
                $digest_string           = '171d255cd60894b29a41684ce0ff93a8',
                $tomcat_exe              = 'tomcat6/tomcat.erb',
                $java_home               = '/usr/java/latest',
                $jvm_route               = 'jvm1',
                $shutdown_password       = 'SHUTDOWN',
                $admin_port              = 8005,
                $http_port               = 8080,
                $tomcat_user             = 'root',
                $tomcat_group            = 'root',
                $admin_user              = 'tomcat',
                $admin_password          = 'tomcat'
             ) {

  $basedir     = "${parentdir}/apache-tomcat-6.0.37"

  file {'/installs':
    ensure  => 'directory',
    source  => 'puppet:///modules/tomcat6/',
    recurse => 'remote',
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
  }

  exec { 'tomcat_untar':
    command => 'tar -zxvf /installs/apache-tomcat-6.0.37.tar.gz -C /usr/share/',
    cwd     => '/usr/share/',
    creates => "/usr/share/apache-tomcat-6.0.37",
    path    => ["/bin"],
    require =>  [File["/installs"]]
  }

  file { "/etc/init.d/tomcat":
        ensure => present,
        owner  => root,
        group  => root,
        mode   => 0755,
        content => template($tomcat_exe),
        require => Exec["tomcat_untar"]
  }

    service { "tomcat":
        ensure  => "running",
        enable  => "true",
        require => File["/etc/init.d/tomcat"]
    } 
}

содержимое tomcat.erb

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.6.0_26
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-6.0.37

case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0

person Abu Hamdan    schedule 07.08.2013    source источник


Ответы (1)


Puppet проверяет состояние /etc/init.d/tomcat, чтобы узнать, запущена ли служба. Если он не получит надлежащего статуса возврата, если служба остановлена, она не будет пытаться ее запустить.

http://docs.puppetlabs.com/references/latest/type.html#service

Проверьте хэшстатус.

Альтернативой является выполнение Puppet grep через таблицу процессов с параметрами «pattern» и «hasstatus», установленными в false.

person Ger Apeldoorn    schedule 08.08.2013