OK, I got registry::value working by commenting out the calls to 
validate_re. I will file a ticket for that. Unfortunately, though, the 
Windows gotchas continue. If you manually edit PATH in the System control 
panel, the new value shows up the next time you open a new cmd window. If, 
however, you edit it in the registry, the change doesn't show up until you 
reboot the machine. I've verified this behavior in XP and Server 2003. 

I also discovered an "inconvenience" with the puppet registry module. 
registry::value calls registry_value, which appends the value to the key to 
create a namevar. That means you can't edit PATH within a module that has a 
dependency on another module that edits path; if you do, you get a 
duplicate declaration error. 

On Friday, August 17, 2012 6:09:50 PM UTC-5, Josh Cooper wrote:
>
> On Fri, Aug 17, 2012 at 2:38 PM, Jeff Sussna 
> <j...@ingineering.it<javascript:>> 
> wrote: 
> > Hmm..it appears that $::path is returning multiple copies of the Puppet 
> > paths, along with "/user/bin" (which as you can imagine causes problems 
> for 
> > Windows), in addition to the explicitly defined PATH string. Any idea 
> why? 
> > 
>
> So I get: 
>
> C:\work\puppet> envpuppet puppet apply -e "notice($::path)" 
> notice: Scope(Class[main]): 
> c:\work\puppet\ext\..\bin;c:\work\puppet\ext\..\..\facter\bin;c:\puppetwinbuilder\sys\ruby\bin;c:\ruby187\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\bin;c:\puppetwinbuilder\sys\git\bin;c:\puppetwinbuilder\sys\git\bin;C:\Chocolatey\bin;c:\work\puppet\ext;/usr/sbin;/sbin
>  
>
>
> The `:path` setting is populated from the environment, but we also add 
> in /usr/sbin and /sbin (in defaults.rb), obviously not helpful. Filed 
> as https://projects.puppetlabs.com/issues/16019. With that said it 
> shouldn't prevent the exec from working. 
>
> You can do something like the following to see how puppet resolves 
> which cmd.exe to run: 
>
> C:\work\puppet>envpuppet irb 
> irb(main):001:0> require 'puppet' 
> => true 
> irb(main):002:0> Puppet::Util.which('cmd.exe') 
> => "C:/Windows/system32/cmd.exe" 
>
> Or is it not finding reg.exe? 
>
> Josh 
>
> -- 
> Josh Cooper 
> Developer, Puppet Labs 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/GzJJIqrhPXgJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to