Como eu acesso uma variável de ambiente em um manifesto de fantoche?

14

Como eu acesso uma variável de ambiente (do ambiente do daemon do boneco) em um manifesto de fantoche?

    
por joeforker 29.03.2010 / 23:09

5 respostas

7

Acho que precisamos de mais informações sobre o que você está tentando alcançar ... Facter expõe por padrão as variáveis de ambiente FACTER_:

link

 $ FACTER_FOO="bar" 
 $ export FACTER_FOO
 $ facter | grep 'foo'
   foo => bar

Mas para $ PATH ou $ USER ... Por que não diz ao fantoche para usar um determinado caminho ou um usuário (para um exec?) explicitamente?

    
por 31.03.2010 / 08:58
6

Pelo que posso dizer, o Puppet é executado sem nenhuma variável de ambiente Bash. Parece obter todo o seu ambiente de Facter. Existe um script aqui para importar seus envios regulares como envoltórios do Facter.

    
por 20.04.2010 / 19:43
6

Você precisaria usar uma função do lado do servidor para isso se quiser o ambiente do puppetmaster. Desde facter você recebe fatos do cliente.

$ RUBYLIB / fantoche / parser / functions / env.rb:

module Puppet::Parser::Functions
  newfunction(:env) do |args|
    variable = args[0]
    ENV[variable]
  end
end

Use em seus manifestos como:

$blah = env("PATH")
    
por 09.09.2010 / 04:37
1

No Puppet enterprise 2.5.1 você pode acessá-lo via / etc / env.

Verifique também se você tem o ambiente correto definido em seu /etc/puppetlabs/puppet/puppet.conf - deve ser algo como isto:

[production]
  modulepath = /etc/puppetlabs/puppet/environments/production/modules:/opt/puppet/share/puppet/modules
  manifest   = /etc/puppetlabs/puppet/environments/production/manifests/site.pp
    
por 08.06.2012 / 06:14
-1

A resposta é um pouco decepcionante: você não pode (a menos que aprimore Puppet ou Facter). Recentemente, escrevi uma breve postagem sobre este tópico: Acessando variáveis de ambiente dentro do Puppet

Um breve resumo: O Facter está sendo executado em todos os sistemas de agentes do Puppet. Simplesmente aprimore o Facter para coletar todas as variáveis de ambiente e então você pode acessá-las dentro dos manifestos Puppet.

Espero que ajude!

    
por 02.06.2013 / 20:48

Tags