~tribaal/charms/trusty/rabbitmq-server/add-extra-logging

« back to all changes in this revision

Viewing changes to hooks/rabbit_utils.py

  • Committer: Billy Olsen
  • Date: 2015-09-16 23:30:07 UTC
  • mfrom: (112.1.1 next)
  • Revision ID: billy.olsen@canonical.com-20150916233007-cmgjte3h3y370mpc
[niedbalski,r=billy-olsen] Fix rabbit clustering when dns resolution is
not available.

Closes-Bug: 1489053

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
import pwd
3
3
import grp
4
4
import re
5
 
import socket
6
5
import sys
7
6
import subprocess
8
7
import glob
270
269
                address = relation_get('private-address',
271
270
                                       rid=r_id, unit=unit)
272
271
            if address is not None:
273
 
                try:
274
 
                    node = get_hostname(address, fqdn=False)
275
 
                except:
 
272
                node = get_hostname(address, fqdn=False)
 
273
                if node:
 
274
                    available_nodes.append(node)
 
275
                else:
276
276
                    log('Cannot resolve hostname for {} '
277
 
                        'using DNS servers'.format(address), level='WARNING')
278
 
                    log('Falling back to use socket.gethostname()',
 
277
                        'using DNS servers'.format(address),
279
278
                        level='WARNING')
280
 
                    # If the private-address is not resolvable using DNS
281
 
                    # then use the current hostname
282
 
                    node = socket.gethostname()
283
 
 
284
 
                available_nodes.append(node)
285
279
 
286
280
    if len(available_nodes) == 0:
287
281
        log('No nodes available to cluster with')