Переменная кукольного элемента в кавычках
Как я могу сделать последние переменные exec для анализа ресурса?
В настоящее время он выходит пустым внутри файла rc.local как таковой:
[root@server1 ~]# cat /etc/rc.local
#!/bin/sh
/usr/sbin/balance -b 127.0.0.1 3306 :3306 ! :3306
Также для пояснения, ресурс exec "run-balance" производит правильный вывод с правильно проанализированными переменными, и это те же переменные, которые используются в следующем ресурсе "add-rclocal".
Учебный класс
class balance (
$dbserver1 = 'server1',
$dbserver2 = 'server2',
) {
package { 'balance': ensure => "installed",
}->
exec { 'run-balance':
command => "/usr/sbin/balance -b 127.0.0.1 3306 ${dbserver1}:3306 ! ${dbserver2}:3306",
unless => '/bin/ps afx | grep balance > /dev/null',
}->
exec { 'add-rclocal':
command => "echo '/usr/sbin/balance -b 127.0.0.1 3306 ${dbserver1}:3306 ! ${dbserver2}:3306' >> /etc/rc.local",
}
}
1 ответ
Решение
Единственное решение, которое я могу придумать, это даст ваши результаты, если dbserver2
передается как пустая строка. Он будет определен, но пуст, поэтому не будет назначать значение по умолчанию. Вроде как:
class { 'balance':
dbserver1 => 'dbhost1',
dbserver2 => '',
}
Возможно, вы захотите проверить свои входные данные. И, возможно, поместите что-то вроде этого, чтобы узнать, как назначаются эти переменные:
warning("Balance was passed servers ${dbserver1} and ${dbserver2}.")
Который будет выдавать переменные в лог-поток.