Ich habe eine einzigartige Situation, in der die Puppet- ensure => latest
Paketanweisung nur auf einigen meiner Systeme funktioniert hat. Von 30 Servern wurden die Pakete auf allen außer 4 ordnungsgemäß aktualisiert. Ich versuche, Hauptversionen der Software-Suite von <9,40 auf 9,50 zu erhalten. Ich könnte eine harte Ebene angeben, aber ich würde auf das Platzhalterproblem mit mehreren Architekturen stoßen .
Manifest-Code-Snippet:
# Install packages
$spppackages = [ "hp-snmp-agents", "hpssa", "hp-health", "hp-smh-templates", "hpsmh", "hpssacli", "hponcfg", ]
package { $spppackages:
ensure => latest,
require => Yumrepo['HP-spp'],
}
Mcollective Status:
mco package hp-snmp-agents status
Summary of Ensure:
9.50-2564.40.rhel6 = 14
9.50-2564.34.rhel5 = 9
9.40-2506.37.rhel6 = 4 <== This is what I'm trying to fix!
9.50-2564.35.rhel5 = 1
Ich habe versucht, dies auf den betroffenen Systemen zu debuggen mit:
puppet apply --verbose --debug --execute 'package { hp-snmp-agents: ensure => latest }'
Ergebend:
Info: Applying configuration version '1393411670'
Debug: Prefetching yum resources for package
Debug: Executing '/bin/rpm --version'
Debug: Executing '/bin/rpm -qa --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH} :DESC: %{SUMMARY}\n''
Error: Could not prefetch package provider 'yum': invalid byte sequence in US-ASCII
Debug: Executing '/bin/rpm -q hp-snmp-agents --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH} :DESC: %{SUMMARY}\n''
Debug: Finishing transaction 11762680
Debug: Storing state
Debug: Stored state in 0.09 seconds
Das Ausführen yum list updates hp-snmp-agents
zeigt, dass das Paket von yum aktualisiert werden kann und eine neuere Version verfügbar ist:
Installed Packages
hp-snmp-agents.x86_64 9.40-2506.37.rhel6 @HP-spp
Available Packages
hp-snmp-agents.x86_64 9.50-2564.40.rhel6 HP-spp
Es scheint, dass das Problem möglicherweise das Abfrageformat der RPM-Version sein könnte. Wenn Sie das von Hand ausführen, erhalten Sie:
# /bin/rpm -q hp-snmp-agents --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH} :DESC: %{SUMMARY}\n'
hp-snmp-agents 0 9.40 2506.37.rhel6 x86_64 :DESC: Insight Management Agents(SNMP) for HP ProLiant Systems
Wenn ich ensure => 9.50-xxx
auf dem hp-snmp-agents
Paket bin, kann ich dies zwingen, auf den hartnäckigen Systemen zu arbeiten. Selbst die Eingabe einer gefälschten Versionsnummer scheint den Katalogaufbau zu beschleunigen, und nachfolgende Läufe des Puppet-Agenten funktionieren und werden ordnungsgemäß aktualisiert. Ich bin nur neugierig, warum dies auf 26 von 30 Servern nahtlos funktionierte und auf dem Rest massiert werden musste.
Beachten Sie, dass ich dies yum clean all
als ersten Schritt zur Fehlerbehebung über Mcollective getan habe
pe-puppet-enterprise-release-3.0.1-1.pe.el6.noarch
aktualisierter Geldstrafe, unabhängig von der Einstellung der LANG-Codierung. Server mitpe-puppet-enterprise-release-3.1.0-0.pe.el6.noarch
ausgefallen, es sei denn, die LANG wurde eingestellten_US.UTF
.