Почему поведение rspec-puppet отличается для поиска hiera с использованием функций «lookup» или «hiera»?

Запустив тесты спецификации рейка, я получаю:

Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See 
https://docs.puppet.com/puppet/4.10/reference/deprecated_language.html
(file & line not available)

Поэтому я решил перейти на использование поиска. Однако мои поиски hiera теперь не работают

v1 = lookup('key') # doesn't work
v2 = hiera('key', undef) #works

Я использую rspec-puppet-2.5.0 и Onceover 3.2.0, потому что в противном случае другие вещи не работают с используемой нами версией Puppet Enterprise (эквивалентно puppet 4.7.0) (разве вы не любите Ruby? версия).

Я подозреваю, что что-то в перехвате поиска rspec-puppet не работает должным образом, и правильный hiera.yaml не найден. Прежде чем приступить к отладке, мне было интересно, видел ли кто-нибудь это уже?


person smcp    schedule 07.09.2017    source источник
comment
Без дополнительной информации лучше всего предположить, что вы пытаетесь использовать функцию поиска Puppet с конфигурацией Hiera ‹ 4. Обратите внимание, что вы можете использовать Hiera ›= 4, но ваша конфигурация настроена на более низкую. Кроме того, ваше предупреждение направляет вас к документам 4.10, поэтому вы используете PE более поздней версии, чем эквивалент Puppet 4.7.0. Я бы предположил что-то вроде 2017.2 или 2016.4. Тем не менее, дополнительная информация поможет уменьшить количество предположений.   -  person Matt Schuchard    schedule 07.09.2017


Ответы (1)


Большое спасибо @matt-schuchard. Именно по этой причине: конфигурация hiera v3. Так что я подходил к рефакторингу не в том направлении. Сначала обновите hiera, а затем сам марионеточный код — правильная последовательность для этого.

person smcp    schedule 08.09.2017