From 49a3c65411a8d7ac8ed059441f735f5885a8d653 Mon Sep 17 00:00:00 2001 From: ashaposhnikov Date: Tue, 18 Dec 2012 12:19:37 +0000 Subject: [PATCH] Moving to the rabbitmq-server with plugins included --- iso/module.mk | 9 --- packages/rpm/module.mk | 5 -- puppet/mcollective/manifests/rabbitmq.pp | 47 +++------------ .../templates/install_rabbitmq_plugin.sh.erb | 58 ------------------- requirements-rpm.txt | 2 +- requirements-src.txt | 2 - 6 files changed, 9 insertions(+), 114 deletions(-) delete mode 100644 puppet/mcollective/templates/install_rabbitmq_plugin.sh.erb diff --git a/iso/module.mk b/iso/module.mk index 7752560a0..75f0fab10 100644 --- a/iso/module.mk +++ b/iso/module.mk @@ -5,10 +5,6 @@ all: iso ISOROOT:=$/isoroot -RABBITMQ_VERSION:=2.6.1 -RABBITMQ_PLUGINS:=amqp_client-$(RABBITMQ_VERSION).ez rabbitmq_stomp-$(RABBITMQ_VERSION).ez -RABBITMQ_PLUGINS_URL:=http://www.rabbitmq.com/releases/plugins/v$(RABBITMQ_VERSION) - iso: $/nailgun-centos-6.3-amd64.iso $/isoroot-centos.done: \ @@ -42,14 +38,9 @@ $(addprefix $(ISOROOT)/EFI/BOOT/,$(EFI_FILES)): @mkdir -p $(@D) cp $(CENTOS_REPO_DIR)EFI/BOOT/$(@F) $(@D) -$(addprefix $(ISOROOT)/rabbitmq-plugins/v$(RABBITMQ_VERSION)/,$(RABBITMQ_PLUGINS)): - @mkdir -p $(@D) - wget -O $@ $(RABBITMQ_PLUGINS_URL)/$(@F) - $/isoroot-prepare.done: \ $(addprefix $(ISOROOT)/images/,$(IMAGES_FILES)) \ $(addprefix $(ISOROOT)/EFI/BOOT/,$(EFI_FILES)) \ - $(addprefix $(ISOROOT)/rabbitmq-plugins/v$(RABBITMQ_VERSION)/,$(RABBITMQ_PLUGINS)) \ $(ISOROOT)/ks.cfg \ $(ISOROOT)/bootstrap_admin_node.sh $(ACTION.TOUCH) diff --git a/packages/rpm/module.mk b/packages/rpm/module.mk index 9276753ce..dddc643f5 100644 --- a/packages/rpm/module.mk +++ b/packages/rpm/module.mk @@ -45,10 +45,6 @@ $/rpm-cirros.done: $/prep.done packages/rpm/specs/cirros-0.3.0.spec rpmbuild -vv --define "_topdir `readlink -f $/`" -ba packages/rpm/specs/cirros-0.3.0.spec $(ACTION.TOUCH) -$/rpm-rabbitmq-plugins.done: $/prep.done packages/rpm/specs/rabbitmq-plugins.spec - rpmbuild -vv --define "_topdir `readlink -f $/`" -ba packages/rpm/specs/rabbitmq-plugins.spec - $(ACTION.TOUCH) - $/rpm-nailgun-agent.done: $/prep.done \ packages/rpm/specs/nailgun-agent.spec \ $(addprefix bin/,$(call find-files,bin)) @@ -78,7 +74,6 @@ $/rpm-nailgun-net-check.done: $/prep.done \ $(ACTION.TOUCH) $(BUILD_DIR)/rpm/rpm.done: $/rpm-cirros.done \ - $/rpm-rabbitmq-plugins.done \ $/rpm-nailgun-agent.done \ $/rpm-nailgun-mcagents.done \ $/rpm-nailgun-net-check.done diff --git a/puppet/mcollective/manifests/rabbitmq.pp b/puppet/mcollective/manifests/rabbitmq.pp index 3b718c2fc..b5c774ade 100644 --- a/puppet/mcollective/manifests/rabbitmq.pp +++ b/puppet/mcollective/manifests/rabbitmq.pp @@ -6,15 +6,17 @@ class mcollective::rabbitmq( $rabbitmq_plugins_repo = "http://www.rabbitmq.com/releases/plugins", ){ + Exec {path => '/usr/bin:/bin:/usr/sbin:/sbin'} + define mcollective_rabbitmq_safe_package(){ if ! defined(Package[$name]){ @package { $name : } } } - + define access_to_stomp_port($port, $protocol='tcp') { $rule = "-p $protocol -m state --state NEW -m $protocol --dport $port -j ACCEPT" - exec { "access_to_cobbler_${protocol}_port: $port": + exec { "access_to_cobbler_${protocol}_port: $port": command => "iptables -t filter -I INPUT 1 $rule; \ /etc/init.d/iptables save", unless => "iptables -t filter -S INPUT | grep -q \"^-A INPUT $rule\"" @@ -32,14 +34,14 @@ class mcollective::rabbitmq( config_stomp => true, stomp_port => $stompport, } - + rabbitmq_user { $stompuser: admin => true, password => $stomppassword, provider => 'rabbitmqctl', require => Class['rabbitmq::server'], } - + rabbitmq_user_permissions { "${stompuser}@/": configure_permission => '.*', write_permission => '.*', @@ -47,10 +49,10 @@ class mcollective::rabbitmq( provider => 'rabbitmqctl', require => Class['rabbitmq::server'], } - + # TODO # IMPLEMENT RABBITMQ PLUGIN TYPE IN rabbitmq MODULE - + file {"/etc/rabbitmq/enabled_plugins": content => template("mcollective/enabled_plugins.erb"), owner => root, @@ -60,37 +62,4 @@ class mcollective::rabbitmq( notify => Service["rabbitmq-server"], } - # IT SEEMS THERE IS NO PACKAGED RABBITMQ PLUGINS - # FOR REDHAT BASED OS AND EVEN rabbitmq-plugins BINARY IS NOT INSTALLED. - # SO WE NEED TO INSTALL NEEDED PLUGINS BY HAND - # IT MUST BE IMPROVED IN FUTURE BY IMPLEMETING CORRESPONDING PUPPET TYPE - - file {"/root/install_rabbitmq_plugin.sh": - content => template("mcollective/install_rabbitmq_plugin.sh.erb"), - owner => root, - group => root, - mode => 0755, - } - - # IT IS NEEDED IN ORDER TO DOWNLOAD RABBITMQ PLUGINS - mcollective_rabbitmq_safe_package{ "wget": } - - define mco_install_rabbitmq_plugin() { - exec {"mco_install_rabbitmq_plugin_${name}": - command => "/root/install_rabbitmq_plugin.sh ${name} install", - unless => "/root/install_rabbitmq_plugin.sh ${name} is_installed", - require => [ - File["/root/install_rabbitmq_plugin.sh"], - Package['rabbitmq-server'], - ], - } - } - - mco_install_rabbitmq_plugin{"rabbitmq_stomp":} - mco_install_rabbitmq_plugin{"amqp_client":} - - Package<| title == wget |> -> - Mco_install_rabbitmq_plugin<||> -> - File<| title == "/etc/rabbitmq/enabled_plugins" |> - } diff --git a/puppet/mcollective/templates/install_rabbitmq_plugin.sh.erb b/puppet/mcollective/templates/install_rabbitmq_plugin.sh.erb deleted file mode 100644 index a1bea9fb7..000000000 --- a/puppet/mcollective/templates/install_rabbitmq_plugin.sh.erb +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - - -usage(){ - echo "Usage: `basename $0` " - echo " possible actions: install is_installed" - exit 1 -} - -test $# -lt 2 && usage - - -plugin=$1 -action=$2 - - -get_version(){ - local rv=`cat /root/installed_rabbitmq_version 2>/dev/null` - if test X$rv = X; then - rv=`(rpm -qa | grep rabbitmq-server | awk -F- '{print $3}') 2>/dev/null` - echo $rv > /root/installed_rabbitmq_version - else - echo $rv - fi -} - -version=`get_version` -# echo "Installed rabbitmq-server version: ${version}" -plugins_dir="/usr/lib/rabbitmq/lib/rabbitmq_server-${version}/plugins" -repo="<%= rabbitmq_plugins_repo %>/v${version}" - -is_installed(){ - # echo "Checking if plugin ${plugin} already installed" - test -s "${plugins_dir}/${plugin}-${version}.ez" -} - -install_plugin(){ - # echo "Downloading and installing rabbitmq-server plugin: ${plugin}" - if (echo ${repo} | grep -q "^file"); then - repopath=`echo ${repo} | awk -F'file://' '{print $2}'` - cp "${repopath}/${plugin}-${version}.ez" "${plugins_dir}/${plugin}-${version}.ez" - else - wget -q -O- "${repo}/${plugin}-${version}.ez" > "${plugins_dir}/${plugin}-${version}.ez" - fi -} - -case $action in - install) - is_installed || install_plugin - ;; - is_installed) - is_installed && exit 0 || exit 1 - ;; - *) - usage - ;; -esac - diff --git a/requirements-rpm.txt b/requirements-rpm.txt index 4f82aa5f0..caa739aae 100644 --- a/requirements-rpm.txt +++ b/requirements-rpm.txt @@ -45,7 +45,7 @@ python-amqp python-cinder python-devel.x86_64 python-virtualenv -rabbitmq-server +rabbitmq-server-2.8.7 rpm-build rsyslog ruby diff --git a/requirements-src.txt b/requirements-src.txt index 534d21aca..aee9afaa2 100644 --- a/requirements-src.txt +++ b/requirements-src.txt @@ -1,5 +1,3 @@ -http://www.rabbitmq.com/releases/plugins/v2.6.1/amqp_client-2.6.1.ez -http://www.rabbitmq.com/releases/plugins/v2.6.1/rabbitmq_stomp-2.6.1.ez https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz http://pypcap.googlecode.com/files/pypcap-1.1.tar.gz