LINUX.ORG.RU
ФорумAdmin

Использование переменной из Hiera 5 в Puppet

 


0

1

Здравствуйте!

Подскажите пожалуйста, как правильно вызывать переменную из hiera в манифесте puppet?

Я создаю файл hiera common.yaml, в который пишу название переменной и её значение.

#common.yaml

test_var: ‘значение переменной’

Затем в модуле test_module в классе test_class в манифесте test_class.pp я пытаюсь вызвать test_var.

#test_class.pp

notify{$test_var:}

При выполнении «puppet agent -t» на клиенте выдаётся ошибка:

Error: Could not retrieve catalog from remote server: Error on SERVER: Server Error: Evaluation Error: Missing title. The title expression resulted in undef (file:/etc/puppetlabs/code/environments/production/modules/test_module/manifests/test_class.pp, line: 2, column: 8) on node generic-hostcert.domain.local Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run

Ответ на: комментарий от anonymous

Спасибо, поправил, к сожалению, это ничего не меняет. Кажется, нашёлся один способ: Если при объявлении класса в test_class.pp в скобках написать эту переменную (чего я изначально не делал):

#test_class.pp

class aimp::win_install ($test_var = ‘значение по-умолчанию’) {

notify{$test_var:}

}

то notify{$test_var:} выдаст значение переменной из hiera (файла common.yaml). Это выглядит, как решение. Но может быть кто-то подскажет другие варианты?

smekalun ()