Назад | Перейти на главную страницу

Puppet не удалось скопировать каталог exec

Увидев следующую ошибку в 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']],
}

Похоже, скрипт не умеет копировать svncheckout.sh из puppet/scripts/svncheckout.sh . Любые предложения по устранению вышеуказанной ошибки?

Опубликованный вами фрагмент кода не имеет ничего общего с выводимой ошибкой.

Ошибка говорит о том, что вам нужно квалифицировать путь unless команда, так что test становится /usr/bin/test (или где угодно test бинарный файл установлен в вашей системе).

Использовать which test , чтобы найти полный путь к файлу, и соответствующим образом отредактировать код.