Puppet ignora parte do arquivo modelado

1

Existe uma maneira de ignorar parte de um arquivo modelo?

Eu tenho um serviço que tem um arquivo de configuração e cada vez que o serviço é iniciado, ele grava a hora de início no arquivo de configuração. Isso faz com que o puppet detecte uma alteração e, como eu o notifico, ele reiniciará o serviço. Não quero que o fantoche reinicie o serviço logo depois de iniciá-lo.

Então, existe uma maneira de fazer um fantoche ignorar parte de um arquivo de modelo?

    
por Andy Arismendi 18.07.2013 / 23:07

2 respostas

0

Eu não acho que isso seja possível, o puppet calcula um md5 do arquivo para verificar se há alterações no arquivo. É possível escrever a hora de início para outro arquivo?

    
por 18.07.2013 / 23:54
0

Minha solução é semelhante à do Zoredache, mas varia ligeiramente porque você não precisa de um script inteligente para fazer a comparação.

Digamos que seu arquivo de configuração seja /etc/my_application.conf e seja assim:

start_time=<some value set by application on start-up>
option1=VALUE
...

No fantoche, adicione um arquivo aos arquivos / para o seu arquivo de configuração, que se parece com:

start_time=DummyValue
option1=VALUE
...

Em seguida, use um manifesto que implanta o arquivo em um local alternativo e, se houver alterações, acionará uma cópia que acionará o serviço, da seguinte forma:

file { '/etc/my_application.staging.conf':
  ensure => present,
  source => 'puppet:///modules/my_application/my_application.conf',
  owner  => ...
  notify => Exec['install-my_application.conf'],
}

exec { 'install-my_application.conf':
  refreshonly => true,
  command     => '/bin/cp /etc/my_application.staging.conf /etc/my_application.conf',
  notify      => Service['my_application'],
}

service { 'my_application':
  ...
}

Isso permite que você reinicie em novas alterações de configuração, mas não reiniciará o serviço se my_application.conf for modificado localmente. Esta não é uma solução perfeita porque não salva você de modificações locais, mas esperamos que você possa gerenciar aqueles com permissões e um aviso claro na parte superior do arquivo de configuração.

    
por 19.07.2013 / 01:34

Tags