r10k no CEntOS 6.7, alguém conseguiu esse feito?

1

Vocês sabem como alguém pode executar o r10k corretamente em um servidor CEntOS 6.7 com o Puppet 3.6? Isso é uma contradição em termos?

Eu verifiquei a lista de requisitos do código fonte do r10k: link

Parece que requer o Ruby 1.9. Justo.

Mas ...

$ facter rubysitedir rubyversion
rubysitedir => /usr/lib/ruby/site_ruby/1.8
rubyversion => 1.8

Assim começa a busca ignóbil pelo lendário Ruby.

Repositórios de Terceiros

Mas a maioria dos repositórios de terceiros não oferece o Ruby 1.9 para o CEntOS 6.7.

Eu não instalei corretamente o O único pacote que encontrei, no bom e velho repositório de Remi , falhou devido a uma falta do usuário mockbuild. Eu acho que só seria necessário se construído a partir da fonte.

Ruby 'managers'

Eu instalei o RVM.

Isso, no entanto, exigiu glibc = 2.12-1.166.el6_7.7 e meu sistema não tem essa versão específica disponível (por boas razões).

Independentemente disso, isso só teria funcionado para usuários específicos. As coisas podem ficar estranhas com os usuários do sistema que precisam usar o Ruby se o RVM foi instalado. rbenv , que pode ter mitigado esse problema, me deu a mesma idéia sobre a glibc:

$ mkdir ~/.tmp && export TMPDIR=~/.tmp && rbenv install 1.9.3-p551  ##  How did it come to this...
    Downloading yaml-0.1.6.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749
Installing yaml-0.1.6...

BUILD FAILED (CentOS release 6.7 using ruby-build 20160913)

Inspect or clean up the working tree at /export/home/nger/.tmp/ruby-build.20161117064013.21057
Results logged to /home/nger/.tmp/ruby-build.20161117064013.21057.log

Last 10 log lines:
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in '/home/nger/.tmp/ruby-build.20161117064013.21057/yaml-0.1.6':
configure: error: no acceptable C compiler found in $PATH
See 'config.log' for more details

System Ruby

DE QUALQUER MANEIRA, pensei que poderia usar o Ruby 1.8, o sistema Ruby do CEntOS 6:

Monkey Patch para 1.8 :)

No entanto, os desenvolvedores do r10k removeram o suporte para Ruby 1.8 : (

Coleções de fantoches

Em seguida, a pedido dos comentaristas, verifiquei a documentação das Coleções de marionetes.

link não tem nada para o Ruby.

O pacote fantoche-agente não atualiza o sistema Ruby, como (eu pensei?) Anunciado:

Noentanto,apósainstalação,pareceque,defato,produzirumRubysobmedidaapenasparaPuppet.Consultearespostaabaixoparamaisdetalhes.

OCEntOS6ésuportadoporr10k?

OCEntOS6suportaoRuby1.9?

Estoupertodedesistirdaqui,serverfault.coméomeujogode'AveMaria'.

Eutenhomaisopçõesalémdotrabalhoreal,éclaro.EupoderiaapenasimploraraosmantenedoresdopacoteRedHatparaatualizaremseuRuby,ouincomodarcertaspessoas(vocêsabequemvocêé)paraaceleraroritmoemseusesforçosdoCEntOS7...

Notas:

Nota1:Eunãoencontreimuitonoserverfaultsobreestaquestão. link

Nota 2: Perguntei isso como parte da minha pesquisa sobre a seguinte pergunta anterior:

Como adiciono módulos de fantoches de terceiros sem comprometê-los com o controle de fontes?

    
por Nathan Basanese 17.11.2016 / 01:34

2 respostas

1

r10k 1.5.1 é a última versão a suportar o ruby 1.8.7. Mesmo se você instalar o 1.5.1, serão instaladas dependências mais novas que liberadas, que também são incompatíveis com o ruby 1.8.7. Obviamente, resultando em erros não-r10k, e a razão pela qual você pode estar olhando para esta resposta.

yum install ruby-devel rubygems rubygem-rspec rubygem-rake
gem install --no-rdoc --no-ri semantic_puppet -v 0.1.3
gem install --no-rdoc --no-ri r10k -v 1.5.1
    
por 14.02.2017 / 22:13
0

A resposta foi em coleções de fantoches, aparentemente:

$ curl -O https://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm
$ sudo rpm -ivh puppetlabs-release-pc1-el-6.noarch.rpm
$ sudo yum -d 1 install -y puppet-agent
$ /opt/puppetlabs/puppet/bin/ruby --version
ruby 2.1.9p490 (2016-03-30 revision 54437) [x86_64-linux]

r10k funcionará bem com isso.

No entanto, isso fornece uma versão posterior do Puppet.

$ /opt/puppetlabs/bin/puppet --version
4.8.0

Isso não pode ser resolvido pela força de instalar uma versão anterior do pacote puppet-agent , embora:

$ sudo yum info puppet-agent-1.0.0 | grep 'puppet ('
        : puppet (4.0.0)

A verdadeira resposta, aqui, é compilar sua própria versão do Ruby, e disponibilizá-lo para o seu sistema a partir do FTP ou de um repositório interno.

Para responder à pergunta explícita:

SIM, VOCÊ PODE INSTALAR o r10k nos CENTROS 6, USANDO CURL, RPM E YUM.

Quanto a saber se você pode manter o seu velho e morrendo Puppet 3.6, ao fazê-lo, isso ainda está no ar.

(Nota: alguma saída foi intencionalmente omitida pelo The Management para proteger os culpados e / ou tolos).

    
por 17.11.2016 / 08:15