Cannot update Puppet 3.7.5 to 3.8.1 on Windows

102 views
Skip to first unread message

cko

unread,
Jul 17, 2015, 8:59:34 AM7/17/15
to puppet...@googlegroups.com
Hi all,

updating Puppet from 3.7.5 to 3.8.1 fails on all my Windows Server 2008R2 nodes.

I'm using the following code (puppet.pp):

package { 'Puppet':
  ensure          => "3.8.1",
  source          => "\\\\puppet\\puppetsamba\\puppet_agent\\windows\\puppet-3.8.1.msi",
  provider        => windows,
  install_options => { 'INSTALLDIR' => 'C:\puppet' }
 }

This completes without any problem:

C:\Scripts>puppet apply puppet.pp
Notice: Compiled catalog for server.local.domain in environment production in 1.33 seconds
Notice: /Stage[main]/Main/Package[Puppet]/ensure: ensure changed '3.7.5' to '3.8.1'
Notice: Finished catalog run in 84.66 seconds

But after the installation I am unable to use Puppet:

C:\Scripts>puppet agent -t
'ruby' is not recognized as an internal or external command, operable program or batch file.


Any ideas?

cko

unread,
Jul 17, 2015, 9:08:52 AM7/17/15
to puppet...@googlegroups.com
By the way: ruby.exe is missing from C:\puppet\sys\ruby\bin

Is this intended?

Byron Miller

unread,
Jul 17, 2015, 9:34:19 AM7/17/15
to puppet...@googlegroups.com
My windows team mentioned the same issue of not being able to upgrade the agent because of a ruby issue.. I haven't had much time yet to go jump in and help them, but this sounds exactly like what they reported.

Bummer..  I think i'll move them to the PC1 agent and Puppet 4.2 since they're  more greenfield and see if that saves them from re-deploying just to get to 3.8.1..

dhaval thakar

unread,
Jul 17, 2015, 12:37:34 PM7/17/15
to puppet...@googlegroups.com

I am facing same issue with 3.7.5 to 3.8.1 upgrade.

--
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 view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/ab190044-e33f-45bd-8948-6160c251243d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rob Reynolds

unread,
Jul 17, 2015, 5:38:56 PM7/17/15
to puppet...@googlegroups.com
On Fri, Jul 17, 2015 at 8:34 AM, Byron Miller <byr...@gmail.com> wrote:
My windows team mentioned the same issue of not being able to upgrade the agent because of a ruby issue.. I haven't had much time yet to go jump in and help them, but this sounds exactly like what they reported.

Bummer..  I think i'll move them to the PC1 agent and Puppet 4.2 since they're  more greenfield and see if that saves them from re-deploying just to get to 3.8.1..

On Friday, July 17, 2015 at 8:08:52 AM UTC-5, cko wrote:
By the way: ruby.exe is missing from C:\puppet\sys\ruby\bin

Is this intended?


This is most assuredly not intended. I can say that we don't really support using puppet to upgrade puppet - because file locking on Windows. It appears you have run into this. We have an upcoming epic for this in MODULES-2040[1], which will be similar to how Puppetlabs-Puppet_Agent will handle upgrades for WIndows agents[2][3].  

I would highly suggest that you follow suit on those ideas until something is in place or upgrade out of band e.g. use something besides Puppet to upgrade Puppet on Windows. You can also try using the puppetversion module[4].


 


On Friday, July 17, 2015 at 2:59:34 PM UTC+2, cko wrote:
Hi all,

updating Puppet from 3.7.5 to 3.8.1 fails on all my Windows Server 2008R2 nodes.

I'm using the following code (puppet.pp):

package { 'Puppet':
  ensure          => "3.8.1",
  source          => "\\\\puppet\\puppetsamba\\puppet_agent\\windows\\puppet-3.8.1.msi",
  provider        => windows,
  install_options => { 'INSTALLDIR' => 'C:\puppet' }
 }

This completes without any problem:

C:\Scripts>puppet apply puppet.pp
Notice: Compiled catalog for server.local.domain in environment production in 1.33 seconds
Notice: /Stage[main]/Main/Package[Puppet]/ensure: ensure changed '3.7.5' to '3.8.1'
Notice: Finished catalog run in 84.66 seconds

But after the installation I am unable to use Puppet:

