Forge Home

autofs

Puppet module for Autofs

30,394 downloads

1,393 latest version

4.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 6.0.0 (latest)
  • 5.2.0
  • 5.1.0
  • 5.0.1
  • 5.0.0
  • 4.1.0
  • 4.0.1
  • 4.0.0
  • 3.0.0
  • 2.0.4
  • 2.0.3
  • 2.0.2
  • 2.0.1
  • 2.0.0 (deleted)
released Oct 21st 2016
This version is compatible with:
  • Puppet Enterprise >= 3.2.0 < 2015.4.0
  • Puppet >= 3.2.0 < 5.0.0
  • , , , , , , Gentoo, Archlinux

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'jkroepke-autofs', '2.0.3'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add jkroepke-autofs
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install jkroepke-autofs --version 2.0.3

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

jkroepke/autofs — version 2.0.3 Oct 21st 2016

autofs

Forked from Reid Vandewiele

Puppet Forge Build Status

Table of Contents

  1. Description
  2. Setup - The basics of getting started with autofs
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

Installs and configures autofs which provides automount functionality. Tested with Ubuntu 12.04, Ubuntu 14.04 and CentOS 7

Setup

Beginning with autofs

include '::autofs' is enough to get you up and running. If you wish to pass in parameters specifying which servers to use, then:

class { '::autofs':
  package_manage  => false,
  service_restart => '/usr/bin/systemctl reload autofs';
}
autofs::package_manage: false
autofs::service_restart: '/usr/bin/systemctl reload autofs'

Usage

Added a map file

::autofs::mapfile{ 'auto.home':
  directory => '/home',
  options   => '--timeout 300';
}

Added a map file with direct mount

::autofs::mapfile{ 'auto.share':
  directory => '/-',
  options   => '--timeout 300';
}

Remove a no-longer-needed map file

::autofs::mapfile{ 'auto.share':
  ensure    => absent,
  directory => '/-',
}

Remove a no-longer-needed map file and purge the mount directory:

