Skip to content

Instantly share code, notes, and snippets.

@chemikadze
Created May 22, 2014 10:52
Show Gist options
  • Save chemikadze/6c9b32469aeb5fd4b3f9 to your computer and use it in GitHub Desktop.
Save chemikadze/6c9b32469aeb5fd4b3f9 to your computer and use it in GitHub Desktop.
function setup_mcollective() {
CFGNAME=$1
HOST=$2
PORT=$3
USER=$4
PASSWORD=$5
cp /etc/mcollective/$CFGNAME.cfg /etc/mcollective/$CFGNAME.cfg.orig
sed -re 's/connector = .*/connector = rabbitmq/' < /etc/mcollective/$CFGNAME.cfg.orig > /etc/mcollective/$CFGNAME.cfg
cat >> /etc/mcollective/$CFGNAME.cfg <<EOF
direct_addressing = 1 # ???
plugin.rabbitmq.vhost = /mcollective
plugin.rabbitmq.pool.size = 1
plugin.rabbitmq.pool.1.host = $HOST
plugin.rabbitmq.pool.1.port = $PORT
plugin.rabbitmq.pool.1.user = $USER
plugin.rabbitmq.pool.1.password = $PASSWORD
EOF
}
########
# server
########
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
yum install mcollective
setup_mcollective server HOST 61613 mcollective changeme
service mcollective restart
############
# middleware
############
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
rpm -ivh http://mirror.logol.ru/epel/6/i386/epel-release-6-8.noarch.rpm
yum install mcollective-client rabbitmq-server
curl http://localhost:15672/cli/rabbitmqadmin > rabbitmqadmin.py
PATH=/usr/lib/rabbitmq/lib/rabbitmq_server-3.1.5/:$PATH
rabbitmq-plugins enable rabbitmq_stomp
cat > /etc/rabbitmq/rabbitmq.config <<EOF
[
{rabbitmq_stomp, [{tcp_listeners, [61613]},
{ssl_listeners, [61614]}]}
].
EOF
rabbitmqctl add_user mcollective changeme
rabbitmqctl set_user_tags administrator
rabbitmqctl add_vhost /mcollective
rabbitmqctl set_permissions -p /mcollective mcollective '.*' '.*' '.*'
python rabbitmqadmin.py declare exchange --user=mcollective --password=changeme --vhost=/mcollective name=mcollective_broadcast type=topic
python rabbitmqadmin.py declare exchange --user=mcollective --password=changeme --vhost=/mcollective name=mcollective_directed type=direct
service rabbitmq-server restart
########
# client
########
setup_mcollective client HOST 61613 mcollective changeme
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment