vmware: Add support for Ubuntu to vmware::guest

This commit is contained in:
Ossi Salmi 2013-11-28 22:22:35 +02:00
parent 6e39b1d906
commit 3b98700fdb

View file

@ -1,12 +1,12 @@
# Install VMware optimizations if running as guest.
#
class vmware::guest {
case $virtual {
vmware: {
case $::virtual {
"vmware": {
case $::operatingsystem {
centos: { include vmware::guest::centos }
"centos": { include vmware::guest::centos }
"ubuntu": { include vmware::guest::ubuntu }
}
}
}
@ -35,3 +35,54 @@ class vmware::guest::centos {
}
}
# Handler for Ubuntu.
#
class vmware::guest::ubuntu {
if ! $vmware_tools_package {
if $vmware_tools_package_latest {
$vmware_tools_package = $vmware_tools_package_latest
} else {
fail("Must define \$vmware_tools_package or \$vmware_tools_package_latest")
}
}
file { "/usr/local/src/vmwaretools.tar.gz":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
source => "puppet:///files/packages/${vmware_tools_package}",
}
util::extract::tar { "/usr/local/src/vmwaretools":
ensure => latest,
strip => 1,
source => "/usr/local/src/vmwaretools.tar.gz",
require => File["/usr/local/src/vmwaretools.tar.gz"],
}
exec { "vmware-install.pl":
command => "/bin/sh -c 'unset DISPLAY REMOTEHOST SSH_CONNECTION ; perl vmware-install.pl -d ; test -f /lib/modules/${kernelrelease}/misc/vmci.ko'",
path => "/bin:/usr/bin:/sbin:/usr/sbin",
cwd => "/usr/local/src/vmwaretools",
environment => [ "PAGER=/bin/cat", ],
creates => "/lib/modules/${kernelrelease}/misc/vmci.ko",
require => Util::Extract::Tar["/usr/local/src/vmwaretools"],
}
file { "/etc/init.d/vmware-tools":
ensure => link,
target => "/lib/init/upstart-job",
before => Service["vmware-tools"],
}
service { "vmware-tools":
ensure => running,
enable => true,
hasrestart => false,
start => "service vmware-tools start",
stop => "service vmware-tools stop",
status => "service vmware-tools status",
subscribe => Exec["vmware-install.pl"],
}
}