Skip to content

Commit 042ee92

Browse files
committed
Refactored for 2.0.0 release.
Changed the name of the override variable from $vmwarever to the more descriptive $vmwaretools_esx_version. Also made the manifest compatible with Puppet 2.6 variable scope. Replaced $lsbmajdistrelease with an internal computation. Added initial SuSE support. Fixed service status.
1 parent 126e751 commit 042ee92

File tree

3 files changed

+76
-41
lines changed

3 files changed

+76
-41
lines changed

Modulefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name 'runningman-vmwaretools'
2-
version '1.0.0'
2+
version '2.0.0'
33
source 'git://github.com/runningman/puppet-vmware-tools.git'
44
author 'runningman'
55
license 'Apache 2.0'

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,24 @@ Class documentation is available via puppetdoc.
1818
Examples
1919
--------
2020

21+
$vmwaretools_esx_version = '4.1latest'
2122
include vmware-tools
2223

24+
Notes
25+
-----
26+
27+
* Only tested on CentOS 5.5 and CentOS 6.2.
28+
2329
Issues
2430
------
2531

26-
* ??
32+
* Does not yet work with version 5.0 OSP tools.
33+
* Does not install Desktop (X Window) components.
34+
35+
TODO
36+
----
37+
38+
* Support installation of Desktop packages.
2739

2840
Copyright
2941
---------

manifests/init.pp

Lines changed: 62 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Class: vmware-tools
22
#
3-
# This module handles installing the VMware Tools Operating System Specific
3+
# This class handles installing the VMware Tools Operating System Specific
44
# Packages. http://packages.vmware.com/
55
#
66
# Parameters:
7+
# $vmwaretools_esx_version - optional - 3.5latest|4.0|3.5u5|etc, default: 4.1latest
78
#
89
# Actions:
910
# Removes old VMwareTools package or runs vmware-uninstall-tools.pl if found.
@@ -12,33 +13,78 @@
1213
# Starts the vmware-tools service.
1314
#
1415
# Requires:
15-
# $vmwarever - optional - 4.0latest|3.5u5|5.0|etc, default: latest
16-
# $lsbmajdistrelease - required - fact
16+
# $::lsbmajdistrelease - required - fact
1717
#
1818
# Sample Usage:
1919
#
2020
class vmware-tools {
21-
$vmwarever_real = $vmwarever ? {
22-
'' => 'latest',
23-
default => "$vmwarever",
24-
}
21+
case $::virtual {
22+
vmware: {
23+
$vmwaretools_esx_version_real = $::vmwaretools_esx_version ? {
24+
'' => '4.1latest',
25+
default => "$::vmwaretools_esx_version",
26+
}
27+
28+
# if ! $::lsbmajdistrelease {
29+
# fail("Please install the redhat-lsb package so that facter can provide the \$lsbmajdistrelease fact.")
30+
# }
31+
32+
$majdistrelease = regsubst($::operatingsystemrelease,'^(\d+)\.(\d+)','\1')
33+
34+
case $::operatingsystem {
35+
"RedHat", "CentOS", "Scientific", "SLC", "Ascendos", "PSBM", "OracleLinux", "OVS", "OEL": {
36+
$yum_basearch = $::architecture ? {
37+
'i386' => 'i686',
38+
default => "$::architecture",
39+
}
40+
41+
yumrepo { "vmware-tools":
42+
descr => "VMware Tools $vmwaretools_esx_version_real - RHEL${majdistrelease} ${yum_basearch}",
43+
#descr => "VMware Tools $vmwaretools_esx_version_real - RHEL${::lsbmajdistrelease} ${yum_basearch}",
44+
enabled => 1,
45+
gpgcheck => 1,
46+
gpgkey => "http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub",
47+
baseurl => "http://packages.vmware.com/tools/esx/${vmwaretools_esx_version_real}/rhel${majdistrelease}/${yum_basearch}/",
48+
#baseurl => "http://packages.vmware.com/tools/esx/${vmwaretools_esx_version_real}/rhel${::lsbmajdistrelease}/${yum_basearch}/",
49+
priority => 50,
50+
protect => 0,
51+
}
52+
}
53+
"SLES", "SLED", "OpenSuSE", "SuSE": {
54+
$yum_basearch = $::architecture ? {
55+
'i386' => 'i586',
56+
default => "$::architecture",
57+
}
58+
59+
yumrepo { "vmware-tools":
60+
descr => "VMware Tools $vmwaretools_esx_version_real - SUSE${majdistrelease} ${yum_basearch}",
61+
#descr => "VMware Tools $vmwaretools_esx_version_real - SUSE${::lsbmajdistrelease} ${yum_basearch}",
62+
enabled => 1,
63+
gpgcheck => 1,
64+
gpgkey => "http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub",
65+
baseurl => "http://packages.vmware.com/tools/esx/${vmwaretools_esx_version_real}/suse${majdistrelease}/${yum_basearch}/",
66+
#baseurl => "http://packages.vmware.com/tools/esx/${vmwaretools_esx_version_real}/suse${::lsbmajdistrelease}/${yum_basearch}/",
67+
priority => 50,
68+
protect => 0,
69+
}
70+
}
71+
default: { }
72+
}
2573

26-
case $productname {
27-
'VMware Virtual Platform': {
2874
package { "VMwareTools":
29-
ensure => "absent",
75+
ensure => "absent",
3076
before => Package["vmware-tools"],
3177
}
3278

3379
package { "vmware-tools":
3480
ensure => "latest",
35-
name => $operatingsystem ? {
81+
name => $::operatingsystem ? {
3682
Fedora => "open-vm-tools",
3783
default => "vmware-tools-nox",
3884
},
39-
require => $operatingsystem ? {
85+
require => $::operatingsystem ? {
4086
Fedora => Package ["VMwareTools"],
41-
default => [ Yumrepo["vmware"], Package ["VMwareTools"], ],
87+
default => [ Yumrepo["vmware-tools"], Package ["VMwareTools"], ],
4288
},
4389
}
4490

@@ -66,40 +112,17 @@
66112
refreshonly => true,
67113
}
68114

69-
$yum_basearch = $architecture ? {
70-
'i386' => 'i686',
71-
default => "$architecture",
72-
}
73-
74-
case $operatingsystem {
75-
CentOS, RedHat, OEL: {
76-
yumrepo { "vmware":
77-
descr => "VMware Tools $vmwarever_real - rhel${lsbmajdistrelease} ${yum_basearch}",
78-
enabled => 1,
79-
gpgcheck => 1,
80-
gpgkey => "http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub",
81-
baseurl => "http://packages.vmware.com/tools/esx/${vmwarever_real}/rhel${lsbmajdistrelease}/${yum_basearch}/",
82-
priority => 10,
83-
protect => 0,
84-
#require => [ Package["yum-priorities"], Package["yum-protectbase"], ],
85-
}
86-
}
87-
default: { }
88-
}
89-
90115
service { "vmware-tools":
91-
name => $operatingsystem ? {
92-
default => "vmware-tools",
93-
},
116+
name => "vmware-tools",
94117
ensure => "running",
95118
enable => "true",
96119
hasrestart => "true",
97-
hasstatus => "true",
120+
hasstatus => "false",
121+
pattern => "vmware-guestd",
98122
require => Package["vmware-tools"],
99123
}
100124

101125
}
102126
default: { }
103-
104127
}
105128
}

0 commit comments

Comments
 (0)