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

Неудачи Hiera с марионеткой 3 rc3

Я только что установил puppet 3 (3.0.0-0.1rc3puppetlabs1) на 32-битную виртуальную машину Ubuntu 12.04. Я использовал пакеты для установки.

Затем я скопировал существующие модули и манифесты из своего производственного мастера марионеток 2.7.x, а также мои hiera.yaml и hieradata / *.

Когда я бегу puppet agent --test Получаю следующее:

Error: Puppet::Parser::AST::Resource failed with error NoMethodError: undefined method `empty_answer' for Hiera::Backend:Module at /etc/puppet/environments/test/manifests/nodes/puppet_nodes.pp:47 on node ll-puppet-master-vm

Речь идет о следующей строке:

  class { 'basenode':
    is_puppet_master => true;
  }

Базовый узел:

class basenode (
  $is_puppet_master = false,
  $apt_host = 'repo.domain.com'
  ) {
...
}

Для модуля hiera явно не используется.

Также,

root@ll-puppet-master-vm:/usr/lib/ruby/1.8/puppet/parser/functions# ls hiera*
hiera_array.rb  hiera_hash.rb  hiera_include.rb  hiera.rb

Мне не хватает файла зависимости или файла конфигурации, но я не могу понять, что именно.

Мой hiera.yaml:

---
:hierarchy:
#  - %{node_id}
  - common
:backends:
  - yaml
  - puppet
:yaml:
  :datadir: '/etc/puppet/hieradata'

Мой puppet.conf:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
report=true
server=ll-puppet-master-vm
certname=ll-puppet-master-vm
pluginsync=true
archive_files = true
listen=true

[agent]
environment=test

[master]
facts_terminus = yaml
environment=test
manifest=/etc/puppet/environments/test/manifests/site.pp
modulepath=/etc/puppet/environments/test/modules:/etc/puppet/modules
ssl_client_header=SSL_CLIENT_S_DN
ssl_client_verify_header=SSL_CLIENT_VERIFY
storeconfig=true
dbadapter=mysql
dbuser = XXXXX
dbpassword = XXXXX
dbconnections = 75
reports = store

Оказывается, на самом деле это вызвано ошибка в некоторых версиях hiera-puppet.

Придется скопировать hiera_puppet.rb в каталог hiera-puppet / lib, либо дождаться выпуска нового RC, либо перейти на один из старых, незатронутых RC.