Issue #1365 has been updated by incase.
My suggestion would be to look for files which match the fact name as completely as possible. So for ipaddress_eth0_0, you would look for filenames ipaddress_eth0_0, ipaddress_eth0_, ..., ipaddress,... until you find a match. Code wise, I would reverse that a bit: Check wether full name exists, if it does, use it. Otherwise read in list of files starting with the same two characters (assuming that is the shortest sensible name a fact could have) as the fact wanted, sort it by length and check it from longest to shortest until a match is found. Obviously, if underscore is considered to be a delimiter, you would only need to check for ipaddress_eth0_0, ipaddress_eth0 and ipaddress here and the logic wouldn't need to be reversed as described above. I still don't know ruby well enough to work on any published code, but I might try to have a look at the relevant code late next week. I'm sure if I provide some working code, someone else will fix it up to be publishable (or guide me in doing so). ---------------------------------------- Bug #1365: ipaddress_* facts don't work when called directly on the CLI http://projects.reductivelabs.com/issues/show/1365 Author: Fujin Status: Needs design decision Priority: Low Assigned to: Category: library Target version: Complexity: Hard Patch: None Keywords: ipaddress Calling ipaddress_* directly from the CLI appears broken, in; <pre> [EMAIL PROTECTED] (branch: master) ~/git/facter$ git log -n 1 commit b574c6a7f8c596e98bfab7ca48e172eb38fe23fa Author: James Turnbull <[EMAIL PROTECTED]> Date: Mon Jun 9 02:37:30 2008 +1000 Refactered ipmess.rb and util/ip.rb to support separate *BSD logic for *BSD </pre> <pre> [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter|grep ipaddress ipaddress => 123.100.70.1 ipaddress_eth0 => 123.100.70.1 ipaddress_eth0_0 => 123.100.70.2 ipaddress_eth0_1 => 123.100.70.3 ipaddress_eth0_2 => 123.100.70.4 ipaddress_eth0_3 => 123.100.70.5 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress 123.100.70.1 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress_eth0 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress_eth0_0 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress_eth0_1 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress_eth0_2 [EMAIL PROTECTED] (branch: master) ~/git/facter$ facter ipaddress_eth0_3 </pre> ---------------------------------------- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en -~----------~----~----~----~------~----~------~--~---
