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

Linux-Puppet: Ошибка: не удалось получить каталог с удаленного сервера, в чем может быть причина?

Я написал модуль 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}",
  }

Спасибо за вашу помощь.