如何通过puppet配置rabbitmq队列

如何通过puppet配置rabbitmq队列,rabbitmq,puppet,rabbitmq-exchange,Rabbitmq,Puppet,Rabbitmq Exchange,我正在尝试通过puppet安装rabbitmq。我正在使用模块。它还有配置队列和交换的部分,它们是本机类型。我不知道如何使用这些本机类型 我的rabbitmq安装代码: class rabbitmq-concrete{ $tools = ["vim-enhanced","mc"] package { $tools: ensure => "installed" } $interface = "enp0s8" $address = inline_template("<

我正在尝试通过puppet安装rabbitmq。我正在使用模块。它还有配置队列和交换的部分,它们是
本机类型
。我不知道如何使用这些本机类型

我的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
注意:当我省略这些本机类型时,rabbit安装效果很好


如何使用
本机类型
配置
rabbitmq_队列
rabbitmq_交换
rabbitmq_绑定

您有必要的先决条件吗?您需要以下来自的软件包:

puppetlabs/stdlib
斯塔赫马/埃佩尔
南流/舞台
garethr/erlang

我在你的名单上加了:

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

您的问题日期是2月13日,但从Puppet Forge上看,这些功能仅在3月10日5.1.0版的最新版本中添加到该模块中

完整更改日志=>

节选: “2015-03-10-版本5.1.0

总结 此版本增加了几个功能,以提高rabbitmq配置的灵活性,包括许多错误修复,并将puppetlabs stdlib的最低要求版本提升到3.0.0

特征


添加rabbitmq_队列和rabbitmq_绑定类型

我使用的是Library puppet,它应该安装所有依赖项。尽管如此,我还是确保安装了所有声明的模块,并将这些行添加到我的清单中。仍然收到相同的错误:“error:Puppet::Parser::AST::Resource失败,错误为ArgumentError:Invalid Resource type rabbitmq_queue”我应该更新这个问题,但我也尝试了github的源代码,它已经有了更改。不知怎么的,我真的很想念二郎。
include epel
include staging
class { 'erlang': epel_enable => true}