{"shas":[["2255abee7bdb9b6478ca228546e3d275dbac0ec3","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","(#7670) Never fail to find a fact that is present\n\nWith the previous behavior, any fact which depended on another fact in a file\nnot matching its name would fail to properly load the required fact, resulting\nin missing, incorrect, or inconsistent values.\n\nFor instance, the operatingsystem fact depends on the lsbdistid fact found in\nlsb.rb. The first time the operatingsystem fact is requested, it requires\nlsb.rb, and so the required fact is loaded first. But if Facter is subsequently\ncleared and the operatingsystem fact requested again, the require will not\noccur, and the fact will not be automatically loaded because it doesn't match\nits filename.\n\nNow if a fact is requested and can't be found, we will attempt to load all the\nfacts to find it. Such an approach appears heavy-handed, but in the case where\nwe want a particular fact, this is the only way to make sure we've found it. In\nthe case where we eventually want other facts, we are conveniently eagerly\nloading them.\n\nPaired-With: Jacob Helwig <jacob@puppetlabs.com>","Nick Lewis"],["926e912cd4eeedacc5833457ed34e57bd06f5b1a","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","(#7670) Stop preloading all facts in the application\n\nIf a requested fact isn't found in the same location as its name, we want to\nload all of the facts to find it. However, to simplify that, we were previously\njust preloading all the facts every time. Because requesting a fact now\nimplicitly loads all facts if necessary, we can rely on that, providing results\nmuch more quickly in the case where facts do match their filenames.\n\nReviewed-By: Jacob Helwig <jacob@puppetlabs.com>","Nick Lewis"],["0c23845c48488832cf224228f93f62714ba4d4ef","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","maint: Fix spelling of acceptance directory","Nick Lewis"],["9404a7a3bb8da660e26897d052cdd03c291fb0bb","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","(#7670) Add an acceptance test\n\nThis test runs only on Ubuntu machines and will reproduce the problem with these steps:\n\n  * load Facter\n  * request the operatingsystem fact\n  * clear Facter\n  * request the operatingsystem fact and verify it is still correct\n\nReviewed-By: Jacob Helwig <jacob@puppetlabs.com>","Nick Lewis"],["97927e321d1e24554ad21b92ef4afb1bd64c0167","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge branch 'ticket/master/7670'","Nick Lewis"],["bd43f00e6d4ed12e39316a3ecbbecde16b58aa0a","9fc06391f548410be69466e9701117096805c4f2@gmail.com","(#7753) Added error checking when adding resolves\n\nAdded exception handling to the fact class. When adding a resolution to\na fact, if an exception was thrown outside of the setcode block, facter\nwould crash. Added handling so that if an exception is thrown, facter\nlogs the error and discards the fact.","Adrien Thebo"],["e775a01640b95fe6f09d81e46bab50a1823a7f6f","9fc06391f548410be69466e9701117096805c4f2@gmail.com","(#7753) Fixed a regression introduced by fixing 7753\n\nFor some reason, the :timeout option in ipaddress.rb option started\ncausing facter to crash, since there is no timeout= method in the\ncollection, fact, or resolution classes. Removed the option, and\nreplaced it with a call to the limit method inside the resolution block.","Adrien Thebo"]],"ref":"refs/heads/ticket/master/7753","size":7,"head":"e775a01640b95fe6f09d81e46bab50a1823a7f6f","push_id":33031819}