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
Exec
recurso tienen que estar completamente calificados (es decir, en/usr/bin/test
lugar detest
) o se debe establecer elpath
atributo de eseExec
recurso.Si puede modificar los manifiestos de Puppet, simplemente puede agregar la siguiente definición para establecer un
path
atributo predeterminado para todos losExec
recursos para/bin
:Como solución alternativa (más o menos) sucia, también puede establecer el valor predeterminado
path
para cualquierExec
recurso 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
unless
comando. ¿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.pp
y luego usepuppet apply -v ... example.pp
.fuente
Necesita usar una ruta totalmente calificada.
Por ejemplo, ya sea:
o:
fuente