Estou recebendo o seguinte erro quando executo puppet-lint
:
$ puppet-lint manifests/*
manifests/init.pp - WARNING: class inheriting from params class on line 72
Eu mesmo fiz uma pesquisa rápida no duckduckgo.com e consegui:
link
No entanto, nossas versões do Puppet Agent são todas 2.7 ou posteriores, e nossos Puppet Masters são todos 3.0 ou posteriores.
Para referência, o código init.pp
em questão é o seguinte:
class myclass (
$zone = 'top',
$::myclass::params::base_url,
$::myclass::params::username,
) inherits myclass::params {
...
O código em params.pp
é o seguinte:
class myclass::params {
$base_url = hiera('myclass::base_url','https://beta.tpsreports.com/coversheets/')
$username = hiera('clap::base_url','prod')
}
Mesmo se a pesquisa Hiera falhar, eu ainda não deveria estar recebendo erros como este:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Must pass ::myclass::params::base_url to Class[Myclass] at /etc/puppet/manifests/nodes/beta_servers_0.pp:126 on node beta-web-server-0.tpsreports.com
Agora que já falei sobre esse histórico, ao qual estou mais do que disposto a adicionar, se alguém perguntar, minhas perguntas são as seguintes:
- Se a minha
params
classe irá fornecer parâmetros, mesmo que a pesquisa hiera de alguma forma falhar, por que estou recebendo esse erro?
- Preciso usar a solução alternativa horrível (ou seja, "O que você deveria ter feito" do arquivo puppet-lint.com link, mesmo que eu tenha uma versão Puppet maior que
2.6.2
em todos os casos?