Puppet implicitamente inclui uma classe?

4

Um engenheiro colega veio até mim com um quebra-cabeça interessante.

Ele descobriu que o módulo de terceiros (docker, neste caso), que contém uma classe que ele deseja personalizar com parâmetros, não é mencionado explicitamente em nenhum lugar de nosso manifesto. No entanto, a aula está sendo incluída no catálogo da máquina.

Ele estava fazendo referência a recursos dentro da classe (um recurso de serviço) como parte de seus relacionamentos e pedidos.

Uma referência a um Serviço em uma classe estrangeira inclui implicitamente essa classe no catálogo?

    
por Mojo 21.05.2014 / 18:53

1 resposta

3

Does a reference to a Service in a foreign class implicitly include that class in the catalog?

Não, se você está apenas criando uma relação de dependência ou notificação; se o recurso não estiver em uma classe incluída de alguma forma, você receberá um erro em vez de uma inclusão automática da classe.

É mais provável que esteja sendo incluído de uma maneira que você não está esperando. Para testar, remova as referências à classe do módulo incluído (e, ao encontrá-las, verifique se todas são apenas dependências) e verifique se a classe não está mais incluída no catálogo do nó.

Meu dinheiro é para ele usando um tipo definido pertencente ao módulo docker, que por sua vez inclui as outras classes que ele precisa.

    
por 21.05.2014 / 18:58

Tags