Назад | Перейти на главную страницу

Конфигурация Corosync с марионеткой

Я относительно новичок в 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