应用单个木偶模块时如何设置路径?

Goa*_*ess 12 puppet

我正在尝试运行这样的单个模块:

puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass'
Run Code Online (Sandbox Code Playgroud)

但是,我收到此类错误,表明未设置路径

Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path.
Run Code Online (Sandbox Code Playgroud)

我不想在每个这样的位置明确指定路径,并且在作为完整木偶运行的一部分运行时它工作正常。运行单个模块时如何指定路径?

jos*_*chi 15

Exec资源中的命令要么必须是完全限定的(即/usr/bin/test代替test),要么必须设置pathExec资源的属性。

如果您可以修改 Puppet 清单,您只需添加以下定义,将path所有Exec资源的默认属性设置为/bin

Exec { path => "/bin" }
Run Code Online (Sandbox Code Playgroud)

作为(或多或少)肮脏的解决方法,您还可以在命令行上path为任何Exec资源设置默认值:

$ puppet apply --verbose -e 'Exec { path => "/bin" }' your_manifest.pp
Run Code Online (Sandbox Code Playgroud)

文档指针:


Sha*_*den 2

那..不应该作为完整运行的一部分。它需要命令中可执行文件的完整路径unless。也许您在全局文件中设置了一个路径,该路径是完整运行的一部分?

试试unless => '/usr/bin/[ -e "${logfile}" ]'吧。