Почему мои марионеточные переменные не присваивают puppet.facter опциями Бродяги?

Учитывая, что следующее является config'd в моем Vagrantfile:

puppet.facter = {
  'variableOne' => 'one',
  'variableTwo' => 'two'
}

... и следующее находится в декларации:

notify{ "Got here with ${variableOne} and ${variableTwo}":}

Когда я работаю vagrant up (или vagrant provision если это уже), я вижу следующую строку в выводе:

==> default: Notice: Got here with and

и когда я добавляю --debug к бродячей команде я также вижу это в выводе:

==> default: Running Puppet with default.pp...
DEBUG ssh: Re-using SSH connection.
 INFO ssh: Execute: FACTER_variableOne='one' FACTER_variableTwo='two' puppet apply --verbose --debug --manifestdir /tmp/vagrant-puppet-3/manifests --detailed-exitcodes /tmp/vagrant-puppet-3/manifests/default.pp (sudo=true)

Почему переменные не заполняют в декларации?

Пример repo для репродуцирования: https://github.com/ericsmalling/vagrantpuppet

4
задан 11 December 2014 в 23:56
2 ответа

Благодаря @SebastianWeigand, моему коллеге, я обнаружил, что использование cammel-case в именах переменных вызывало проблему. Переключение на "variableone" и "variabletwo" с обеих сторон исправило это.

2
ответ дан 3 December 2019 в 03:57

Может быть, ваше уведомление находится в пространстве имён. Можете ли вы попробовать получить доступ к переменным Facter в верхнем диапазоне имен через:

notify{ "Got here with ${::variableOne} and ${::variableTwo}":}
0
ответ дан 3 December 2019 в 03:57

Теги

Похожие вопросы