在Puppet 4看到以下错误
# /opt/puppetlabs/bin/puppet agent --verbose --no-daemonize --onetime Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Caching catalog for aus-lnaswgp-002.wiley.com Error: Failed to apply catalog: Parameter unless failed on Exec[sh /home/agile/svncheckout.sh]: 'test -f /home/agile/subversion.done' is not qualified and no path was specified. Please qualify the command or specify a path. at /apps/wps/puppetlabs/code/environments/production/manifests/classes/subversion.pp:17
代码如下:
# cat /apps/wps/puppetlabs/code/environments/production/manifests/classes/subversion.pp class subversion { # A package for subversion install and necessary svn checkouts for user agile package {'subversion': ensure => installed, } file {'/home/agile/svncheckout.sh': ensure => present, group => agile, mode => "755", source => "puppet://puppet/scripts/svncheckout.sh", require => [ Package['subversion'], Class['user_default'] ], before => [Class['apache1'], Class['activemq'], Class['luciddb'], Class['sybase']], }
看起来像脚本不能从puppet/scripts/svncheckout.sh复制puppet/scripts/svncheckout.sh 。 任何build议如何解决上述错误?
您发布的代码片段与正在输出的错误无关。
错误是说你需要限定unless命令的path,所以test成为/usr/bin/test (或者你的系统上安装test二进制文件的地方)。
使用which test命令查找文件的完整path,并相应地编辑您的代码。