Chef gem_package não usando o caminho binário

1

Estou tentando instalar as gemas "sensu_plugin" e "mixlib-shellout", em um servidor windows 2008r2, de uma receita. Neste último, eu tenho o seguinte código:

%w{ sensu-plugin mixlib-shellout }.each do |gem_plugin|
  gem_package gem_plugin do
    gem_binary("C:/opt/sensu/embedded/bin/gem")
    options("--no-rdoc --no-ri")
    action :install
  end
end

No entanto, ao executar a receita na minha máquina, recebo o erro "ERRO: Ao executar gem ... (Errno :: ENOENT) Nenhum arquivo ou diretório - U: /". O que eu descobri é que sempre que eu tento instalar um pacote gem usando o binário gem localizado no diretório chef-client (C: \ opscode \ chef \ incorporado \ bin \ gem), ele levantou este último erro.

A coisa é que a gem que eu gostaria de usar para instalar os pacotes gem está realmente localizada em C: / opt / sensu / embedded / bin / gem, que eu declarei na opção gem_binary.

No final, parece que o chef está ignorando a opção gem_binary e tentando instalá-lo a partir de seu próprio binário gem.

Consegui que funcionasse em um ambiente de teste com apenas 1 disco (C: /) e funciona lá. Mas assim que eu entro em um ambiente ao vivo com disco montado (U: e muitos mais), recebo o erro anterior. Poderia ser porque o chef está procurando a casa do usuário que poderia estar no U: drive?

Não consigo ver o que há de errado com essa configuração. O gem_binary está realmente indicando qual binário usar?

    
por Cocotton 03.02.2014 / 21:56

0 respostas