Я создаю манифест для установки LAMP на машину CentOS 6. Все работает, за исключением установки некоторых модулей Pear. При запуске puppet /etc/puppet/modules/webserver/manifests/init.pp
получаю следующее:
Неверный поставщик пакета «pear» в /etc/puppet/modules/webserver/manifests/init.pp:111
Вот соответствующие части манифеста, включая порядок включения в конце:
class php {
package {'php':
ensure => present,
before => File['/etc/php.ini'],
}
file {'/etc/php.ini':
ensure => file,
}
$packagelist = [
"php-cli",
"php-common",
"php-devel",
"php-gd",
"php-ldap",
"php-mbstring",
"php-mssql",
"php-mysql",
"php-pear",
"php-pecl-ssh2",
"php-xml"
]
package { $packagelist:
ensure => installed,
require => Package['php'],
notify => Service['httpd'],
}
class pear {
package {
"pear":
ensure => installed,
provider => 'pear';
"pecl/zip":
ensure => installed,
provider => 'pear';
}
}
include php
include pear
Я могу закомментировать include pear
строку внизу, и остальное устанавливается без проблем. rpm -qa | grep php-pear
показывает, что пакет php-pear был успешно установлен. Вызов pear
в командной строке возвращает ожидаемое меню справки pear.
Если вернуться к файлу init.pp, раскомментировать его include pear
и запустить снова puppet /etc/puppet/modules/webserver/manifests/init.pp
, появляется та же ошибка.
Что дает?
решение1
Проблема решена обновлением до Puppet 2.27 и последующим использованием модуля puppet-pear.