Я написал модуль Puppet, который должен создать каталог, скопировать туда файлы и изменить владельца файлов. Имя модуля - «рабочая область». В папке манифестов модуля есть три файла:
-rw-r--r-- 1 root root 9578 2015-03-25 05:03 config.pp
-rw-r--r-- 1 root root 668 2015-03-25 04:37 init.pp
-rw-r--r-- 1 root root 519 2015-03-25 04:27 params.pp
Содержимое init.pp:
class workspace (
$debug_mode = $workspace::params::_debug_mode,
$jdk_enable = $workspace::params::_jdk_enable,
$jdk_ver = $workspace::params::_jdk_ver,
$tomcat_enable = $workspace::params::_tomcat_enable,
$tomcat_ver = $workspace::params::_tomcat_ver,
$component_ver = $workspace::params::_component_ver,
$component_filename = $workspace::params::_component_filename,
$components_locations = $workspace::params::_components_locations,
$app_user = $workspace::params::_app_user,
$app_group = $workspace::params::_app_group,
) inherits workspace::params {
include workspace::config
}
Соответствующая часть config.pp:
class workspace::config {
## Default permissions
File {
owner => ${::workspace::app_user},
group => ${::workspace::app_group},
}
Содержимое params.pp:
class workspace::params {
$_debug_mode = hiera("debug_mode", false)
$_jdk_enable = hiera("jdk_enable", true)
$_jdk_ver = hiera("jdk_ver", "")
$_tomcat_enable = hiera("tomcat_enable", false)
$_tomcat_ver = "6.0.29"
$_component_ver = hiera("component_ver", "")
$_component_filename = hiera("component_filename", "")
$_components_locations = "/nfs/software/RC-FROM-IL/newJarRepos/v3.13/"
$_app_user = "peeradmin"
$_app_group = "company_peeradmin_linux_policy"
}
Проблема в том, что когда я бегу puppet agent -t
, Я получаю следующую ошибку:
[root@pnd01 ~]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not match ${::workspace::app_user}, at /etc/puppet/environments/production/modules/workspace/manifests/config.pp:5 on node pnd01.company.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
И я не могу найти причину ошибки. Я пробовал редактировать "владельца" вот так:
owner => ${app_user},
owner => ${::workspace::params:_app_user}
owner => ${::workspace::params:app_user}
Но ничего не работает ... Вы можете попытаться найти причину, пожалуйста?
Вроде как добавление " "
для переменных владельца и группы исправлена проблема. Я изменил это:
## Default permissions
File {
owner => ${::workspace::app_user},
group => ${::workspace::app_group},
}
В это:
## Default permissions
File {
owner => "${::workspace::app_user}",
group => "${::workspace::app_group}",
}
Спасибо за вашу помощь.