Facter 1.6.1 is a maintenance release containing fixes, updates and refactoring. Significant effort has been put into getting to Facter to run on Windows for this release, as noted below. This release is available for download at: http://puppetlabs.com/downloads/facter/facter-1.6.1.tar.gz See the Verifying Puppet Download section at: http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet#Verifying+Puppet+Downloads Please report feedback via the Puppet Labs Redmine site, using an affected version of 1.6.1: http://projects.puppetlabs.com/projects/facter/ Full Release Notes at: https://projects.puppetlabs.com/projects/facter/wiki/Wiki RPMs are available via http://yum.puppetlabs.com/el Facter is also available from rubygems.org. # Facter 1.6.1 Release Notes # Fix physicalprocessorcount on windows Fix #9517 A broken test led to a broken fact. The WMI.execquery was incorrectly stubbed to return an array when the actual WMI.execquery does not return an array. This means that length, which works on arrays, does not work with WMI.execquery. This fixes both the fact and the test. The test is unfortunately lifted to a higher level, but it has the benefit of being correct. Thanks to Eric Stonfer for the fact fix. # Prevent repeated loading of fact files Fix #8491 Fact loading could recurse indefinitely if a fact file attempted to call Fact#value on a fact that was not yet defined before the current file. If Fact#value was called outside of a setcode block, it would be evaluated at load time and the loader would rescan the fact path from the beginning and would reenter the current file, continuing until the stack was full. This is a byproduct of the more exhaustive fact searching introduced in 2255abee. The resolution for this is to track the files that have been loaded and ignore subsequent attempts to load them, emulating the behavior of Kernel.require. However, since facts can be legitimately refreshed over the life of a ruby process using Facter, Facter.clear will reset the list of loaded files by destroying the fact collection, and subsequently the loader. Currently puppet agent will reload all facts preceeding a run, so normal puppet agent behavior will remain as expected. However, the facter facts terminus manually loads fact files itself and bypasses facter''s search path and standard loading mechanism. While it will benefit from the recursion protection, it currently does not have a way to reset the loaded file list. # Fix logic for domain fact so hostname, then dnsdomainname and finally resolv.conf is used. Fix #9457 A recent commit changed the logic for how this fall-through logic was working. I''ve fixed the logic and added more coverage to pick up on this. # Physical Memory on Windows (#8439) Implement total and free physical memory on Windows This commit adds the ''memoryfree'' and ''memorytotal'' facts for Windows. These values represent the amount of physical free and total memory respectively. Note that the free and total values come from different WMI objects that report memory sizes in different units. The free value reported by Win32_OperatingSystem is in kB whereas the total value as reported by Win32_ComputerSystem is in bytes. This commit does not add facts for free and total page sizes, since the total page size is associated with the Win32_PageFileSetting class, but WMI reports no instance(s) available when automatic page file management is enabled (and it is by default). # Physical Processor Count for Windows (#8439) Add physicalprocessorcount and processor facts on Windows This commit adds the ''physicalprocessorcount'', ''processor{n}'' and ''processorcount'' facts. The ''physicalprocessorcount'' fact is obtained by counting the number of Win32_Processor instances. Note that the WMI query does a select on just the Name property, because it is faster than doing a ''select *'' On Windows 2008, each Win32_Processor represents a physical processor, and the NumberOfLogicalProcessors property (which includes both multi and/or hyperthreaded cores) represents the number of logical processors. For example, a dual-core processor, with quad-hyper threads per core, will report 1 physical processor and 8 logical processors. Note that the NumberOfCores property could be used to distinguish between multi-core and hyperthreading processors, but the fact does not distinguish between them. On Windows 2003, each Win32_Processor represents a logical processor, and the NumberOfLogicalProcessors property is not available. In this case, the physicalprocessorcount fact will be over-reported, but the number of logical processors will be correct. With that said, if this hotfix is installed, then 2003 behaves like 2008: http://support.microsoft.com/kb/932370 The Win32_Processor.Name property contains extra spaces: Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz So we ''squeeze'' the output to eliminate duplicate spaces: processor0 => Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz # IP Facts for Windows (#8439) Add interface-specific ip facts for Windows This commit adds Windows to the list of Facter::Util::IP ''supported_platforms'' It adds support for the ''interfaces'' fact, e.g. interfaces => Loopback_Pseudo_Interface_1,Local_Area_Connection,Teredo_Tunneling_Pseudo_Interface On Windows, the name of the interface can be edited to include non-alphanumeric characters, which are not valid fact names. This commit changes the alphafy method to ensure the returned value only includes alphanumeric characters (and underscore). And the ipaddress, netmask, network, and ipaddress6 per-interface facts, e.g. ipaddress_local_area_connection => 172.16.138.218 netmask_local_area_connection => 255.255.255.0 network_local_area_connection => 172.16.138.0 ipaddress6_teredo_tunneling_pseudo_interface => 2001:0:4137:9e76:24de:36a7:53ef:7525 Note the per-interface macaddress fact is not yet supported. Also these facts are only supported on 2008, because the output and syntax of netsh is different on 2003. Also 2003 has dependencies on the Routing and Remote Access service, which may not be running. # Scientific Linux CERN Detection Add Scientific Linux CERN detection to facter. Fixes #9260 Adds the SLC operatingsystem fact, and adds the SLC variant to all locations that Scientific Linux is specified. Added additional unit tests to verify that SLC would not be confused with Scientific Linux. ## CHANGELOG 3117e82 (#9517) Fix physicalprocessorcount on windows 4d93745 (#8491) Prevent repeated loading of fact files 6db71d4 (#9457) Fix logic for domain fact so hostname, then dnsdomainname and finally resolv.conf is used. 88f343c (#2344) VMware version parsing fix 6d47012 (#4869) Implement productname as Darwin hw.model d28d96c (#4508) Xen HVM domU not detected as virtual d55983e (#9178) Add Oracle Linux identification ec04277 (#4228) Ensure MAC address octets have leading zeroes. 3eb3628 Add Scientific Linux CERN detection to facter. Fixes #9260 f810170 (#7957) is_virtual should be false for openvz host nodes 1414e0b (#9059) is_virtual should be false on vmware_server 7fb0e6a (#8439) Add interface-specific ip facts for Windows 5d5848c (#8439) Add ipaddress6 fact on Windows 7531a2b (#8439) Add ps fact on Windows ddb67c5 (#8439) Move macaddress resolution on Windows 0721f2f (#7682) Add complete support for Scientific Linux a347920 (#9183) Add support for Alpine linux detection 824fac0 (#8439) Add physicalprocessorcount and processor facts on Windows 9ef56d6 (#8439) Implement total and free physical memory on Windows b3e2274 (#8439) Add Facter::Util::WMI module 00bed7a (#8964) Search mountinfo for selinux mount point e8d00ec (#8964) Search mountinfo for selinux mount point c5d63d4 Fix #2766 - silence unknown sysctl values 5d9cc84 (#8660) Fix destdir option on Windows e329450 (#8247) Fixing arp DNS timeout issue. 15d0406 use each_line instead of each for strings in ruby 1.9 08b3f77 (#7854) Add Augeas library version fact e84c051 Fixed #7307 - Added serial number fact to Solaris -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.