Pesquisa Hiera de falha na origem de dados no novo nó

1

Estou tentando configurar um novo nó usando o fantoche, mas ele falha com um erro que me leva a acreditar que o hiera não está encontrando a origem de dados correta:

Server Error: Evaluation Error: Error while evaluating a Function Call, undefined method 'empty?' for nil:NilClass at ${line 4 in some selfwritten class}

Eu também recebi este erro, mas não me lembro o que eu mudei (se é que houve alguma coisa) que resultou nele:

Server Error: Evaluation Error: Error while evaluating a Function Call, Unknown alias: 3B4007E7596ADF847ECA510D57069DBF2B3DB006 at ${line 4 in the same selfwritten class}

A linha na classe da qual o fantoche reclama é assim:

$network = hiera("network")

Esta é a primeira linha da turma. Esta mesma pesquisa funciona em um nó diferente.

Meu /etc/puppetlabs/puppet/hiera.yaml se parece com isso

---
:backends:
  - yaml
:hierarchy:
  - "nodes/%{::trusted.certname}"
  - "customer/%{customer}"
  - "preview/%{preview}"
  - "test/%{test}"
  - common

:yaml:
# datadir is empty here, so hiera uses its defaults:
# - /etc/puppetlabs/code/environments/%{environment}/hieradata on *nix
# - %CommonAppData%\PuppetLabs\code\environments\%{environment}\hieradata on Windows
# When specifying a datadir, make sure the directory exists.
  :datadir:

Este novo nó tem em seu manifesto

$customer='foo'

Enquanto o nó de trabalho tem

$customer='bar'

Eu tenho um arquivo yaml para cada um, e o yamllint mostra erros ou avisos do neiter para hiera.yaml ou os dois abaixo.

ls /etc/puppetlabs/code/environments/production/hieradata/customer/

foo.yaml    bar.yaml

A primeira linha em seu respectivo arquivo yaml define uma string para essa rede de valor:

network: "172.28.11"

Eu tentei usar a pesquisa de fantoches para depurar esse problema, até agora sem sucesso

puppet lookup --environment production --debug --explain --node foo-app1.domain.tld --compile network 

<snip lots of unrelated stuff>
Debug: hiera(): Looking for data source customer/foo
Error: Could not run: Evaluation Error: Error while evaluating a Function Call, Unknown alias: 3B4007E7596ADF847ECA510D57069DBF2B3DB006 at {same class and line}

Se eu executar esse comando sem --compilar, ele sai sem erro, mas também sem procurar a fonte de dados do cliente

  • Todos os nós estão executando o Debian Jessie (8)
  • O Puppetserver é a versão 2.5.0 do Repositório Puppetlabs oficial para Jessie
  • Eu tentei a versão de agente de marionetes de Jessie (3.7.2) e de Backports (4.8.2) - nenhuma diferença

Então: Por que esse nó está falhando na pesquisa hiera? Como faço para corrigir isso? Como faço para usar corretamente a pesquisa de fantoches para buscar esse valor do nó de trabalho? (para ajudar na depuração)

    
por Christoph Gösgens 11.08.2017 / 18:43

0 respostas