Merge "Add prefix to nodes hostnames in rabbit-fence"

This commit is contained in:
Jenkins 2016-02-03 14:34:12 +00:00 committed by Gerrit Code Review
commit 26ab229398
1 changed files with 8 additions and 3 deletions

View File

@ -12,6 +12,7 @@ import logging
import logging.handlers import logging.handlers
import os import os
import pwd import pwd
import re
import signal import signal
import socket import socket
import subprocess import subprocess
@ -45,7 +46,10 @@ def catchall_signal_lh(*args, **kwargs):
node = args[0] node = args[0]
this_node = socket.gethostname().split('.')[0] this_node = socket.gethostname().split('.')[0]
node_name = node.split('.')[0] node_name = node.split('.')[0]
node_to_remove = 'rabbit@%s' % node_name node_name_prefix = bash_command('hiera node_name_prefix_for_messaging')
if node_name_prefix == 'nil' or node_name_prefix in node_name:
node_name_prefix = ''
node_to_remove = 'rabbit@%s%s' % (node_name_prefix, node_name)
my_logger.info("Got %s that left cluster" % node) my_logger.info("Got %s that left cluster" % node)
my_logger.debug(kwargs) my_logger.debug(kwargs)
@ -54,7 +58,7 @@ def catchall_signal_lh(*args, **kwargs):
my_logger.info("Preparing to fence node %s from rabbit cluster" my_logger.info("Preparing to fence node %s from rabbit cluster"
% node_to_remove) % node_to_remove)
if node == '' or node_name == this_node: if node == '' or re.search('\\b%s\\b' % this_node, node_name):
my_logger.debug('Ignoring the node %s' % node_to_remove) my_logger.debug('Ignoring the node %s' % node_to_remove)
return return
@ -81,6 +85,7 @@ def catchall_signal_lh(*args, **kwargs):
cmd = ('rabbitmqctl eval ' cmd = ('rabbitmqctl eval '
'"mnesia:system_info(db_nodes)."' '"mnesia:system_info(db_nodes)."'
'| grep -o %s') % node_to_remove '| grep -o %s') % node_to_remove
results = bash_command(cmd) results = bash_command(cmd)
in_cluster = results != '' in_cluster = results != ''
@ -94,7 +99,7 @@ def catchall_signal_lh(*args, **kwargs):
bash_command(cmd) bash_command(cmd)
my_logger.info('Forgetting cluster node %s' % node_to_remove) my_logger.info('Forgetting cluster node %s' % node_to_remove)
cmd = ('rabbitmqctl forget_cluster_node %s') % node_to_remove cmd = 'rabbitmqctl forget_cluster_node %s' % node_to_remove
bash_command(cmd) bash_command(cmd)