Por que minhas variáveis fantoche não são atribuídas pelas opções puppet.facter do Vagrant?

4

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

    
por Eric Smalling 11.12.2014 / 22:56

2 respostas

2

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.

    
por 11.12.2014 / 23:18
0

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}":}
    
por 11.12.2014 / 23:08