Я пытаюсь написать шаблон марионетки. У меня есть кукловод и несколько марионеточных агентов, и их всех надо разделить. Я думаю, что это хорошо делать по имени хоста узла. Но когда я попытался это сделать, то обнаружил ошибку
"puppet-agent[169037]: (/Stage[main]//Exec[adduser]) Could not evaluate: Could not find command 'ru1'"
см. код ниже
exec { 'adduser':
command => 'sudo adduser -m -p pawSfQewWrUAA test -G wheel',
path => [ '/bin','/usr/bin' ],
onlyif => "$hostname == ru1"
}
Мне нужно указать эту задачу только для одного узла с именем хоста ru1. Так я могу это сделать? Спасибо.
Разве это не было бы намного проще и разумнее?
case $hostname {
ru1: user {
ensure => 'present',
name => 'test',
gid => 'wheel',
password => 'pawSfQewWrUAA',
otherparametersgohere,
}
}
Синтаксис кода может быть несовершенным, поскольку это было просто не в моей голове, не проверять синтаксис и не тестировать это каким-либо образом. Но Вы получаете идею.
Ожидается, что будет выполнена только команда оболочки, а не условие, подобное тому, что у вас есть, которое должно быть вместо этого.