Merge lp:~lazypower/charms/trusty/hdp-zookeeper/refactor_socket into lp:charms/trusty/hdp-zookeeper

Proposed by Charles Butler
Status: Merged
Merged at revision: 18
Proposed branch: lp:~lazypower/charms/trusty/hdp-zookeeper/refactor_socket
Merge into: lp:charms/trusty/hdp-zookeeper
Diff against target: 62 lines (+7/-8)
1 file modified
hooks/hooks.py (+7/-8)
To merge this branch: bzr merge lp:~lazypower/charms/trusty/hdp-zookeeper/refactor_socket
Reviewer Review Type Date Requested Status
amir sanjar (community) Approve
charmers Pending
Review via email: mp+239373@code.launchpad.net

Description of the change

Refactors out the use of socket to fetch hostname/ip addressing and cleans up a few idempotency issues with the charm

To post a comment you must log in.
Revision history for this message
amir sanjar (asanjar) wrote :

+1

Revision history for this message
amir sanjar (asanjar) :
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-08-26 18:59:35 +0000
3+++ hooks/hooks.py 2014-10-23 14:13:37 +0000
4@@ -8,9 +8,8 @@
5
6 from hdputils import install_base_pkg, updateHDPDirectoryScript, config_all_nodes, setHadoopEnvVar, home, hdpScript
7 from bdutils import setDirPermission, fileSetKV, fileRemoveKey
8-from socket import gethostname, gethostbyaddr
9 from charmhelpers.lib.utils import config_get
10-from charmhelpers.core.hookenv import log, Hooks, relation_get, open_port, related_units, local_unit
11+from charmhelpers.core.hookenv import log, Hooks, relation_get, open_port, related_units, local_unit, unit_get
12 from charmhelpers.core.host import add_user_to_group
13
14 sys.path.insert(0, os.path.join(os.environ['CHARM_DIR'], 'lib'))
15@@ -19,9 +18,9 @@
16 def setZKConf():
17 log("==> setZKConf","INFO")
18 zkconfdir = os.environ['ZOOKEEPER_CONF_DIR']
19- if os.path.isdir(zkconfdir):
20+ if os.path.islink(zkconfdir):
21 os.unlink(zkconfdir)
22- os.makedirs( zkconfdir)
23+ os.makedirs( zkconfdir)
24 source = os.listdir(ZKConfPath)
25
26 for files in source:
27@@ -65,7 +64,7 @@
28 cmd = "usermod zookeeper -s /bin/bash"
29 subprocess.call(cmd.split())
30 cmd ='groupadd '+os.environ['HADOOP_GROUP']
31- subprocess.check_call(cmd.split())
32+ subprocess.call(cmd.split())
33 add_user_to_group(os.environ['ZOOKEEPER_USER'], os.environ['HADOOP_GROUP'])
34 log_path = os.environ['ZOOKEEPER_LOG_DIR']
35 pid_path = os.environ['ZOOKEEPER_PID_DIR']
36@@ -78,7 +77,7 @@
37 setDirPermission(data_path, owner, group, 0755)
38 with open(myid, 'w+') as df:
39 df.writelines(getid(local_unit()))
40- zkhost = gethostname()
41+ zkhost = unit_get('private-address')
42 fileSetKV(zoocfg, "dataDir=", data_path)
43 fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", zkhost+":2888:3888")
44 setZKConf()
45@@ -99,7 +98,7 @@
46 packages =['ntp', 'openjdk-7-jdk',"zookeeper"]
47 install_base_pkg(packages)
48 config_zk_nodes()
49- fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", gethostname()+":2888:3888")
50+ fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", unit_get('private-address')+":2888:3888")
51 open_port(2181)
52 open_port(2888)
53 open_port(3888)
54@@ -137,7 +136,7 @@
55 for n in nodeList:
56 unitIP = relation_get('private-address', unit=n)
57 zk = os.path.join(os.path.sep, os.environ['ZOOKEEPER_CONF_DIR'], 'zoo.cfg')
58- fileSetKV(zk, "server."+getid(n)+"=", gethostbyaddr(unitIP)[0]+":2888:3888")
59+ fileSetKV(zk, "server."+getid(n)+"=", unitIP +":2888:3888")
60 restartZK()
61
62 @hooks.hook('quorum-relation-departed')

Subscribers

People subscribed via source and target branches