[chef] Re: RE: Calling exe in Windows hangs the Chef run


Chronological Thread 
  • From: Dan-Joe Lopez < >
  • To: " " < >, " " < >
  • Subject: [chef] Re: RE: Calling exe in Windows hangs the Chef run
  • Date: Fri, 21 Aug 2015 23:54:35 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:23

Thanks Adam,

When I dug into task manager, I was not able to see the installer process running.  For the 1st two cases (execute and batch), it had already closed and written the appropriate files, and put itself in the add/remove programs.

I also check the behavior directly from the command prompt in an interactive session and got exactly what I expected:
>installer.exe /exenoui
>
… no errors, no messages, no output, no nonsense…

If it were doing something after I called the installer, I could understand, but it runs quickly, and then exits; just like a good little silent installer should.

I will try your suggestion of changing it to a “dummy” command in the execute block, though I am inclined to believe that this will work normally, and that the problem lies somehow with the installer ☹

-Dan-Joe

Sent from Windows Mail

From:  " target="_parent">Adam Edwards
Sent: ‎Friday‎, ‎August‎ ‎21‎, ‎2015 ‎4‎:‎22‎ ‎PM
To:  " target="_parent">

Dan-Joe, have you verified that the installation is actually hung when you run chef-client? You could use ps in PowerShell or use taskmgr.exe to validate that some process related to the setup is still going.

 

Just to rule out any odd behavior, I would recommend changing the command in the execute block to something that you know will work, e.g. “cmd /c echo hello” just to see that your recipe completes. Assuming it does, then you know the hang is related to something specific to the installer you are running.

 

-Adam

 

From: Dan-Joe Lopez [mailto: " target="_parent"> ]
Sent: Friday, August 21, 2015 2:50 PM
To: " target="_parent">
Subject: [chef] Calling exe in Windows hangs the Chef run

 

Hello fellow Chefs!

 

I don’t know what I am doing wrong here   This is a similar question as was asked here http://lists.opscode.com/sympa/arc/chef/2015-05/msg00161.html, however my problem is that the expected ways of being able to do this are not working.

 

Note, that we are working with chef-solo 11.6

 

I am trying to install Altassian SourceTree.  The installer is an exe, of what type I am unsure (and can’t seem to find the right way to find that out).  I am also passing a parameter of “/exenoui” to suppress the installer interface for automation.

 

However I try to run this executable, it hangs the chef client run upon completion. In most cases, it actually runs as it is supposed to, e.g. files are where I expect them to be afterwards…

 

I am downloading the installer source from a local network repository, and then attempting to run it.

I can acquire the file with remote_file.  I then try to execute it with ‘execute’, ‘batch’, or do the download and run all at once with ‘windows_package’.

 

When I use execute or batch, the application is installed, but the chef run never moves on.  When I use ‘windows_package’ the application is not installed, and the chef run just hangs there.  Here is the code:

 

***This

Works***

remote_file

"#{Chef::Config[:file_cache_path]}\\#{node['my-sourcetree'][:what]}"

do

 

 

source node['my-sourcetree'][:RepoLoc]

+

"/"

+

node['my-sourcetree'][:where]

+

"/"

+

node['my-sourcetree'][:what]

 

 

action :create

end

****************

 

***These

install but hang the chef run***

batch

"Install

#{node['my-sourcetree'][:what]}

#{node['my-sourcetree'][:options]}"

do

 

cwd "#{Chef::Config[:file_cache_path]}"

 code

"#{node['my-sourcetree'][:what]}

#{node['my-sourcetree'][:options]}"

end

 

execute

"Install"

do

 

 

cwd "#{Chef::Config[:file_cache_path]}"

 

 

command "#{node['my-sourcetree'][:what]}

#{node['my-sourcetree'][:options]}"

end

******************************************

 

***This

just hangs the chef run without installing anything***

windows_package

"#{node['my-sourcetree'][:name]}

#{node['my-sourcetree'][:ver]}"

do

 

source node['my-sourcetree'][:RepoLoc]

+

"/"

+

node['my-sourcetree'][:where]

+

"/"

+

node['my-sourcetree'][:what]

 

options node['my-sourcetree'][:options]

 

action :install

end

**************************************************************

 

My

attributes are:

default['my-sourcetree'][:name]

=

'SourceTree'

default['my-sourcetree'][:where]

=

'Altassian/SourceTree'

default['my-sourcetree'][:what]

=

'SourceTreeSetup_1.6.18.exe'

default['my-sourcetree'][:ver]

=

'1.6.18

default['my-sourcetree'][:options]

=

'/exenoui'

default['my-sourcetree'][:RepoLoc]

=

'http://my-repo'

 

The source installer is located at http://my-repo/Altassian/SourceTree/SourceTreeSetup_1.6.18.exe

 

If someone can point me at what I am doing wrong here, I sure would appreciate the help!

 

Sent from Windows Mail

 




Archive powered by MHonArc 2.6.16.

§