How do I configure rabbitmq queue via puppet

◇◆丶佛笑我妖孽 提交于 2020-01-06 02:00:27

问题


I'm trying to install rabbitmq via puppet. I'm using the puppetlabs-rabbitmq module. It also has section to configure queues and exchanges, which are Native Types. I can't figure out how to use these native types.

My code for rabbitmq installation:

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

I get following error:

==> 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

Note: When I leave out these native types, rabbit installation works well.

How do I use Native Types to configure rabbitmq_queue, rabbitmq_exchange and rabbitmq_binding ?


回答1:


Do you have the required prerequisites? You need the following packages from the Forge:

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

To your manifest I added:

include epel
include staging
class { 'erlang': epel_enable => true}



回答2:


Your question is dated 13th Feb, yet looking on the Puppet Forge those features were only added to that module in the most recent release on 10th March in version 5.1.0.

Full changelog => https://forge.puppetlabs.com/puppetlabs/rabbitmq/changelog

Abridged: "2015-03-10 - Version 5.1.0

Summary This release adds several features for greater flexibility in configuration of rabbitmq, includes a number of bug fixes, and bumps the minimum required version of puppetlabs-stdlib to 3.0.0.

Features

Add rabbitmq_queue and rabbitmq_binding types"



来源:https://stackoverflow.com/questions/28498132/how-do-i-configure-rabbitmq-queue-via-puppet

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!