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}

Но ничего не работает... Можете ли вы найти причину, пожалуйста?

1 ответ

Решение

Вроде как добавление " " Чтобы переменные владельца и группы исправили проблему. Я изменил это:

## Default permissions
  File {
    owner => ${::workspace::app_user},
    group => ${::workspace::app_group},
  }

В это:

## Default permissions
  File {
    owner => "${::workspace::app_user}",
    group => "${::workspace::app_group}",
  }

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

Другие вопросы по тегам