Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Normal
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: PUP 5.5.1
-
Component/s: None
-
Labels:
-
Template:customfield_10700 234745
-
Epic Link:
-
Team:Coremunity
-
Sprint:Platform Core KANBAN
-
CS Priority:Minor
-
CS Frequency:1 - 1-5% of Customers
-
CS Severity:2 - Annoyance
-
CS Business Value:3 - $$$$
-
CS Impact:
-
Release Notes:Bug Fix
-
Release Notes Summary:
-
QA Risk Assessment:Needs Assessment
Description
When updating a yumrepo resource, yumrepo/inifile.rb blindly attempts to stat a list of files previously collected, with no error handling.
This results in ruby errors like "No such file or directory @ rb_file_s_stat - /etc/yum.repos.d/potato.repo" if the list of files is out of date, and obviously resource failures.
This can happen if /etc/yum.repos.d is managed + purged, or yum a plug-in decides to remove a file etc.
Currently we're seeing the first agent run fail on every newly provisioned host because of this.
There is pretty simple fix, wrap the stat in an 'if Puppet::FileSystem.exist?(file)' to check if the file actually exists before trying to stat it.
See https://github.com/puppetlabs/puppet/compare/master...jsmall3:jsmall3-yumrepo-store