Я пытаюсь вручную установить Java или ActiveMQ на свой агент-сервер с главного сервера, установка у меня работает нормально, но проблемы, с которыми я сталкиваюсь, возникают всякий раз, когда я запускаю puppet agent -t в моем агенте, ActiveMQ устанавливается снова и снова, в основном установка ActiveMQ не проверяет мои манифесты.
1.) Как мы можем проверить работу настраиваемой службы с помощью манифеста? 2) Как этого добиться с помощью условного оператора (if, else ...)?
Пожалуйста, найдите мой код ниже ..
class activemq {включает wget :: gxactivemq
exec { 'ActiveMQExe':
command => "/bin/tar xzf /gx/mnt/software/ESB/apache-activemq-5.5.1-bin.tar.gz",
cwd => "/gx/mnt/software/ESB/",
require => [wget::fetch["activemqDownload"]],
logoutput => true,
}
file { '/gx/logical/ESB/':
ensure => link,
owner => "ubuntu",
group => "ubuntu",
target => '/gx/mnt/software/ESB/',
require => [Exec["ActiveMQExe"]],
}
file { '/gx/logical/ESB/apache-activemq-5.5.1':
ensure => "directory",
owner => "ubuntu",
group => "ubuntu",
recurse => true,
require => [Exec["ActiveMQExe"],File["/gx/logical/ESB/"]],
}
file { '/gx/logical/ESB/apache-activemq-5.5.1/conf':
ensure => "directory",
owner => "ubuntu",
group => "ubuntu",
mode => 777,
recurse => true,
require => [Exec["ActiveMQExe"],File["/gx/logical/ESB/"]],
}}
Спасибо, Джитин
Одна из возможностей может заключаться в использовании предложений Exec 'except', 'created' или 'onlyif': другими словами, вызывать команду tar, только если один из файлов (или каталогов), созданных командой tar, еще не существует.
Точно так же, что касается службы, вы можете посмотреть документацию для ресурса службы (http://docs.puppetlabs.com/references/latest/type.html#service).