2
respostas

Sequencia de instruções no script do puppet

No script do puppet é considerado a sequencia na qual os comandos aparecem?

2 respostas

Oi José, essa no mínimo é realmente uma pergunta curiosa. Um chute pessoal meu é que sim, mas essa ordem é refeita quando você usa o require ou before.

Para entender melhor, o que você está escrevendo no "puppet" é na verdade um manifest:

Manifest: um arquivo que contém um conjunto de instruções a serem executadas.

Resource: uma parte do código que declara um elemento do sistema e como seu estado deve ser alterado. Por exemplo, para instalar um pacote, precisamos definir um resource de pacote e garantir que seu estado esteja configurado para "instalado".

Ao escrever manifests, é importante ter em mente que Puppet não avalia os recursos na mesma ordem em que são definidos. Os resources devem definir explicitamente a dependência entre si, caso contrário, não há garantia de qual recurso será avaliado e, consequentemente, executado primeiro.

Como um exemplo simples, digamos que deseja instalar um programa, mas você precisa ter certeza de que um comando seja executado primeiro.

package { 'vim':
    ensure => installed,
    require => Exec["apt-update"]
}

exec { "apt-update":
        command => "/usr/bin/apt-get update"
}

A opção require recebe como parâmetro uma referência para outro resource. Nesse caso, estamos nos referindo ao Exec identificado como apt-update. Logo, apesar de a instalação do pacote estar acima, ele executará primeiro o Exec apt-update.

Espero ter ajudado.