Afternoon all
A requirement has arisen for using Puppet to install a specific version of the kernel package on our Oracle Linux 6 boxes to fix a firmware issue...
I thought it should be as simple as defining a package resource with the specific version set, ala:
# Need to install a new kernel version - GW 16/12/14
package { 'kernel':
ensure => '2.6.32-220.4.2.el6'
}
However when I try and run that on our servers, I get:
Info: Applying configuration version '1418742083'
Error: Could not update: Failed to update to version 2.6.32-220.4.2.el6, got version 2.6.32-220.el6 instead
Error: /Stage[main]/Act::Server::Linux::Db::Oracle/Package[kernel]/ensure: change from 2.6.32-220.el6 to 2.6.32-220.4.2.el6 failed: Could not update: Failed to update to version 2.6.32-220.4.2.el6, got version 2.6.32-220.el6 instead
Trying to apply the same resource manually using Puppet apply, I get the following debug output:
$ sudo puppet apply -vd -e "package { 'kernel': ensure => '2.6.32-220.4.2.el6' }"
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_persistent_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_sids.rb
Info: Loading facts in /var/lib/puppet/lib/facter/postgres_default_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_db_homes.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/smo_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/ip6tables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_clones.rb
..
Debug: Finishing transaction 69853968108100
Debug: Loaded state in 0.05 seconds
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_persistent_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_sids.rb
Info: Loading facts in /var/lib/puppet/lib/facter/postgres_default_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_db_homes.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/smo_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/ip6tables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/oracle_clones.rb
Debug: Loaded state in 0.11 seconds
Info: Applying configuration version '1418742609'
Debug: /Schedule[daily]: Skipping device resources because running on a host
Debug: /Schedule[monthly]: Skipping device resources because running on a host
Debug: /Schedule[hourly]: Skipping device resources because running on a host
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}
''
Debug: Package[kernel](provider=yum): Ensuring => 2.6.32-220.4.2.el6
Debug: Executing '/bin/rpm -q kernel --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'
Debug: Package[kernel](provider=yum): Downgrading package kernel from version 2.6.32-220.el6 to 2.6.32-220.4.2.el6
Debug: Executing '/usr/bin/yum -d 0 -e 0 -y downgrade kernel-2.6.32-220.4.2.el6'
Debug: Executing '/bin/rpm -q kernel --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}
'
Error: Could not update: Failed to update to version 2.6.32-220.4.2.el6.x86-64, got version 2.6.32-220.el6 instead
Error: /Stage[main]//Package[kernel]/ensure: change from 2.6.32-220.el6 to 2.6.32-220.4.2.el6.x86-64 failed: Could not update: Failed to update to version 2.6.32-220.4.2.el6.x86-64, got version 2.6.32-220.el6 instead
Debug: /Schedule[never]: Skipping device resources because running on a host
Debug: /Schedule[weekly]: Skipping device resources because running on a host
Debug: /Schedule[puppet]: Skipping device resources because running on a host
Debug: Finishing transaction 69853968563640
Debug: Storing state
Debug: Stored state in 0.23 seconds
Notice: Finished catalog run in 1.39 seconds
I've highlighted what I think is the most useful line in there, which suggests that it's incorrectly trying to downgrade the kernel package from 2.6.32-220.el6 to 2.6.32-220.4.2.el6, which should actually be an upgrade.
Any ideas if this is a known issue? Or anything I can do to make it work?
Cheers
Gavin