Receita Puppet 3.8 para instalar o pacote via pip Python

0

Como não tenho o Puppet 4.2 ou posterior para o provedor pip3, qual é a abordagem alternativa para instalar pacotes Python manualmente por meio do comando 'pip3'?

Se eu usar a abordagem 'exec', como controlar o pacote de ser reinstalado o tempo todo? (ou seja, como eu digo 'aplicar boneco' que o pacote já está instalado)

    
por tgharold 13.09.2015 / 11:47

1 resposta

2

depois de lidar com esse problema eu mesmo ...

você pode verificar se o pacote que você deseja instalar está lá

  exec { 'install python packages':
     command   => 'pip3 install flask flask_restful apiai',
     path => ['/usr/bin/'],
     unless  => '/usr/bin/test -f /usr/local/lib/python3.4/dist-packages/flask/app.py'
  }

Se isso não funcionar para você (talvez você deseje instalar muitos pacotes), você pode usar um facet personalizado e realizar a instalação somente se esse fato não existir. você precisa fazer algo assim -

if ($need_to_install == undef ) {

  exec { 'install python packages':
    command   => 'pip3 install flask flask_restful apiai; touch /root/installed.txt',
    path      => ['/usr/bin/'],
    before    => Exec['create custom facter'],
  }

  exec { 'create custom facter':
    command  => "mkdir -p /etc/facter/facts.d; echo 'need_to_install=false' > /etc/facter/facts.d/check_pip_install.txt",
    provider => shell,
  }

 }

BTW, você também pode usar este script para instalar o pacote pip3 no modo fantoche normal. link

    
por 14.04.2016 / 09:39

Tags