|
1 | 1 | # Class: vmware-tools
|
2 | 2 | #
|
3 |
| -# This module handles installing the VMware Tools Operating System Specific |
| 3 | +# This class handles installing the VMware Tools Operating System Specific |
4 | 4 | # Packages. http://packages.vmware.com/
|
5 | 5 | #
|
6 | 6 | # Parameters:
|
| 7 | +# $vmwaretools_esx_version - optional - 3.5latest|4.0|3.5u5|etc, default: 4.1latest |
7 | 8 | #
|
8 | 9 | # Actions:
|
9 | 10 | # Removes old VMwareTools package or runs vmware-uninstall-tools.pl if found.
|
|
12 | 13 | # Starts the vmware-tools service.
|
13 | 14 | #
|
14 | 15 | # Requires:
|
15 |
| -# $vmwarever - optional - 4.0latest|3.5u5|5.0|etc, default: latest |
16 |
| -# $lsbmajdistrelease - required - fact |
| 16 | +# $::lsbmajdistrelease - required - fact |
17 | 17 | #
|
18 | 18 | # Sample Usage:
|
19 | 19 | #
|
20 | 20 | 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 | + } |
25 | 73 |
|
26 |
| - case $productname { |
27 |
| - 'VMware Virtual Platform': { |
28 | 74 | package { "VMwareTools":
|
29 |
| - ensure => "absent", |
| 75 | + ensure => "absent", |
30 | 76 | before => Package["vmware-tools"],
|
31 | 77 | }
|
32 | 78 |
|
33 | 79 | package { "vmware-tools":
|
34 | 80 | ensure => "latest",
|
35 |
| - name => $operatingsystem ? { |
| 81 | + name => $::operatingsystem ? { |
36 | 82 | Fedora => "open-vm-tools",
|
37 | 83 | default => "vmware-tools-nox",
|
38 | 84 | },
|
39 |
| - require => $operatingsystem ? { |
| 85 | + require => $::operatingsystem ? { |
40 | 86 | Fedora => Package ["VMwareTools"],
|
41 |
| - default => [ Yumrepo["vmware"], Package ["VMwareTools"], ], |
| 87 | + default => [ Yumrepo["vmware-tools"], Package ["VMwareTools"], ], |
42 | 88 | },
|
43 | 89 | }
|
44 | 90 |
|
|
66 | 112 | refreshonly => true,
|
67 | 113 | }
|
68 | 114 |
|
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 |
| - |
90 | 115 | service { "vmware-tools":
|
91 |
| - name => $operatingsystem ? { |
92 |
| - default => "vmware-tools", |
93 |
| - }, |
| 116 | + name => "vmware-tools", |
94 | 117 | ensure => "running",
|
95 | 118 | enable => "true",
|
96 | 119 | hasrestart => "true",
|
97 |
| - hasstatus => "true", |
| 120 | + hasstatus => "false", |
| 121 | + pattern => "vmware-guestd", |
98 | 122 | require => Package["vmware-tools"],
|
99 | 123 | }
|
100 | 124 |
|
101 | 125 | }
|
102 | 126 | default: { }
|
103 |
| - |
104 | 127 | }
|
105 | 128 | }
|
0 commit comments