Graças a @SebastianWeigand, uma colega de trabalho, descobri que o uso de cammel-case nos nomes das variáveis estava causando o problema. Mudar para "variableone" e "variabletwo" em ambos os lados resolveu isso.
Dado que o seguinte é configurado no meu Vagrantfile:
puppet.facter = {
'variableOne' => 'one',
'variableTwo' => 'two'
}
... e o seguinte está no manifesto:
notify{ "Got here with ${variableOne} and ${variableTwo}":}
Quando eu corro vagrant up
(ou vagrant provision
se já está em cima) vejo a seguinte linha na saída:
==> default: Notice: Got here with and
e quando adiciono --debug
ao comando vagrant, também vejo isso na saída:
==> 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)
Por que as variáveis não são preenchidas no manifesto?
Exemplo de repo para reproduzir: link
Talvez sua notificação esteja em um namespace. Você pode tentar acessar as variáveis faciais no escopo superior por meio de:
notify{ "Got here with ${::variableOne} and ${::variableTwo}":}