Receita do Chef para instalar o verniz 3.0 no ubuntu lúcido?

4

Aqui está o meu problema. Eu quero o Varnish 3.0, mas o Lucid só tem o pacote 2.1 disponível.

Então, usando o Chef, eu preciso fazer uma receita de instalação que adicione o repositório verniz-cache.org às fontes apt e instale o pacote verniz 3.0.

(Eu tenho a opção de construí-lo a partir do código-fonte (certo?), mas se eu fizer, não receberei os scripts /etc/init.d (certo?)).

Então estou escrevendo uma receita do apt_install.rb que presumivelmente adiciona o repositório:

apt_repository "varnish-3.0" do
  uri "http://repo.varnish-cache.org/ubuntu/"
  repo_name "varnish-3.0"
  distribution "lucid"
  components ["varnish-3.0"]
  key "http://repo.varnish-cache.org/debian/GPG-key.txt"
  deb_src true
  action :add
end

E, de fato, isso adiciona um verniz-3.0-source.list em /etc/apt/sources.list.d que diz:

# Created by the Chef apt_repository LWRP
deb http://repo.varnish-cache.org/ubuntu/ lucid main

Então eu tenho

package "varnish" do
  source "http://repo.varnish-cache.org/ubuntu/"
  action :install
end

que continua a instalar a versão 2.1 no meu servidor, não 3.0.

Se eu especificar uma "versão" no bloco de pacote, recebo "versão não encontrada".

O que estou perdendo aqui? Deve ser algo simples.

    
por Mojo 08.08.2012 / 18:25

2 respostas

2

Meu maior problema foi uma versão antiga do livro de receitas apt. Mesmo assim, os nomes de distribuição do Varnish são um pouco incomuns. Aqui está minha configuração:

apt_repository "varnish-3.0" do
  uri "http://repo.varnish-cache.org/ubuntu/"
  repo_name "varnish-3.0"
  distribution "lucid"
  components ["varnish-3.0"]
  key "varnish-cache.org.gpg-key.txt"
  deb_src true
  action :add
end

package "varnish" do
  source "http://repo.varnish-cache.org/ubuntu/"
  version "3.0.2-1~1lucid1"
  options "--force-yes"
  action :install
end

A chave do repositório é incluída como um arquivo de livro de receitas.

Ao executar esta receita em cima de uma instalação existente do Varnish 2.3, a primeira execução chef-client falha ao tentar lidar com as caixas de diálogo do arquivo de configuração atualizado do apt. No meu caso, o segundo chef-cliente executa a limpeza e corretamente.

    
por 18.08.2012 / 02:07
0

Eu acho que o método que o OP respondeu é o caminho certo.

No entanto, se isso não for aceitável por uma razão ou outra, a outra coisa que você poderia ter feito é criar seu próprio pacote .deb a partir do código-fonte.

Pessoalmente, em vez de usar cada gerenciador de pacotes com sabores diferentes do Crazy, eu uso o FPM da Jordan Sissel. O FPM facilita bastante a criação de diferentes tipos de pacotes, e a documentação orienta você em exemplos concretos, como Caso de Uso - Pacote algo que usa 'make install' .

(Nota pessoal: Este foi um excelente uso para Vagrant .)

    
por 27.08.2013 / 03:13

Tags