Merge lp:~marcoceppi/charms/trusty/mongodb/patch-relation into lp:charms/trusty/mongodb

Proposed by Marco Ceppi
Status: Merged
Merged at revision: 51
Proposed branch: lp:~marcoceppi/charms/trusty/mongodb/patch-relation
Merge into: lp:charms/trusty/mongodb
Diff against target: 95 lines (+39/-41)
1 file modified
hooks/hooks.py (+39/-41)
To merge this branch: bzr merge lp:~marcoceppi/charms/trusty/mongodb/patch-relation
Reviewer Review Type Date Requested Status
Charles Butler (community) Approve
Review via email: mp+231645@code.launchpad.net

Description of the change

Fix relation-getting

To post a comment you must log in.
52. By Marco Ceppi

remove rogue member

Revision history for this message
Charles Butler (lazypower) wrote :

+1 LGTM

Thanks for the resolution of anonymous relationship id's Marco.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'hooks/hooks.py'
2--- hooks/hooks.py 2014-07-30 15:39:55 +0000
3+++ hooks/hooks.py 2014-08-20 23:26:08 +0000
4@@ -1056,46 +1056,44 @@
5 juju_log("mongos_relation_changed")
6 config_data = config()
7 retVal = False
8- for member in relations_of_type('mongos-cfg'):
9- hostname = relation_get('hostname', member['__unit__'])
10- port = relation_get('port', member['__unit__'])
11- rel_type = relation_get('type', member['__unit__'])
12- if hostname is None or port is None or rel_type is None:
13- juju_log("mongos_relation_changed: relation data not ready.")
14- break
15- if rel_type == 'configsvr':
16- config_servers = load_config_servers(default_mongos_list)
17- print "Adding config server: %s:%s" % (hostname, port)
18- juju_log("Adding config server: %s:%s" % (hostname, port))
19- if hostname is not None and \
20- port is not None and \
21- hostname != '' and \
22- port != '' and \
23- "%s:%s" % (hostname, port) not in config_servers:
24- config_servers.append("%s:%s" % (hostname, port))
25- disable_mongos(config_data['mongos_port'])
26- retVal = enable_mongos(config_data, config_servers)
27- if retVal:
28- update_file(default_mongos_list, '\n'.join(config_servers))
29- elif rel_type == 'database':
30- if mongos_ready():
31- mongos_host = "%s:%s" % (
32- unit_get('public-address'),
33- config('mongos_port'))
34- shard_command1 = "sh.addShard(\"%s:%s\")" % (hostname, port)
35- mongo_client(mongos_host, shard_command1)
36- replicaset = relation_get('replset', member)
37- shard_command2 = "sh.addShard(\"%s/%s:%s\")" % \
38- (replicaset, hostname, port)
39- mongo_client(mongos_host, shard_command2)
40-
41-
42- else:
43- juju_log("mongos_relation_change: undefined rel_type: %s" %
44- rel_type)
45- return(False)
46- juju_log("mongos_relation_changed returns: %s" % retVal)
47-
48+
49+ hostname = relation_get('hostname')
50+ port = relation_get('port')
51+ rel_type = relation_get('type')
52+ if hostname is None or port is None or rel_type is None:
53+ print("mongos_relation_changed: relation data not ready.")
54+ break
55+ if rel_type == 'configsvr':
56+ config_servers = load_config_servers(default_mongos_list)
57+ print "Adding config server: %s:%s" % (hostname, port)
58+ if hostname is not None and \
59+ port is not None and \
60+ hostname != '' and \
61+ port != '' and \
62+ if "%s:%s" % (hostname, port) not in config_servers:
63+ config_servers.append("%s:%s" % (hostname, port))
64+ disable_mongos(config_data['mongos_port'])
65+ retVal = enable_mongos(config_data, config_servers)
66+ if retVal:
67+ update_file(default_mongos_list, '\n'.join(config_servers))
68+ elif rel_type == 'database':
69+ if mongos_ready():
70+ mongos_host = "%s:%s" % (
71+ unit_get('public-address'),
72+ config('mongos_port'))
73+ shard_command1 = "sh.addShard(\"%s:%s\")" % (hostname, port)
74+ mongo_client(mongos_host, shard_command1)
75+ replicaset = relation_get('replset')
76+ shard_command2 = "sh.addShard(\"%s/%s:%s\")" % \
77+ (replicaset, hostname, port)
78+ mongo_client(mongos_host, shard_command2)
79+
80+ else:
81+ print("mongos_relation_change: undefined rel_type: %s" %
82+ rel_type)
83+ return
84+
85+ print("mongos_relation_changed returns: %s" % retVal)
86
87
88 @hooks.hook('mongos-relation-broken')
89@@ -1369,4 +1367,4 @@
90 ###############################################################################
91 if __name__ == "__main__":
92 # execute a hook based on the name the program is called by
93- hooks.execute(sys.argv)
94\ No newline at end of file
95+ hooks.execute(sys.argv)

Subscribers

People subscribed via source and target branches