Ordenação do nó Puppet

1

Alguém pode me ajudar com a ordenação de nó fantoche, eu sei como controlar a seqüência dentro de classes usando require, before, subscribe etc , mas eu preciso ter 100% de certeza que meu node2 será executado somente após node1 porque meu node2 não pode funcionar sem node1 .

    
por Roman Iuvshin 18.11.2013 / 10:01

2 respostas

2

Não é possível fazer isso dentro do fantoche. Se você precisar realizar execuções de bonecos em servidores em uma ordem específica, será necessário usar outra ferramenta para orquestrar as execuções.

    
por 18.11.2013 / 21:09
0

Supondo que você esteja usando hosts Linux, você também pode fazer o mesmo com o host Windows usando uma abordagem alternativa ao bash. Uma abordagem algo generalizada poderia ser a seguinte ...

  1. No final da execução dos fantoches para node1, crie um arquivo específico no node2. Use ssh para realizar isso como um comando em um recurso de marionete. O ssh pode ser usado para executar um comando em um host remoto para criar um arquivo - muito fácil de realizar. Você colocaria isso em um recurso exec perto do final da execução do boneco no node1.

  2. Crie um script bash no nó 2, que basicamente aguarda o arquivo ser exibido e retorna bem-sucedido quando estiver presente. Esse script pode ser criado usando um recurso de arquivo no início da execução do boneco no node2. Scripts bash simples.

  3. Perto do início da corrida de marionetes para o nó 2, depois de criar o script bash, execute o mesmo script bash dentro de um recurso de execução de marionete. Ele irá aguardar que o arquivo seja criado - basicamente esperando que a execução do fantoche seja concluída no nó 1 antes de progredir.

As etapas acima devem fornecer o efeito de fazer com que o boneco seja executado no nó 2 e aguardar muito cedo no processo para a execução do boneco no nó 1 ser concluída. Ajuste conforme necessário para ajustar os sistemas host específicos envolvidos.

    
por 22.11.2016 / 18:50