O que determina a estrutura de diretórios Pupins pluginsync nos clientes?

1

Estou usando o fantoche 2.6.8. Eu tenho pluginsync=true no mestre e no cliente. Eu criei um módulo e um tipo que vive no mestre de fantoches em:

 /etc/puppet/modules/mymodule/lib/puppet/type/mytype.rb

A sincronização funciona no cliente, mas o tipo acaba aqui no cliente:

 /var/lib/puppet/lib/puppet/type/mytype.rb

mas eu esperava que fosse morar aqui:

 /var/lib/puppet/mymodule/lib/puppet/type/mytype.rb

para que não colida com tipos de outros módulos.

Eu devo ter configurado algo errado, mas não sei o quê.

    
por Mark 03.08.2011 / 20:43

3 respostas

3

Não, é assim que o Puppet faz o pluginsync. Essa filosofia generalizada (de "não nos importamos se veio de um módulo") já estava em vigor quando eu escrevi o código pluginsync, então eu corri com ele. Mesmo se você namespace os arquivos, você não pode namespace tipos nativos, por isso não faria qualquer bom tê-los em diretórios separados. Mantenha seus nomes de tipos exclusivos (prefixo-os com o nome do módulo, talvez, como a maioria dos plug-ins existentes que vi) e você não terá problemas.

    
por 04.08.2011 / 00:41
1

Não, é assim que funciona. Coisas em diferentes módulos não devem entrar em conflito - a separação existe mais para organização do que para isolamento.

    
por 04.08.2011 / 01:17
1

Tenha também em atenção que o mestre de marionetes aparentemente NÃO recarrega o seu tipo personalizado em todas as corridas de agente; em vez disso, ele só sincroniza pela primeira vez.

Eu abri um bug no puppetlabs, link para verificar se isso é uma falha em minhas suposições, etc.

[e sim eu prefiro postar isso como um comentário, mas isso requer reputação que eu não tenho - eu percebi que iria salvar as pessoas o problema que eu tinha pesquisando isso, como não é mencionado nos documentos]

    
por 04.08.2011 / 15:19

Tags