Hi.
I have an issue with puppet package resource not verifying Version well for 
MSI packages on windows.
I tried both puppet 3.4 and latest 3.6, the matters remains the same.
When using 
  ensure => "installed"
it works fine and puppet skip running the msiexec /i...

I made sure I am using MSI DisplayVersion (double verified with add/remove 
programs and using MS VB scripts and registry to check the package 
DisplayVersion) including some very common globally distributed MSIs and 
executables like MS products (VC2xxx for to name a few). 
The behavior is: Puppet re-runs msiexec /i as if it is not found.
The expected behavior: Puppet to skip installation by verifying version 
equals.

Only one exception note, I have also in-house created MSIs which are Not 
registered to add/remove programs list (ARPSYSTEMCOMPONENT=1) but I don't 
think that matters either (as also MS MSIs/Execs are not checked by version 
correctly).

Here is a sample of how my package resource looks like, including hiera 
configuration:

class framework_app_server_env::install () inherits framework_app_server {
    $gavarr = split($gav, ':')

*    $version = $gavarr[2]*
    artifactory::artifact { 'FrameworkAppServerEnvironment.msi':
        gav        => "${gav}",
        ensure     => present,
        packaging  => 'msi',
        repository => "${artifactory_repo}",
        output     => 
"${install_dir}\\FrameworkAppServerEnvironment-${version}.msi",
        require    => Class['artifactory']
    }

    package { 'Framework App Server Environment':

*        ensure           => "${version}",*        source            => 
"${install_dir}\\FrameworkAppServerEnvironment-${version}.msi",
        install_options => [ 'ARPSYSTEMCOMPONENT=1', 
"INSTALLDIR=${software_dir}", '/log', 
"${log_dir}\\framework_app_server_env.log" ],
        require            => [ 
Artifactory::Artifact['FrameworkAppServerEnvironment.msi'], 
File["${install_dir}"], File["${software_dir}"] ]
    }
}

and in hiera file:
framework_app_server_env::artifact::gav : 
'shared-components:FrameworkAppServerEnvironment:*11.2.0.0186*'

I tried using notify to print ${version} while running agent -t on the 
agent windows machine and it printed the version perfectly.

Puzzled.

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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/ae6edc0b-6f50-42d1-bdc1-b16eca147534%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to