
Considere estos dos archivos del módulo Puppet:
# File modules/a/manifests/b/c.pp
class a::b::c {
include b::c
}
# File modules/b/manifests/c.pp
class b::c {
notify { "In b::c": }
}
Parece que cuando Puppet llega a la include b::c
directiva en clase a::b::c
, busca el archivo *.pp correspondiente mirando hacia atrás desde la clase actual y decide encontrar el archivo correcto ubicado en ../../b/c.pp
. En otras palabras, se resuelve b::c
en el mismo archivo *.pp en el que include b::c
aparece la declaración:modules/a/manifests/b/c.pp
Esperaba (y me gustaría) que buscara y cargara el archivo modules/b/manifests/c.pp
. ¿Hay alguna manera de hacer que Puppet haga esto? De lo contrario, me parece que los nombres de los módulos no pueden contener ningún otro nombre de módulo dentro de ellos, lo cual es una restricción bastante sorprendente.
Respuesta1
para forzarlo a subir use 'include ::b::c'