Я пытаюсь настроить несколько виртуальных пользователей в puppet. Базовые пользователи работают нормально, но по какой-то причине, когда я пытаюсь добавить "группы" в определение пользователя, запуск не удается.
Вот базовая конфигурация виртуального пользователя...
class users::virtual {
define localuser ($uid,$gid) {
user { $title:
ensure => "present",
uid => $uid,
gid => $gid,
shell => "/bin/bash",
home => "/home/$title",
comment => $realname,
managehome => true,
}
}
}
и вот пользователь вызвался...
class my::users {
include users::virtual
@users::virtual::localuser { "jdehnert":
uid => "504",
gid => "users",
groups => ["wheel", "rvm"],
require => Group["rvm"],
}
}
init.pp — это...
class people {
include my::users
realize (
Users::Virtual::Localuser["jdehnert"],
)
}
Когда я запускаю тест --noop на клиенте, я получаю это сообщение на клиенте...
# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1.
а этот на сервере...
Aug 23 04:29:38 centos63 puppet-master[21713]: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1
Если я уберу строку «groups», эта конфигурация будет работать нормально.
Я также обнаружил, что если я просто создам простой ресурс пользователя, я смогу передать параметр "groups" просто отлично. Так почему же это не работает с виртуальным пользователем?
Спасибо,
Джеймс «Зик» Денерт
[email protected]
решение1
Вы здесь что-то не понимаете:
@users::virtual::localuser { "jdehnert":
uid => "504",
gid => "users",
groups => ["wheel", "rvm"],
require => Group["rvm"],
}
Выше вы объявляете localuser
, который определяется следующим образом:
define localuser ($uid,$gid) {
Это означает, чтотолькоПараметры, которые он получает uid
, — это , gid
и метапараметры (такие как require
). Поскольку groups
не является метапараметром и, очевидно, не является им uid
или gid
, то он недействителен.