Как настроить очередь rabbitmq через марионетку

Я пытаюсь установить rabbitmq через puppet. Я использую модуль puppetlabs-rabbitmq. В нем также есть раздел для настройки очередей и обменов, которые Native Types. Я не могу понять, как использовать эти нативные типы.

Мой код для установки rabbitmq:

class rabbitmq-concrete{

  $tools = ["vim-enhanced","mc"]
  package { $tools: ensure => "installed" }

  $interface = "enp0s8"
  $address = inline_template("<%= scope.lookupvar('::ipaddress_${interface}') -%>")

  class { 'rabbitmq':
    config_cluster    => true,
    cluster_nodes     => ['rml01', 'rml02'],
    cluster_node_type => 'disc',
    manage_repos => true,
    node_ip_address => $address,
    erlang_cookie => 'rmq_secret',
  }
    rabbitmq_exchange { "logging@${node_name}":
      type     => 'topic',
      ensure   => present,
    }

    rabbitmq_queue { "logging@${node_name}":
      durable     => true,
      auto_delete => false,
      arguments   => {
        x-message-ttl => 123,
        x-dead-letter-exchange => 'other'
      },
     ensure      => present,
    }

    rabbitmq_binding { "logging@logging@${node_name}":
      destination_type => 'logging',
      routing_key      => '#',
      arguments        => {},
      ensure           => present,
    }
}
include rabbitmq-concrete

Я получаю следующую ошибку:

==> rml01: Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type rabbitmq_queue at /tmp/vagrant-puppet-2/manifests/site.pp:35 on node rml01
==> rml01: Wrapped exception:
==> rml01: Invalid resource type rabbitmq_queue
==> rml01: Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type rabbitmq_queue at /tmp/vagrant-puppet-2/manifests/site.pp:35 on node rml01

Примечание. Когда я опускаю эти нативные типы, установка Rabbit работает хорошо.

Как использовать Native Types для настройки rabbitmq_queue, rabbitmq_exchange и rabbitmq_binding?


person sumid    schedule 13.02.2015    source источник


Ответы (2)


Есть ли у вас необходимые предпосылки? Вам потребуются следующие пакеты из Forge:

puppetlabs/stdlib
stahnma/epel
nanliu/staging
garethr/erlang

В ваш манифест я добавил:

include epel
include staging
class { 'erlang': epel_enable => true}
person Dan Stark    schedule 14.02.2015
comment
Я использую librarian-puppet, который должен установить все зависимости. Тем не менее, я убедился, что все заявленные модули установлены, и добавил строчки в свой манифест. Все еще получаю ту же ошибку: Ошибка: Puppet::Parser::AST::Resource не удалось с ошибкой ArgumentError: Неверный тип ресурса rabbitmq_queue - person sumid; 16.02.2015

Ваш вопрос датирован 13 февраля, но, глядя на Puppet Forge, эти функции были добавлены в этот модуль только в последнем выпуске 10 марта в версии 5.1.0.

Полный журнал изменений => https://forge.puppetlabs.com/puppetlabs/rabbitmq/changelog

Сокращено: «10 марта 2015 г. - Версия 5.1.0

Резюме В этом выпуске добавлено несколько функций для большей гибкости настройки rabbitmq, исправлены ошибки, а минимальная требуемая версия puppetlabs-stdlib увеличена до 3.0.0.

Функции

Добавить типы rabbitmq_queue и rabbitmq_binding"

person deepybee    schedule 24.04.2015
comment
Я должен был обновить вопрос, но я также попробовал исходный код из github, в котором уже были изменения. Мне действительно как-то не хватало эрланга. - person sumid; 24.04.2015