Запустить puppet exec useradd если только пользователя не существует

Posted in Новости on августа 13, 2013 by admin

exec { «create_testuser»:
command => «/usr/sbin/useradd testuser»,
unless => «/usr/bin/id testuser» }

Tags:

Запустить puppet exec если только файла не существует

Posted in Новости on августа 13, 2013 by admin

exec { «mkdir_test» :
command => «/bin/mkdir /tmp/test»,
creates => «/tmp/test» }

Tags:

Делаем if для puppet по версии ОС

Posted in Новости on августа 13, 2013 by admin

Puppet кроме системных переменных использует facter, в нем существует переменная, отдающая название ОС — lsbdistcodename

итак, пишем скрипт :

if $lsbdistcodename == "wheezy" {
exec { "echo":
command => "/bin/touch WHEEZY" }
}
if $lsbdistcodename == "squeeze" {
exec { "echo":
command => "/bin/touch SQUEEZE" }
}

Tags:

Баг mysql::db puppet из puppetlabs/mysql

Posted in Новости on ноября 23, 2012 by admin

Баг заключается в том, что при внесении в конфиг конструкции :

class { 'mysql::server': config_hash => { 'root_password' => 'PASS' } }

class { 'mysql::db': { 'mydb':
user => 'user',
password => 'password',
host => 'localhost',
grant => ['all'] } }

Отрабатывает только класс установки MySQL сервера и задания root пароля, но далее ни ошибок, ни явных зависимостей невыполненных даже в дебаг моде не видно, код просто игнорируется.

Баг зарегистрирован, но до сих пор не закрыт http://projects.puppetlabs.com/issues/15690

Фикс :

добавляем и на master сервер и на node сервер в блок [main] :

[main]
pluginsync = true

Tags: , ,

Проблема при установке mysql через puppet модуль

Posted in Новости on ноября 21, 2012 by admin

После установки MySQL поддержки плагина для puppet и при апдейте конфигурации на клиенте возникает ошибка :

Unsupported osfamily: operatingsystem: Debian, module mysql only support osfamily RedHat, Debian, and FreeBSD, or operatingsystem Amazon at /etc/puppet/modules/mysql/manifests/params.pp:111 on node

То есть по сути система определилась верно, но отрабатывать правильно модуль не хочет. В ходе расследования было выявлено, что имя системы берется из переменной окружения osfamily утилиты facter.

Хотя утилита и показывает верную ОС, но проблемы это не решило до тех пор, пока я не обновил facter до версии 1.6.9 из backports


apt-get install facter -t squeeze-backports

Tags: , , , , ,