Я относительно новичок в puppet, и я пытаюсь создать конфигурацию с puppet, которая будет выдавать готовую к работе производственную систему, как мы сейчас используем.
Я использую Debian Jessie с Puppet 3.7.2 как в качестве мастера марионеток, так и в качестве клиента. Я установил corosync из backports, и теперь я пытаюсь настроить его аналогично производственной системе с модулем puppetlabs-corosync.
Q1:
В моей производственной конфигурации есть строка:
meta target-role="Started"
на большинстве примитивов, которых нет в моей новой системе, как я могу вставить эту строку?
Пример примитива:
primitive ws.client.tld_IP ocf:heartbeat:IPaddr2 \
params ip="10.0.7.30" cidr_netmask="24" nic="eth0" \
op monitor interval="120s" timeout="20s" \
meta target-role="Started"
Код марионетки:
cs_primitive { 'ws.client.tld_IP':
cib => 'client',
primitive_class => 'ocf',
provided_by => 'heartbeat',
primitive_type => 'IPaddr2',
parameters => { 'ip' => '10.0.7.30', 'cidr_netmask' => '24', 'nic' => 'eth0' },
operations => { 'monitor' => { 'interval' => '120s', timeout=> '20s' } },
}
Я пробовал добавить строку «метаданные» в примитивную конфигурацию, но мне не удалось получить правильный синтаксис и я не нашел примера.
Q2:
Я добавил строку:
cib => 'client',
к каждому примитиву, местоположению, размещению, группе, а также элементу конфигурации cs_shadow, и все они добавляются в этот теневой cib - но не в живой кластер. Как применить теневой cib к живому кластеру через марионетку?
Q3:
Как исправить эти предупреждения?
Warning: Found multiple default providers for cs_shadow: crm, pcs; using crm
Warning: Found multiple default providers for cs_commit: crm, pcs; using crm
и
Warning: Puppet::Util::SUIDManager.run_and_capture is deprecated; please use Puppet::Util::Execution.execute instead.
(at /usr/lib/ruby/vendor_ruby/puppet/util/suidmanager.rb:174:in `run_and_capture')
У меня есть строчка:
provider => 'crm',
в элементе cs_shadow, но предупреждение не исчезает. Также я не должен использовать cs_commit напрямую (и я этого не делаю), поэтому я не могу добавить туда аналогичную строку.
Относительно Q1:
Вам действительно не нужна эта строка, так как target-role=Started
по умолчанию. Я ожидаю, что на ваших производственных узлах есть эти строки, потому что кто-то в какой-то момент в прошлом останавливал / запускал ресурсы через оболочку crm.
Например, если вы побежали, # crm resource stop ws.client.tld_IP
, вы увидите это в своей конфигурации:
primitive ws.client.tld_IP ocf:heartbeat:IPaddr2 \
params ip="10.0.7.30" cidr_netmask="24" nic="eth0" \
op monitor interval="120s" timeout="20s" \
meta target-role="Stopped"
Я быстро просмотрел следующие модули, и ни один из них, похоже, не поддерживает установку «мета» параметров ресурса Pacemaker: https://forge.puppet.com/modules?utf-8=%E2%9C%93&sort=rank&q=pacemaker