Puppet: contagem de referência para recursos e instalando / soltando-os sob demanda?

3

Ainda tentando fazer com que o boneco "faça o que eu quero" (ainda não sei como falar com ele corretamente) ...

Eu tenho o seguinte problema: um servidor Apache hospeda o conteúdo estático para vários clientes, e esse conteúdo estático é versionado:

node the.node.name {
    client { 'c1':
        version => 'v1',
        # otherstuff
    }
    client { 'c2':
        version => 'v2',
    }
}

Existem mais de 30 clientes definidos desta forma. E no total, existem entre 2 e 4 versões do conteúdo instalado a qualquer momento.

Agora, com o tempo, as versões evoluem - muito rapidamente. No momento, só consigo instalar novos conteúdos, mas nunca removo conteúdo obsoleto.

Como você faria para ter uma contagem de referência para versões instaladas e desinstalar versões obsoletas?

    
por fge 20.01.2012 / 14:24

2 respostas

1

Armazene seu conteúdo estático em um repositório git. Crie uma ramificação para cada versão de conteúdo que você deseja. Use o fantoche para criar um repositório, se não houver um, para garantir que a ramificação correta seja retirada e para atualizar automaticamente o repositório. O Git cuidará de adicionar e remover arquivos de lá. Reponha suas ramificações para qualquer revisão apropriada a qualquer momento.

Como alternativa, você pode achar que o rsync com os sinalizadores apropriados (excluir arquivos não presentes no mestre) também pode funcionar.

    
por 25.01.2012 / 16:27
0

A solução mais simples poderia ser a sobrecarga de gerenciamento na adição e remoção de pacotes.

  package { 'c1_v8': ensure => present, }
  package { 'c2_v7': ensure => present, }

  package { 'c1_v1': ensure => absent, }
  package { 'c2_v2': ensure => absent, }

Você pode ficar mais chique usando uma fonte de dados externa como hiera w / puppet-hiera para gerenciar quais pacotes devem estar em quais servidores.

    
por 20.01.2012 / 21:13

Tags