Jira ticket :-

Module level external facts not resolved when using the Vagrant Puppet 
provider : https://tickets.puppetlabs.com/browse/FACT-1276

On Friday, 13 November 2015 18:48:48 UTC, Peter Huene wrote:
>
> Hi Fraser,
>
> On Fri, Nov 13, 2015 at 10:00 AM, Fraser Goffin <[email protected] 
> <javascript:>> wrote:
>
>> Puppet: 4.2.1
>> Facter: 3.0.2
>> OS: Windows
>>
>> I have a module with a facts.d folder containing a simple yaml file and a 
>> powershell script :-
>>
>> sonatype_nexus
>>     - puppet
>>         - modules
>>             - sonatype_nexus
>>                 - facts.d
>>                      facts.yaml
>>                      alpha.ps1
>>
>>
>> facts.yaml :-
>>
>>        baz: baz
>>
>> alpha.ps1 :-
>>
>> Write-Host "alpha=alpha"
>>
>
>> ... and just for the purpose of illustration, the puppet class just tries 
>> to emit the two facts :-
>>
>>   notice($::baz)
>>   notice($::alpha)
>>
>> When I run this on my laptop using a simple 'puppet apply' all is well :-
>>
>> Notice: Scope(Class[Sonatype_nexus]): CLASS: sonatype_nexus
>> Notice: Scope(Class[Sonatype_nexus]):
>> Notice: Scope(Class[Sonatype_nexus::Windows::Install]): baz
>> Notice: Scope(Class[Sonatype_nexus::Windows::Install]): alpha
>> Notice: Compiled catalog for lt032064.avivagroup.com in environment 
>> production in 1.78 seconds
>> Notice: Applied catalog in 3.03 seconds
>>
>> Furthermore, If I switch debug on I can see facter resolving those very 
>> facts too :-
>>
>> Debug: Facter: searching 
>> "E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d" for 
>> external facts.
>> Debug: Facter: checking execution on 
>> E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\alpha.ps1
>> Debug: Facter: resolving facts from powershell script 
>> "E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\alpha.ps1".
>> Debug: Facter: executing command: 
>> C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile 
>> -NonInteractive -NoLogo -ExecutionPolicy Bypass -File 
>> E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\alpha.ps1
>> Debug: Facter: alpha=alpha
>> Debug: Facter: fact "alpha" has resolved to "alpha".
>> Debug: Facter: process exited with exit code 0.
>> Debug: Facter: completed resolving facts from powershell script 
>> "E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\alpha.ps1".
>> Debug: Facter: resolving facts from YAML file 
>> "E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\facts.yaml".
>> Debug: Facter: fact "baz" has resolved to "baz".
>> Debug: Facter: completed resolving facts from YAML file 
>> "E:/Data\git\sonatype_nexus\puppet\modules\sonatype_nexus\facts.d\facts.yaml".
>> ...
>>
>> However, when I run the same code on Vagrant using the Puppet 
>> provisioner, I get a very different result :-
>>
>> *Warning: Facter: skipping external facts for 
>> "C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/sonatype_nexus/facts.d":
>>  
>> The request is not supported*
>>
>
> This failure (ERROR_NOT_SUPPORTED) is coming from Facter before the 
> Powershell script is being executed.  There is code to canonicalize the 
> directory's path (because relative paths are supported) and the failure is 
> coming the library Facter uses to do that canonicalization.
>
> Do you know if 
> 'C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/sonatype_nexus/facts.d'
>  
> is a NTFS reparse point by chance?  Those aren't always supported well in 
> third party libraries.
>
> Regardless of the issue in the underlying library Facter uses, Facter 
> should probably debug/warn that the directory could not be canonicalized 
> (or skip canonicalization if the path is already absolute) and try to 
> search for files in it anyway, rather than "skipping" the directory 
> entirely.
>
> If possible, could you create a ticket at https://tickets.puppetlabs.com 
> describing the issue and provide all the great information you've included 
> in this post and we'll try to get this fixed in Facter.
>
> Thanks!
>
>
>>
>> and neither of the facts are available to the class.
>>
>> Debug output, doesn't really provide mush more than that :-
>>
>> ...
>> Debug: Runtime environment: puppet_version=4.2.1, ruby_version=2.1.6, 
>> run_mode=user, default_encoding=CP850
>> Debug: Evicting cache entry for environment 'production'
>> Debug: Caching environment 'production' (ttl = 0 sec)
>> Debug: Evicting cache entry for environment 'production'
>> Debug: Caching environment 'production' (ttl = 0 sec)
>> Debug: Loading external facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/sonatype_nexus/facts.d
>> Debug: Loading external facts from 
>> C:/ProgramData/PuppetLabs/puppet/cache/facts.d
>> Info: Loading facts
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/chocolatey/lib/facter/chocolateyversion.rb
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/chocolatey/lib/facter/choco_install_path.rb
>> Info: Loading facts
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/stdlib/lib/facter/facter_dot_d.rb
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/stdlib/lib/facter/pe_version.rb
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/stdlib/lib/facter/puppet_vardir.rb
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/stdlib/lib/facter/root_home.rb
>> Debug: Loading facts from 
>> C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/stdlib/lib/facter/service_provider.rb
>> Debug: Facter: fact "facterversion" has resolved to "3.0.2".
>> Debug: Facter: initializing WMI
>> Debug: Facter: searching "C:/ProgramData\PuppetLabs\facter\facts.d" for 
>> external facts.
>> Warning: Facter: skipping external facts for 
>> "C:/tmp/vagrant-puppet/modules-d002123d6028e7e12b22cf92698d76f5/sonatype_nexus/facts.d":
>>  
>> The request is not supported
>>
>> If I log into the Vagrant box and run pupply apply I get the same result.
>>
>> Any ideas what is going on here and how I can fix it.
>>
>> Kind Regards
>>
>> Fraser.
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-users/c65eac12-80ff-4aa3-bb0d-82cc6a824ca9%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/puppet-users/c65eac12-80ff-4aa3-bb0d-82cc6a824ca9%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/dd0fca32-bd76-4e56-8a03-3b7c817cbfe9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to