Incorrect operatingsystem reported in puppet run
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
facter (Ubuntu) |
Fix Released
|
High
|
Adam Gandelman | ||
Lucid |
Fix Released
|
High
|
Unassigned | ||
Maverick |
Fix Released
|
High
|
Unassigned | ||
Natty |
Fix Released
|
High
|
Unassigned | ||
Oneiric |
Fix Released
|
High
|
Unassigned | ||
Precise |
Fix Released
|
High
|
Adam Gandelman |
Bug Description
Facter will report the wrong operatingsystem when queried from a puppet agent run.
To demonstrate this:
$ irb
irb(main):001:0> require 'facter'
=> true
irb(main):002:0> Facter.version
=> "1.5.9"
irb(main):003:0> Facter[
=> "Ubuntu"
irb(main):004:0> Facter.clear
=> nil
irb(main):005:0> Facter[
=> "Debian"
irb(main):006:0>
This has been fixed upstream in Facter 1.6.0+.
% RUBYLIB=`pwd`/lib irb
>> require 'facter'
> true
>> Facter.version
> "1.6.0"
>> Facter[
> "Ubuntu"
>> Facter.clear
> nil
>> Facter[
> "Ubuntu"
For the upstream bug see: http://
======
IMPACT:
* Puppet users who make use of a puppetmaster and pluginsync can be bitten by this bug. After the master has synced plugins down to clients, facter clears its fact database. Some facts are inconsistent after clearing (see example above). Later puppet runs of modules and configuration that make use of facter facts will produce unexpected outcomes and system configuration.
ADDRESSED:
* This bug has been fixed upstream and merged into Ubuntu Precise. The fix has can be cherry picked and applied to oneiric series and backported to earlier series.
REPRODUCE:
* The irb test above can be used to reliably test whether a version is affected or not.
REGRESSION POTENTIAL:
* The chances of regression are minimal. The upstream patch cherry-picked into the oneiric branch contains a fix and modification to unit tests. Previous versions contain a minimal patch that only contains the fix and does not touch unit tests as they did not exist in those versions.
======
Related branches
- Luke Yelavich (community): Approve
- James Page: Needs Fixing
- Ubuntu branches: Pending requested
-
Diff: 165 lines (+147/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/reload_all_facts.patch (+138/-0)
debian/patches/series (+1/-0)
- Luke Yelavich (community): Approve
- James Page: Needs Fixing
- Ubuntu branches: Pending requested
-
Diff: 152 lines (+64/-38)7 files modified.pc/applied-patches (+0/-1)
.pc/debian-changes-1.5.8-2ubuntu2/lib/facter/ec2.rb (+0/-35)
debian/changelog (+10/-0)
debian/patches/fix_ec2_metadata_facts.patch (+22/-0)
debian/patches/reload_all_facts.patch (+28/-0)
debian/patches/series (+2/-0)
lib/facter/ec2.rb (+2/-2)
- Luke Yelavich (community): Approve
-
Diff: 51 lines (+18/-2)3 files modifieddebian/changelog (+11/-0)
lib/facter/ec2.rb (+2/-1)
lib/facter/util/collection.rb (+5/-1)
- Luke Yelavich (community): Approve
-
Diff: 51 lines (+18/-2)3 files modifieddebian/changelog (+11/-0)
lib/facter/ec2.rb (+2/-1)
lib/facter/util/collection.rb (+5/-1)
Changed in facter (Ubuntu): | |
status: | New → Confirmed |
Changed in facter (Ubuntu Precise): | |
status: | In Progress → Fix Released |
description: | updated |
Changed in facter (Ubuntu Oneiric): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in facter (Ubuntu Natty): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in facter (Ubuntu Maverick): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in facter (Ubuntu Lucid): | |
importance: | Undecided → High |
status: | New → Triaged |
setting importance to High as it breaks puppet deployments.