I've got a puppet module that creates user accounts on linux machines.
I'm trying to override a couple settings in my config for the user's shell and home directory. And I'm getting this error:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter shell on Accounts::Virtual[mysql] at /etc/puppet/environments/production/modules/accounts/manifests/init.pp:70 on node solr1.jokefire.com Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run I have the user virtual account definitions setup this way in the account module's init.pp:
@accounts::virtual { 'mysql': uid => 1007, shell => '/bin/false', home => '/var/lib/mysql', realname => 'mysql', pass => 'secret_hash', } And this is how the virtual account definitions are setup:
# Defined type for creating virtual user accounts # define accounts::virtual ($uid,$realname,$pass) { user { $title: ensure => 'present', uid => $uid, gid => $title, shell => '/bin/bash', home => "/home/${title}", comment => $realname, password => $pass, managehome => true, require => Group[$title] } group { $title: gid => $uid, } file { "/home/${title}": ensure => directory, owner => $title, group => $title, mode => 0750, require => [ User[$title], Group[$title] ] } } Where am I going wrong? Why can't I override these values?