Use or create /etc/rabbitmq/rabbitmq-env.conf for setting node name.
The .d directory is not available on newer package versions, update or create rabbitmq-env.conf instead when setting node name.
This commit is contained in:
parent
ae9cb9e2e4
commit
d91267d852
@ -95,3 +95,29 @@ def cluster_with(host):
|
|||||||
subprocess.check_call(cmd)
|
subprocess.check_call(cmd)
|
||||||
cmd = [RABBITMQ_CTL, 'start_app']
|
cmd = [RABBITMQ_CTL, 'start_app']
|
||||||
subprocess.check_call(cmd)
|
subprocess.check_call(cmd)
|
||||||
|
|
||||||
|
|
||||||
|
def set_node_name(name):
|
||||||
|
# update or append RABBITMQ_NODENAME to environment config.
|
||||||
|
# rabbitmq.conf.d is not present on all releases, so use or create
|
||||||
|
# rabbitmq-env.conf instead.
|
||||||
|
conf = '/etc/rabbitmq/rabbitmq-env.conf'
|
||||||
|
|
||||||
|
if not os.path.isfile(conf):
|
||||||
|
utils.juju_log('INFO', '%s does not exist, creating.' % conf)
|
||||||
|
with open(conf, 'wb') as out:
|
||||||
|
out.write('RABBITMQ_NODENAME=%s\n' % name)
|
||||||
|
return
|
||||||
|
|
||||||
|
out = []
|
||||||
|
f = False
|
||||||
|
for line in open(conf).readlines():
|
||||||
|
if line.strip().startswith('RABBITMQ_NODENAME'):
|
||||||
|
f = True
|
||||||
|
line = 'RABBITMQ_NODENAME=%s\n' % name
|
||||||
|
out.append(line)
|
||||||
|
if not f:
|
||||||
|
out.append('RABBITMQ_NODENAME=%s\n' % name)
|
||||||
|
utils.juju_log('INFO', 'Updating %s, RABBITMQ_NODENAME=%s' % (conf, name))
|
||||||
|
with open(conf, 'wb') as conf:
|
||||||
|
conf.write(''.join(out))
|
||||||
|
@ -130,6 +130,7 @@ def ha_joined():
|
|||||||
# rabbit node-name need to match on all nodes.
|
# rabbit node-name need to match on all nodes.
|
||||||
utils.juju_log('INFO','Stopping rabbitmq-server.')
|
utils.juju_log('INFO','Stopping rabbitmq-server.')
|
||||||
utils.stop('rabbitmq-server')
|
utils.stop('rabbitmq-server')
|
||||||
|
rabbit.set_node_name(SERVICE_NAME)
|
||||||
with open('/etc/rabbitmq/rabbitmq.conf.d/node-name', 'wb') as out:
|
with open('/etc/rabbitmq/rabbitmq.conf.d/node-name', 'wb') as out:
|
||||||
out.write('RABBITMQ_NODENAME=%s@localhost' % SERVICE_NAME)
|
out.write('RABBITMQ_NODENAME=%s@localhost' % SERVICE_NAME)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user