--
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 puppet-users...@googlegroups.com.
To post to this group, send email to puppet...@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.
Master: RHEL6 running Puppet 3.2.2Node: Windows 7 x64 Running Puppet 3.2.3I have the following rule defined on my Puppet master to push Python to client workstations:package { 'Python 2.7.5 (64-bit)':ensure => installed,source => '\\server\share\Puppet\win64\Python\python-2.7.5.amd64.msi',install_options => [{ 'INSTALLDIR' => 'C:\Python27' },],require => [Package['MinGW-W64 version 4.5.3'], Package['Cygwin version 1.7.15']],}On the client, Python has already been installed via a run of: "puppet agent --test". Here is the output of a manual agent execution on the Windows 7 node in question:C:\Program Files (x86)\Puppet Labs\Puppet\bin>puppet agent --test --traceInfo: Retrieving pluginInfo: Caching catalog for <hostname>Info: Applying configuration version '1374075302'Notice: /Stage[main]/Win7_user::Restart/Exec[restart_agent_flag]/returns: executed successfullyNotice: Finished catalog run in 6.51 secondsAs you can see, it's up-to-date. 'Python 2.7.5 (64-bit)' is in my list of installed programs.
Where I run into problems is when the Puppet service kicks off. For some reason it tried to install Python again, and then fails with the mysterious INT 24 error. In previous reports of INT 24 that I've seen, it had to do with invalid declaration of the source attribute, which doesn't appear to be a problem here. Anyways, here is what is in Windows Event Viewer for the Puppet service:MsiInstaller - Information 1040:Beginning a Windows Installer transaction: \\<server>\share\Puppet\win64\Python\python-2.7.5.amd64.msi. Client Process Id: 7896.MsiInstaller - Information 1042Ending a Windows Installer transaction: \\astdfs.ast.lmco.com\Data\ses\GOESR_SW_ENG\goesr01\Tools\Puppet\win64\Python\python-2.7.5.amd64.msi. Client Process Id: 7896.Puppet - Error 3Failed to install: Fail on INT 24./Stage[main]/Win7_user/Package[Python 2.7.5 (64-bit)]/ensure: change from absent to present failed: Failed to install: Fail on INT 24.What's not clear to me, is why is it trying to install again? It's already in the list of installed programs, and manual invocations of the agent, detect it's there. I've tried rebooting the machine, but it makes no difference.
Join us at PuppetConf 2013, August 22-23 in San Francisco -
--
Perhaps this could be a permissions error?Can you validate that the user the service runs under can access the c:\Python27 folder and that it can see the registry settings?
Based on http://www.python.org/download/releases/2.5/msi/ I think python is only being installed for the current user, not all users. You'll have to specify ALLUSERS=1 to get that behavior. I don't see this explicitly called out in our docs http://docs.puppetlabs.com/windows/writing.html#packagepackage but it should be. Could you file a ticket?
Another user had to modify the NTFS and Share permissions for 'Domain Computers' to access the share (map the drive)[2]. This is because LocalSystem doesn't have any credentials with which to access the network.Josh
On Wednesday, July 17, 2013 1:56:42 PM UTC-6, Josh Cooper wrote:
Another user had to modify the NTFS and Share permissions for 'Domain Computers' to access the share (map the drive)[2]. This is because LocalSystem doesn't have any credentials with which to access the network.JoshI think that's the issue:G:\Tools\Puppet\win64\Python>psexec -i -s msiexec.exe /qn /norestart /i \\<server>\<share>\Puppet\win64\Python\python-2.7.5.amd64.msi TARGETDIR=C:\Python27 ALLUSERS=1PsExec v1.98 - Execute processes remotelyCopyright (C) 2001-2010 Mark RussinovichSysinternals - www.sysinternals.commsiexec.exe exited on SSCLD134G82G with error code 1619.
Side note, I think the error code (1619) isn't getting picked up by Puppet correctly.
So I'm trying to weigh my options. I'm a lowly developer and can't muck with domain users, nor can I change the security permissions on any of the CIFS network shares. Running puppet agent manually, works on my test machine because I'm local admin, but won't work for other users who aren't. I think I've tried copying installers using a File resource and then requiring and installing from said file in a package, but I recall that causing issues.