[Puppet Users] Puppet Windows Automation

2015-08-27 Thread Thomas Bartlett
Hi Guys,

So I've been working with puppet on windows and I think my approach is all 
wrong. I've been using the puppetlabs/powershell module to run commands, 
however I'm having difficulty with exit codes. Primarily puppet expects 
exit codes to denote success/failure, whereas powershell is returning 
objects (and giving a 0 exit code regardless of result).

I'm automating the install of old bits of software, so getting meaningful 
answers out of the installers is pretty difficult, this means that the 
scripts are a bit ugly and not very idempotent. Typically I have to check a 
log file to find out if the install actually worked.

Are there any examples out there of windows puppet automation that makes 
heavy use of the powershell module?

Cheers,

Tom

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/7b4f140b-05fd-4477-b8bc-62e14f54da70%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Puppet Windows Automation

2015-08-27 Thread Thomas Bartlett
Nice one, I'll give that a go. You don't happen to know how I can set a 
variable to equal the result of a powershell command do you? I need to use 
the hostname of the machine as a parameter for another command. At the 
minute I'm using hard-coding which is obviously a cardinal sin.

On Thursday, 27 August 2015 15:27:04 UTC+1, Peter Kristolaitis wrote:
>
> We solve this issue by doing (kind of ugly) stuff like this in our modules:
>
> unless  =>  'if ( ! ( Get-Service mcollectived ) ) { exit 1 }',
>
> If you don't like that syntax, you may be able to use the $? or 
> $LastExitCode variables that get set by PowerShell (I haven't tested this, 
> however).  Both of those have non-obvious gotchas.  A good writeup on error 
> handling in PS (not Puppet-specific) is here:  
> http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/12/powershell-error-handling-and-why-you-should-care.aspx
>
> - Peter
>
>
> On 08/27/2015 08:38 AM, Thomas Bartlett wrote:
>
> Hi Guys,
>
> So I've been working with puppet on windows and I think my approach is all 
> wrong. I've been using the puppetlabs/powershell module to run commands, 
> however I'm having difficulty with exit codes. Primarily puppet expects 
> exit codes to denote success/failure, whereas powershell is returning 
> objects (and giving a 0 exit code regardless of result).
>
> I'm automating the install of old bits of software, so getting meaningful 
> answers out of the installers is pretty difficult, this means that the 
> scripts are a bit ugly and not very idempotent. Typically I have to check a 
> log file to find out if the install actually worked.
>
> Are there any examples out there of windows puppet automation that makes 
> heavy use of the powershell module?
>
> Cheers,
>
> Tom
> -- 
> 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/7b4f140b-05fd-4477-b8bc-62e14f54da70%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/puppet-users/7b4f140b-05fd-4477-b8bc-62e14f54da70%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 puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/4b7bba85-c64c-4ff1-abe0-ef8b9ec56590%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.