::autofs::mapfile{ 'auto.home':
  ensure    => purged,
  directory => '/home',

Added a map file with a non-'file' type

::autofs::mapfile{ 'auto.chroot':
  directory => '/chroot',
  maptype   => program ,
}

Include an other master config

::autofs::include{ 'auto.local': }

Adding a mount

::autofs::mount { 'remote': 
  mapfile => 'auto.share',
  options => '-fstype=nfs,rw,bg',
  map     => 'nfsserver:/nfs/share';
}

Adding a mount to a direct mount mapfile

::autofs::mount { '/share/remote': 
  mapfile => 'auto.share',
  options => '-fstype=nfs,rw,bg',
  map     => 'nfsserver:/nfs/share';
}

Adding a mount with dynamic mount points

::autofs::mount { '*': 
  mapfile => 'auto.home',
  options => '-fstype=nfs,rw,bg',
  map     => 'nfsserver:/nfs/homes/&';
}

Adding a mount with the same name on other mapfiles

::autofs::mount { '*@auto.home2': 
  mount   => '*',
  mapfile => 'auto.home2',
  options => '-fstype=nfs,rw,bg',
  map     => 'nfsserver:/nfs/homes/&';
}

Using hiera

autofs::includes:
  auto.local: {}
  
autofs::mapfiles:
  auto.home:
    directory: '/home'
    options: '--timeout 300'
  auto.share:
    directory: '/-'
    options: '--timeout 600'
    
autofs::mounts:
  remote:
    mapfile: 'auto.share'
    options: '-fstype=nfs,rw,bg'
    map: 'nfsserver:/nfs/share'
  '/share/remote': 
    mapfile: 'auto.share'
    options: '-fstype=nfs,rw,bg'
    map: 'nfsserver:/nfs/share'
  '*': 
    mapfile: 'auto.home'
    options: '-fstype=nfs,rw,bg'
    map: 'nfsserver:/nfs/homes/&'
  '*@auto.home2': 
    mount: '*'
    mapfile: 'auto.home2'
    options: '-fstype=nfs,rw,bg'
    map: 'nfsserver:/nfs/homes/&'

Reference

###Classes

####Public Classes

  • autofs: Main class, includes all other classes.

####Private Classes

  • autofs::install: Handles the packages.
  • autofs::config: Handles the configuration file.
  • autofs::service: Handles the service.

####Types

  • autofs::include: Adds additional includes to auto.master
  • autofs::mapfile: Adds mapfile to auto.master
  • autofs::mount: Adds mounts to mapfiles

###Parameters

The following parameters are available in the ::autofs class:

####config_file_owner

Tells Puppet what the file owner of the generated config files. Valid options: valid unix user. Default value: 'root'

####config_file_group

Tells Puppet what the file group of the generated config files. Valid options: valid unix group. Default value: 'root'

####master_config

Tells Puppet what the name of the auto.master config file. Valid options: string. Default value: varies by operating system

####map_config_dir

Tells Puppet what the directory where is the master_config located. Valid options: string. Default value: varies by operating system

####package_ensure

Tells Puppet whether the autofs package should be installed, and what version. Valid options: 'present', 'latest', or a specific version number. Default value: 'present'

####package_manage

Tells Puppet whether to manage the autofs package. Valid options: 'true' or 'false'. Default value: 'true'

####package_name

Tells Puppet what autofs package to manage. Valid options: string. Default value: 'autofs' (autofs-ldap on debian familliy)

####service_enable

Tells Puppet whether to enable the autofs service at boot. Valid options: 'true' or 'false'. Default value: 'true'

####service_ensure

Tells Puppet whether the autofs service should be running. Valid options: 'running' or 'stopped'. Default value: 'running'

####service_manage

Tells Puppet whether to manage the autofs service. Valid options: 'true' or 'false'. Default value: 'true'

####service_name

Tells Puppet what autofs service to manage. Valid options: string. Default value: varies by operating system

####service_hasrestart

Tells Puppet whether the autofs service has a restart option. Valid options: string. Default value: varies by operating system

####service_hasstatus

Tells Puppet whether the autofs service has a status option. Valid options: string. Default value: varies by operating system

####service_restart

Tells Puppet the restart command of the autofs service. Usefull, if you want to reload autofs instead restart. Valid options: string. Default value: undef

####mapfiles

Hash of autofs::mapfile resources. Valid options: hash. Default value: Empty hash

####mounts

Hash of autofs::mount resources. Valid options: hash. Default value: Empty hash

####includes

Hash of autofs::include resources. Valid options: hash. Default value: Empty hash

####The following parameters are available in the ::autofs::include type:

####mapfile

Name of the mapfile to be included. Valid options: string. No default value

####order

Order of the entry on the master_config config file (Will be passthrough to concat::fragment). Valid options: string. Default value: undef

####The following parameters are available in the ::autofs::mapfile type:

####directory

Base directory for this mapfile (Use '/-' for direct mounts). Valid options: string. No default value

####mapfile

Name of the mapfile. Valid options: string. Default value: $name

####order

Order of the entry on the master_config config file (Will be passthrough to concat::fragment). Valid options: string. Default value: undef

####mounts

Hash of autofs::mount resources. All resources will be mapped to this mapfile. Valid options: hash. Default value: Empty hash

####The following parameters are available in the ::autofs::mount type:

####mount

Name of the mount point. Valid options: string. Default value: $name

####mapfile

Name of the mapfile where is mount live. Valid options: string. No default value

####map

Device, NFS server, local device or any other resource that can be mount.

####options

Defines mount options.

####order

Order of the entry on the master_config config file (Will be passthrough to concat::fragment). Valid options: string. Default value: undef

####mounts

Hash of autofs::mount resources. All resources will be mapped to this mapfile. Valid options: hash. Default value: Empty hash

Limitations

Currently it is not possible to define mounts directly on the auto.master. You must define a mapfile.

Only tested with Ubuntu 14.04, CentOS 6 and CentOS 7. Other OS'es might work, but are not tested

Development

Feel free to open issues or pull request on the github repo site: https://github.com/jkroepke/puppet-module-autofs

Contributors

To see who's already involved, see the list of contributors.