Ich erstelle ein Manifest zur Installation von LAMP auf einer CentOS 6-Maschine. Alles funktioniert, außer der Installation einiger Pear-Module. Beim Ausgeben puppet /etc/puppet/modules/webserver/manifests/init.pp
erhalte ich Folgendes:
Ungültiger Paketanbieter „Pear“ unter /etc/puppet/modules/webserver/manifests/init.pp:111
Hier sind die relevanten Teile des Manifests, einschließlich der Reihenfolge der Includes unten:
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
Ich kann die Zeile unten auskommentieren include pear
und der Rest wird problemlos installiert. rpm -qa | grep php-pear
zeigt, dass das Paket php-pear erfolgreich installiert wurde. Die Eingabe pear
an einer Eingabeaufforderung gibt das erwartete Pear-Hilfemenü zurück.
Wenn ich zur Datei init.pp zurückkehre, die Kommentierung entferne include pear
und die Datei erneut ausführe puppet /etc/puppet/modules/webserver/manifests/init.pp
, erscheint derselbe Fehler.
Was gibt?
Antwort1
Behoben durch Upgrade auf Puppet 2.27 und anschließende Verwendung des Puppet-Pear-Moduls.