On Jan 21, 2013, at 10:13 AM, Thomas Bendler <thomas.bend...@gmail.com> wrote:

> Hi @all,
> 
> I still have a problem with Puppet in conjunction with Windows. My goal in 
> the first step is to deploy Nagios agents on Windows servers. Therefore I 
> extended my current class with a Windows specific part:
> 
> # Class: nagios::client
> # [...]
> #
> class monitor::nagios::client inherits monitor::params {
> [...]
>   $windows = $::operatingsystem ? {
>     windows => true,
>     default => false
>   }
> [...]
>   if $windows {
>     file {
>       'c:/local/source':
>         ensure => directory,
>         mode   => 0770,
>         owner  => 'Administrator',
>         group  => 'Administrators';
> 
>       'c:/local/source/NSClient++-0.3.9-x64.msi':
>         ensure  => present,
>         mode    => 0770,
>         owner   => 'Administrator',
>         group   => 'Administrators',
>         require => File['c:/local/source'],
>         path    => $::operatingsystem ? {
>           default => 'c:/local/source/NSClient++-0.3.9-x64.msi'
>         },
>         source  => 'puppet:///modules/nagios/client/NSClient++-0.3.9-x64.msi';
> 
>       'c:/local/nsclient/boot.ini':
>         ensure  => present,
>         mode    => 0770,
>         owner   => 'Administrator',
>         group   => 'Administrators',
>         require => Package['NSClientpp'],
>         notify  => Service['NSClientpp'],
>         path    => $::operatingsystem ? {
>           default => 'c:/local/nsclient/boot.ini'
>         },
>         content => template('nagios/client/boot.ini.erb');
> 
>       'c:/local/nsclient/nsc.ini':
>         ensure  => present,
>         mode    => 0770,
>         owner   => 'Administrator',
>         group   => 'Administrators',
>         require => Package['NSClientpp'],
>         notify  => Service['NSClientpp'],
>         path    => $::operatingsystem ? {
>           default => 'c:/local/nsclient/nsc.ini'
>         },
>         content => template('nagios/client/nsc.ini.erb');
>     }
> 
>     package { 'NSClientpp':
>       ensure          => installed,
>       provider        => 'windows',
>       source          => 'c:\local\source\NSClient++-0.3.9-x64.msi',
>       install_options => [
>         {
>           'INSTALLLOCATION' => 'c:\local\nsclient'
>         }
>         ],
>       require         => File['c:/local/source/NSClient++-0.3.9-x64.msi'];
>     }
> 
>     service { 'NSClientpp':
>       ensure  => 'running',
>       name    => $::operatingsystem ? {
>         default => 'NSClientpp'
>       },
>       enable  => true,
>       require => Package['NSClientpp'];
>     }
>   }
> }
> 
> So far, so good. The first time I run the manifest, the Nagios client is 
> downloaded from the Puppet Server and stored localy. The local msi get 
> installed on the server, the configuration is deployed and the service is up 
> and running. Unfortunately, if I try to run the manifest again, the package 
> provider try to install the client again and the service is deleted from the 
> service list:
> 
> Level Date and Time   Source  Event ID        Task Category
> Information   21.01.2013 18:59:16     Puppet  1       None    Finished 
> catalog run in 5.59 seconds
> Error 21.01.2013 18:59:16     Puppet  3       None    
> /Stage[main]/Nagios::Client/Service[NSClientpp]: Could not evaluate: Cannot 
> get status of NSClientpp, error was: The specified service does not exist as 
> an installed service.
> Information   21.01.2013 18:59:16     Puppet  1       None    
> /Stage[main]/Nagios::Client/Package[NSClientpp]/ensure: created
> Information   21.01.2013 18:59:15     MsiInstaller    1042    None    Ending 
> a Windows Installer transaction: c:\local\source\NSClient++-0.3.9-x64.msi. 
> Client Process Id: 10316.
> Information   21.01.2013 18:59:15     MsiInstaller    1035    None    Windows 
> Installer reconfigured the product. Product Name: NSClient++ (x64). Product 
> Version: 0.3.9.328. Product Language: 1033. Reconfiguration success or error 
> status: 0.
> Information   21.01.2013 18:59:15     MsiInstaller    11728   None    
> Product: NSClient++ (x64) -- Configuration completed successfully.
> Information   21.01.2013 18:59:13     MsiInstaller    1040    None    
> Beginning a Windows Installer transaction: 
> c:\local\source\NSClient++-0.3.9-x64.msi. Client Process Id: 10316.
> Information   21.01.2013 18:29:06     Puppet  1       None    Finished 
> catalog run in 4.30 seconds
> Error 21.01.2013 18:29:05     Puppet  3       None    
> /Stage[main]/Nagios::Client/Service[NSClientpp]: Could not evaluate: Cannot 
> get status of NSClientpp, error was: The specified service does not exist as 
> an installed service.
> Information   21.01.2013 18:29:05     Puppet  1       None    
> /Stage[main]/Nagios::Client/Package[NSClientpp]/ensure: created
> Information   21.01.2013 18:29:05     MsiInstaller    1042    None    Ending 
> a Windows Installer transaction: c:\local\source\NSClient++-0.3.9-x64.msi. 
> Client Process Id: 14800.
> Information   21.01.2013 18:29:05     MsiInstaller    1035    None    Windows 
> Installer reconfigured the product. Product Name: NSClient++ (x64). Product 
> Version: 0.3.9.328. Product Language: 1033. Reconfiguration success or error 
> status: 0.
> Information   21.01.2013 18:29:05     MsiInstaller    11728   None    
> Product: NSClient++ (x64) -- Configuration completed successfully.
> Information   21.01.2013 18:29:03     MsiInstaller    1040    None    
> Beginning a Windows Installer transaction: 
> c:\local\source\NSClient++-0.3.9-x64.msi. Client Process Id: 14800.
> Information   21.01.2013 17:59:05     Puppet  1       None    Finished 
> catalog run in 6.20 seconds
> Error 21.01.2013 17:59:04     Puppet  3       None    
> /Stage[main]/Nagios::Client/Service[NSClientpp]: Could not evaluate: Cannot 
> get status of NSClientpp, error was: The specified service does not exist as 
> an installed service.
> Information   21.01.2013 17:59:04     Puppet  1       None    
> /Stage[main]/Nagios::Client/Package[NSClientpp]/ensure: created
> Information   21.01.2013 17:59:03     MsiInstaller    1042    None    Ending 
> a Windows Installer transaction: c:\local\source\NSClient++-0.3.9-x64.msi. 
> Client Process Id: 10944.
> Information   21.01.2013 17:59:03     MsiInstaller    1035    None    Windows 
> Installer reconfigured the product. Product Name: NSClient++ (x64). Product 
> Version: 0.3.9.328. Product Language: 1033. Reconfiguration success or error 
> status: 0.
> Information   21.01.2013 17:59:03     MsiInstaller    11728   None    
> Product: NSClient++ (x64) -- Configuration completed successfully.
> Information   21.01.2013 17:59:00     MsiInstaller    1040    None    
> Beginning a Windows Installer transaction: 
> c:\local\source\NSClient++-0.3.9-x64.msi. Client Process Id: 10944.
> Information   21.01.2013 17:57:34     Puppet  1       None    Finished 
> catalog run in 16.76 seconds
> Information   21.01.2013 17:57:34     Puppet  1       None    
> /Stage[main]/Nagios::Client/Service[NSClientpp]: Triggered 'refresh' from 5 
> events
> Information   21.01.2013 17:57:28     Puppet  1       None    
> /Stage[main]/Nagios::Client/Service[NSClientpp]/ensure: ensure changed 
> 'stopped' to 'running'
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/boot.ini]: Scheduling 
> refresh of Service[NSClientpp]
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/boot.ini]/ensure: created
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]: Scheduling 
> refresh of Service[NSClientpp]
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]: Scheduling 
> refresh of Service[NSClientpp]
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]: Scheduling 
> refresh of Service[NSClientpp]
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]: Scheduling 
> refresh of Service[NSClientpp]
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]/mode: mode 
> changed '2000770' to '0770'
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]/group: group 
> changed 'NT AUTHORITY\SYSTEM' to 'BUILTIN\Administrators'
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]/owner: owner 
> changed 'NT AUTHORITY\SYSTEM' to 'CED\Administrator'
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]/content: content 
> changed '{md5}cdf48ac49d61099bd6051f98016c419d' to 
> '{md5}c4e0cb5190d2a5ac2cfcf1520701f1c8'
> Information   21.01.2013 17:57:25     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]: Filebucketed 
> c:/local/nsclient/nsc.ini to puppet with sum cdf48ac49d61099bd6051f98016c419d
> Information   21.01.2013 17:57:25     Puppet  1       None    FileBucket 
> adding {md5}cdf48ac49d61099bd6051f98016c419d
> Information   21.01.2013 17:57:24     Puppet  1       None    
> /Stage[main]/Nagios::Client/File[c:/local/nsclient/nsc.ini]/content: 
> 
> Information   21.01.2013 17:57:24     Puppet  1       None    
> /Stage[main]/Nagios::Client/Package[NSClientpp]/ensure: created
> Information   21.01.2013 17:57:24     MsiInstaller    1042    None    Ending 
> a Windows Installer transaction: c:\local\source\NSClient++-0.3.9-x64.msi. 
> Client Process Id: 9252.
> Information   21.01.2013 17:57:24     MsiInstaller    1033    None    Windows 
> Installer installed the product. Product Name: NSClient++ (x64). Product 
> Version: 0.3.9.328. Product Language: 1033. Installation success or error 
> status: 0.
> Information   21.01.2013 17:57:24     MsiInstaller    11707   None    
> Product: NSClient++ (x64) -- Installation completed successfully.
> Information   21.01.2013 17:57:19     MsiInstaller    1040    None    
> Beginning a Windows Installer transaction: 
> c:\local\source\NSClient++-0.3.9-x64.msi. Client Process Id: 9252.
> Information   21.01.2013 17:57:18     Puppet  1       None    Applying 
> configuration version '1358787434'
> Information   21.01.2013 17:57:17     Puppet  1       None    Caching catalog 
> for ced.example.com
> Information   21.01.2013 17:57:09     Puppet  1       None    Loading facts 
> in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/root_home.rb
> Information   21.01.2013 17:57:09     Puppet  1       None    Loading facts 
> in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/puppet_vardir.rb
> Information   21.01.2013 17:57:09     Puppet  1       None    Loading facts 
> in C:/ProgramData/PuppetLabs/puppet/var/lib/facter/facter_dot_d.rb
> Information   21.01.2013 17:57:00     Puppet  1       None    Retrieving 
> plugin
> 
> It look like that the puppet msi package provider didn't recognize an already 
> installed package. I've tested the manifest on W2K3 and W2K8 with the same 
> result. Puppet agent is version 3.0.2. Any ideas?
> 
> Regards, Thomas
> -- 
> Linux ... enjoy the ride!
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> 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.

The name of the package in your manifest

>  package { 'NSClientpp':


needs to match the name that is displayed in Add/Remove Programs.

Josh

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
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