Fatos do Puppet: devemos usar o lsbdistid ou o sistema operativo?

2

Com as versões atuais do Puppet e do Facter, recebo as mesmas informações em lsbdistid e operatingsystem facts - não vejo osfamily porque no Gentoo Linux ele relata uma string genérica "Linux".

Ao usar essa informação nos módulos Puppet (por exemplo, para escolher nomes de pacotes a serem instalados) existe alguma razão técnica ou consenso estabelecido para usar lsbdistid ou operatingsystem ?

    
por Luke404 14.02.2013 / 18:33

2 respostas

5

Eu gosto de osfamily . O LSB muitas vezes não é instalado por padrão e em algumas distros como o RHEL / CentOS a cadeia de dependências para lsb_release é enorme. Além disso, se você não conhece a distro, como você sabe o nome do pacote LSB? operatingsystem é irritante porque eu geralmente não me importo se é RedHat vs. CentOS, ou Debian versus Ubuntu. Eu quero conhecer as famílias distro porque as idiossincrasias entre as distros são geralmente as mesmas dentro das famílias.

O suporte do Gentoo foi mesclado no osfamily ontem (13 de fevereiro de 2013), ele deve fazer o próximo lançamento. Você sempre pode usar uma combinação de osfamily para verificar o Debian ou RedHat e operatingsystem para verificar o Gentoo.

osfamily e operatingsystem são basicamente apenas um monte de if ou case condições. Seria muito fácil personalizar o seu como um fato personalizado ou um parâmetro de classe com base nas suas necessidades. Como:

class osfacts {
  if $::kernel == 'Linux' {
    $os = $::operatingsystem ? {
      Gentoo => 'Gentoo',
      default => $::osfamily,
    }
  }
  elsif $::kernel == 'SunOS' {
    $os = $::operatingsystem
  }
  elsif ($::operatingsystem == 'Darwin') and
        ($::macosx_productname == 'Mac OS X') {
    $os = 'MacOSX'
  }
  else {
    $os = $::operatingsystem
  }
}
    
por 15.02.2013 / 00:59
0

Isso é um pouco complicado, porque no final do dia todo sistema operacional funciona de maneira um pouco diferente. Antes de mais nada, decida quais distros seu módulo quer suportar e depois teste-o.

Além disso, não vejo motivos para não usar os dois fatos como uma maneira de distinguir a distribuição. Não há nada de errado com isso.

    
por 14.02.2013 / 23:13

Tags