Faça o fantoche rodar sem sobrescrever minhas gemas na instalação do RVM

2

Eu tenho uma configuração de marionetes contendo um mestre de marionetes e um par de nós - isso funciona como planejado.

No entanto - no nó mais recente em que estou trabalhando, preciso instalar o rvm / ruby + nginx / passenger. Isso é feito usando esses módulos de fantoches

maestrodev-rvm (v1.13.1) puppet-nginx (v0.6.0)

Tudo isso está instalado e funcionando - eu posso fazer bundle instalar e confirmar isso é instalado no gemset direito e se eu for para uma pasta diferente, eu posso confirmar gem lista não está pegando gems para este gemset.

Acessar meu aplicativo também funciona e produz os resultados esperados.

Até aí tudo bem .. os problemas começam na próxima vez que o fantoche é executado - isso faz com que todas as minhas gemas com extensões nativas sejam quebradas. Estou recebendo o erro:

Message from application: incompatible library version - /usr/local/rvm/gems/ruby-2.3.1@robot/gems/http_parser.rb-0.6.0/lib/ruby_http_parser.so (LoadError)

Ao comparar o conteúdo do arquivo antes / depois da execução do boneco (usando o md5sum), estou recebendo checksums diferentes.

Parece que estou obtendo alguma saída inesperada ao executar

/opt/puppetlabs/puppet/bin/gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.5
  - RUBY VERSION: 2.1.9 (2016-03-30 patchlevel 490) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1
  - RUBY EXECUTABLE: /opt/puppetlabs/puppet/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.3.1/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-2.3.1
     - /usr/local/rvm/gems/ruby-2.3.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/rvm/gems/ruby-2.3.1/bin
     - /usr/local/rvm/gems/ruby-2.3.1@global/bin
     - /usr/local/rvm/rubies/ruby-2.3.1/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /opt/puppetlabs/bin
     - /usr/local/rvm/bin

Como é que o GEM PATHS está apontando para o ruby-2.3.1? Como posso controlar esse valor ao usar o rubi empacotado com o fantoche? Eu só consegui encontrar a configuração para alterar o caminho da gem na documentação do puppetserver.

    
por Mikkel Riber 10.02.2017 / 13:41

0 respostas