Merge lp:~gnuoy/charm-helpers/add-peer_ips into lp:charm-helpers

Proposed by Liam Young
Status: Merged
Merged at revision: 184
Proposed branch: lp:~gnuoy/charm-helpers/add-peer_ips
Merge into: lp:charm-helpers
Diff against target: 44 lines (+23/-0)
2 files modified
charmhelpers/contrib/hahelpers/cluster.py (+9/-0)
tests/contrib/hahelpers/test_cluster_utils.py (+14/-0)
To merge this branch: bzr merge lp:~gnuoy/charm-helpers/add-peer_ips
Reviewer Review Type Date Requested Status
James Page Approve
Review via email: mp+228640@code.launchpad.net
To post a comment you must log in.
Revision history for this message
James Page (james-page) :
review: Needs Fixing
lp:~gnuoy/charm-helpers/add-peer_ips updated
185. By Liam Young

relation_list and relation_ids both return [] if none a represent so don't to guard against none. Allow the address key to be overridden

186. By Liam Young

Remove surplus round brackets

Revision history for this message
James Page (james-page) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'charmhelpers/contrib/hahelpers/cluster.py'
--- charmhelpers/contrib/hahelpers/cluster.py 2014-07-23 08:25:09 +0000
+++ charmhelpers/contrib/hahelpers/cluster.py 2014-07-29 11:12:10 +0000
@@ -62,6 +62,15 @@
62 return peers62 return peers
6363
6464
65def peer_ips(peer_relation='cluster', addr_key='private-address'):
66 '''Return a dict of peers and their private-address'''
67 peers = {}
68 for r_id in relation_ids(peer_relation):
69 for unit in relation_list(r_id):
70 peers[unit] = relation_get(addr_key, rid=r_id, unit=unit)
71 return peers
72
73
65def oldest_peer(peers):74def oldest_peer(peers):
66 local_unit_no = int(os.getenv('JUJU_UNIT_NAME').split('/')[1])75 local_unit_no = int(os.getenv('JUJU_UNIT_NAME').split('/')[1])
67 for peer in peers:76 for peer in peers:
6877
=== modified file 'tests/contrib/hahelpers/test_cluster_utils.py'
--- tests/contrib/hahelpers/test_cluster_utils.py 2014-07-23 08:25:09 +0000
+++ tests/contrib/hahelpers/test_cluster_utils.py 2014-07-29 11:12:10 +0000
@@ -69,6 +69,20 @@
69 self.relation_list.return_value = peers69 self.relation_list.return_value = peers
70 self.assertEquals(peers, cluster_utils.peer_units())70 self.assertEquals(peers, cluster_utils.peer_units())
7171
72 def test_peer_ips(self):
73 '''Get a dict of peers and their ips'''
74 peers = {
75 'peer_node/1': '10.0.0.1',
76 'peer_node/2': '10.0.0.2',
77 }
78
79 def _relation_get(attr, rid, unit):
80 return peers[unit]
81 self.relation_ids.return_value = ['cluster:0']
82 self.relation_list.return_value = peers.keys()
83 self.relation_get.side_effect = _relation_get
84 self.assertEquals(peers, cluster_utils.peer_ips())
85
72 @patch('os.getenv')86 @patch('os.getenv')
73 def test_is_oldest_peer(self, getenv):87 def test_is_oldest_peer(self, getenv):
74 '''It detects local unit is the oldest of all peers'''88 '''It detects local unit is the oldest of all peers'''

Subscribers

People subscribed via source and target branches