¿Por qué entran en conflicto mi espacio de nombres y el nombre de clase?

¿Por qué entran en conflicto mi espacio de nombres y el nombre de clase?

Tengo instalado un módulo de marionetas que se llama ntp.

Un nodo lo defino por

node testip { include myconfig::ntpp }

y en /etc/puppet/modules/myconfig/manifests/init.pptengo yo

class myconfig::ntpp {
  include common
  class {'ntp':
      server_list => $common::data::ntpServerList
  }
}

Esto funciona perfectamente.

Pero si lo reemplazo myconfig::ntppcon myconfig::ntpobtengo

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Class[Myconfig::Ntp] is already declared; cannot redeclare on node testip

Pregunta

¿Es posible que mi nodo se vea así?:

node testip { include myconfig::ntp }

Respuesta1

Este es un problema de diseño en Puppet sobre cómo Puppet intenta resolver los nombres de las clases. Vereste boleto para más informaciónoeste enlace sobre espacios de nombres.

Y deberías intentar acceder a tus NTPmódulos de nivel superior con

class { "::ntp":
   server_list => ...
}

información relacionada