Code Monkey home page Code Monkey logo

puppet-vmwaretools's Introduction

#puppet-vmwaretools

Build Status

####Table of Contents

  1. Overview - What is the puppet-vmwaretools module?
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with puppet-vmwaretools
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

##Overview

This module manages the installation and upgrade of VMware Tools via the source code tarballs distributed by VMware.

##Module Description

This module is designed to replace both the OSP packages provided by VMware's repositories and also the open-vm-tools package. The module is O/S independent (tested on Ubuntu and Red Hat systems).

The tarballs are transferred to the target by either HTTP download or Puppet filebucket (the default mechanism), and then uncompressed and installed via the archive's Perl installation script.

Upgrading of currently installed VMware Tools packages is also supported - the module obtains the currently-installed VMware Tools version via a custom fact, and only deploys the tarball if a version mismatch occurs or if VMware Tools is not installed on the target system.

##Setup

###What puppet-vmwaretools affects

  • Compares installed version with the configured version via the vmwaretools fact
  • Transfer the VMware Tools archive to the target agent (via Puppet or HTTP)
  • Untar the archive and run vmware-install-tools.pl (warning: this installer is run with the -d flag to accept all default answers).
  • Removes the open-vm-tools package.

###Setup Requirements

  • Perl must be installed on the target systems in order to run the VMware Tools installer.
  • Pluginsync must be enabled, due to the vmwaretools custom fact distributed with this module.

###Beginning with puppet-vmwaretools

To accept default class parameters:

include vmwaretools

##Usage

The source distribution mechanism can be customised by declaring the module with archive_url and archive_md5 parameters (default is to use Puppet filebuckets).

To specify a non-default version, working directory and HTTP URL (other variables can be viewed and/or modified in manifests/init.pp):

class { 'vmwaretools':
  version     => '8.6.5-621624',
  working_dir => '/tmp/vmwaretools'
  archive_url => 'http://server.local/my/dir',
  archive_md5 => '9df56c317ecf466f954d91f6c5ce8a6f',
}

##Reference

###Facts

  • vmwaretools_version - Detects any existing VMware Tools installations and, if found, reports the installed version.
  • esx_version - Detects the underlying ESX version from dmidecode, thanks to François Deppierraz for the pull request!

###Classes

  • vmwaretools::install::exec - Declares all exec commands run by the module.
  • vmwaretools::install::archive - Handles the archive distribution (either places a download script or the archive).
  • vmwaretools::params - O/S-specific and module configuration (e.g. paths to binaries and a boolean variable to control file deployment)
  • vmwaretools::config_tools - Executes vmware-config-tools.pl -d if the vmci.ko module doesn't exist for the running kernel
  • vmwaretools::timesync - Handles time synchronisation between the virtual machine and host

##Limitations

###Supported Operating Systems

  • Ubuntu - 12.04 LTS (Precise) and 10.04 LTS (Lucid) tested
  • Red Hat family - RHEL 5 and 6 tested
  • Debian family - written but untested, reports appreciated

###Unsupported Operating Systems

##Development

  • Copyright (C) 2013 Craig Watson - [email protected]
  • VMware Tools fact by janorn
  • Distributed under the terms of the GNU General Public License v3 - see LICENSE file for details.
  • Further contributions and testing reports are extremely welcome - please submit a pull request or issue on GitHub

puppet-vmwaretools's People

Contributors

craigwatson avatar keeleysam avatar sgrimee avatar ctrlaltdel avatar mattiasgeniar avatar mckern avatar aedu avatar altvnk avatar aellert avatar snobear avatar

Watchers

James Cloos avatar Brandon Wulf avatar Bill Neely avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.