Estoy tratando de ejecutar un solo módulo como este:
puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass'
Sin embargo, recibo este tipo de error, que indica que la ruta no está configurada
Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path.
No quiero especificar explícitamente la ruta en cada ubicación, y funciona bien cuando se ejecuta como parte de una carrera de títeres completa. ¿Cómo puedo especificar la ruta cuando ejecuto un solo módulo?

Respuestas:
Los comandos en un
Execrecurso tienen que estar completamente calificados (es decir, en/usr/bin/testlugar detest) o se debe establecer elpathatributo de eseExecrecurso.Si puede modificar los manifiestos de Puppet, simplemente puede agregar la siguiente definición para establecer un
pathatributo predeterminado para todos losExecrecursos para/bin:Como solución alternativa (más o menos) sucia, también puede establecer el valor predeterminado
pathpara cualquierExecrecurso en la línea de comando:Punteros de documentación:
fuente
Eso ... no debería funcionar como parte de una carrera completa. Necesita una ruta completa al ejecutable en el
unlesscomando. ¿Quizás tiene una ruta establecida en un archivo global que forma parte de sus ejecuciones completas?Intenta
unless => '/usr/bin/[ -e "${logfile}" ]', en cambio.fuente
Estoy de acuerdo con Shane en que la ruta predeterminada probablemente esté establecida en un manifiesto de alcance global. Puedes hacer lo mismo pero no puedes pasarlo como argumento, así que usa stdin:
o ponga Exec e incluya líneas en
example.ppy luego usepuppet apply -v ... example.pp.fuente
Necesita usar una ruta totalmente calificada.
Por ejemplo, ya sea:
o:
fuente