C:\Scripts>puppet agent -t
'ruby' is not recognized as an internal or external command, operable program or batch file.


Any ideas?

--
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.



--
Rob Reynolds
Developer, Puppet Labs

PuppetConf 2015 is coming to Portland, Oregon! Join us October 5-9.
Register now to take advantage of the Early Bird discount save $249!

Rob Reynolds

unread,
Jul 17, 2015, 5:55:32 PM7/17/15
to puppet...@googlegroups.com
On Fri, Jul 17, 2015 at 4:38 PM, Rob Reynolds <r...@puppetlabs.com> wrote:


On Fri, Jul 17, 2015 at 8:34 AM, Byron Miller <byr...@gmail.com> wrote:
My windows team mentioned the same issue of not being able to upgrade the agent because of a ruby issue.. I haven't had much time yet to go jump in and help them, but this sounds exactly like what they reported.

Bummer..  I think i'll move them to the PC1 agent and Puppet 4.2 since they're  more greenfield and see if that saves them from re-deploying just to get to 3.8.1..

On Friday, July 17, 2015 at 8:08:52 AM UTC-5, cko wrote:
By the way: ruby.exe is missing from C:\puppet\sys\ruby\bin

Is this intended?


This is most assuredly not intended. I can say that we don't really support using puppet to upgrade puppet - because file locking on Windows. It appears you have run into this. We have an upcoming epic for this in MODULES-2040[1], which will be similar to how Puppetlabs-Puppet_Agent will handle upgrades for WIndows agents[2][3].  

I would highly suggest that you follow suit on those ideas until something is in place or upgrade out of band e.g. use something besides Puppet to upgrade Puppet on Windows. You can also try using the puppetversion module[4].




Also, anyone interested in looking at the MODULES-2040 approach should definitely read my comment[1] on known issues migrating the puppet_agent code over to a more generalized approach.

Rob Reynolds

unread,
Jul 17, 2015, 6:30:48 PM7/17/15
to puppet...@googlegroups.com
The ruby executable locking was likely exasperated by the wrong version of ruby in 3.7.5 - we've yanked the 3.7.5 release[1] based on what we've discovered this afternoon.

Rob Reynolds

unread,
Jul 24, 2015, 10:42:55 AM7/24/15
to puppet...@googlegroups.com
On Fri, Jul 17, 2015 at 5:30 PM, Rob Reynolds <r...@puppetlabs.com> wrote:
The ruby executable locking was likely exasperated by the wrong version of ruby in 3.7.5 - we've yanked the 3.7.5 release[1] based on what we've discovered this afternoon.

[1] https://groups.google.com/forum/#!msg/puppet-dev/VtqadVFJKLM/e28O_so11fMJ

On Friday, July 17, 2015, Rob Reynolds <r...@puppetlabs.com> wrote:


On Fri, Jul 17, 2015 at 4:38 PM, Rob Reynolds <r...@puppetlabs.com> wrote:



On Fri, Jul 17, 2015 at 8:34 AM, Byron Miller <byr...@gmail.com> wrote:
My windows team mentioned the same issue of not being able to upgrade the agent because of a ruby issue.. I haven't had much time yet to go jump in and help them, but this sounds exactly like what they reported.

Bummer..  I think i'll move them to the PC1 agent and Puppet 4.2 since they're  more greenfield and see if that saves them from re-deploying just to get to 3.8.1..

On Friday, July 17, 2015 at 8:08:52 AM UTC-5, cko wrote:
By the way: ruby.exe is missing from C:\puppet\sys\ruby\bin

Is this intended?


This is most assuredly not intended. I can say that we don't really support using puppet to upgrade puppet - because file locking on Windows. It appears you have run into this. We have an upcoming epic for this in MODULES-2040[1], which will be similar to how Puppetlabs-Puppet_Agent will handle upgrades for WIndows agents[2][3].  

I would highly suggest that you follow suit on those ideas until something is in place or upgrade out of band e.g. use something besides Puppet to upgrade Puppet on Windows. You can also try using the puppetversion module[4].



As a followup, it appears puppetversion module doesn't allow the upgrades to happen successfully. We're looking at other possibilities for folks to try currently, including using PsExec[1] to resend the msiexec install command.

Reply all
Reply to author
Forward
0 new messages