Skip to content
Snippets Groups Projects
vmguest.pp 2.01 KiB
Newer Older
Adam Lewenberg's avatar
Adam Lewenberg committed
# Configuration used on VMware guests.

class base::vmguest {
  include base::vmguest::syslog,
          base::vmguest::tripwire

  # Install filter-syslog rules to ignore vmware-tools noise.
  file { '/etc/filter-syslog/vmguest':
    source  => 'puppet:///modules/base/vmguest/etc/filter-syslog/vmguest';
  }

  case $::operatingsystem {
    'debian', 'ubuntu': {
      if $::lsbdistcodename == 'wheezy' {
        package { 'open-vm-dkms': ensure => present }
      } elsif $::lsbdistcodename == 'precise' {
        # Do nothing for now.
      } else {
        package { "open-vm-modules-${::kernelrelease}": ensure => present }
      }
      package { 'open-vm-tools': ensure => present }

      # udev rules for SCSI I/O timeout.  Needs config on older Debian since
      # open-vm-tools doesn't modify udev like VMwareTools on RHEL.
      if $::lsbdistcodename in ['lenny', 'squeeze'] {
        file { '/etc/udev/rules.d/99-vmware-scsi-udev.rules':
          source => 'puppet:///modules/base/vmguest/etc/udev/rules.d/99-vmware-scsi-udev.rules',
        }
      }
    }
    'redhat': {
      base::rpm::yumrepo { "vmware-tools-EL${::lsbmajdistrelease}.repo": }
      base::rpm::import {
        'vmware-tools-dsa':
          url       =>
            'http://yum.stanford.edu/VMWARE-PACKAGING-GPG-DSA-KEY.pub',
            signature => 'gpg-pubkey-04bbaa7b-4c881cbf';
        'vmware-tools-rsa':
          url       =>
            'http://yum.stanford.edu/VMWARE-PACKAGING-GPG-RSA-KEY.pub',
            signature => 'gpg-pubkey-66fd4949-4803fe57';
      }
      package {
        'VMwareTools':
          ensure  => absent;
        'vmware-tools-esx-nox':
          ensure  => present,
          require => [
              Base::Rpm::Yumrepo["vmware-tools-EL${::lsbmajdistrelease}.repo"],
              Base::Rpm::Import['vmware-tools-dsa'],
              Base::Rpm::Import['vmware-tools-rsa'],
              Package['VMwareTools']
            ];
      }
Adam Lewenberg's avatar
Adam Lewenberg committed
      service { 'smartd':
        ensure => stopped,
        enable => false,
      }
    }
  }
}