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
=== modified file 'hooks/hooks.py'
--- hooks/hooks.py 2014-08-26 18:59:35 +0000
+++ hooks/hooks.py 2014-10-23 14:13:37 +0000
@@ -8,9 +8,8 @@
88
9from hdputils import install_base_pkg, updateHDPDirectoryScript, config_all_nodes, setHadoopEnvVar, home, hdpScript 9from hdputils import install_base_pkg, updateHDPDirectoryScript, config_all_nodes, setHadoopEnvVar, home, hdpScript
10from bdutils import setDirPermission, fileSetKV, fileRemoveKey10from bdutils import setDirPermission, fileSetKV, fileRemoveKey
11from socket import gethostname, gethostbyaddr
12from charmhelpers.lib.utils import config_get11from charmhelpers.lib.utils import config_get
13from charmhelpers.core.hookenv import log, Hooks, relation_get, open_port, related_units, local_unit12from charmhelpers.core.hookenv import log, Hooks, relation_get, open_port, related_units, local_unit, unit_get
14from charmhelpers.core.host import add_user_to_group13from charmhelpers.core.host import add_user_to_group
1514
16sys.path.insert(0, os.path.join(os.environ['CHARM_DIR'], 'lib'))15sys.path.insert(0, os.path.join(os.environ['CHARM_DIR'], 'lib'))
@@ -19,9 +18,9 @@
19def setZKConf():18def setZKConf():
20 log("==> setZKConf","INFO") 19 log("==> setZKConf","INFO")
21 zkconfdir = os.environ['ZOOKEEPER_CONF_DIR']20 zkconfdir = os.environ['ZOOKEEPER_CONF_DIR']
22 if os.path.isdir(zkconfdir):21 if os.path.islink(zkconfdir):
23 os.unlink(zkconfdir)22 os.unlink(zkconfdir)
24 os.makedirs( zkconfdir)23 os.makedirs( zkconfdir)
25 source = os.listdir(ZKConfPath)24 source = os.listdir(ZKConfPath)
2625
27 for files in source:26 for files in source:
@@ -65,7 +64,7 @@
65 cmd = "usermod zookeeper -s /bin/bash"64 cmd = "usermod zookeeper -s /bin/bash"
66 subprocess.call(cmd.split())65 subprocess.call(cmd.split())
67 cmd ='groupadd '+os.environ['HADOOP_GROUP']66 cmd ='groupadd '+os.environ['HADOOP_GROUP']
68 subprocess.check_call(cmd.split())67 subprocess.call(cmd.split())
69 add_user_to_group(os.environ['ZOOKEEPER_USER'], os.environ['HADOOP_GROUP'])68 add_user_to_group(os.environ['ZOOKEEPER_USER'], os.environ['HADOOP_GROUP'])
70 log_path = os.environ['ZOOKEEPER_LOG_DIR']69 log_path = os.environ['ZOOKEEPER_LOG_DIR']
71 pid_path = os.environ['ZOOKEEPER_PID_DIR']70 pid_path = os.environ['ZOOKEEPER_PID_DIR']
@@ -78,7 +77,7 @@
78 setDirPermission(data_path, owner, group, 0755)77 setDirPermission(data_path, owner, group, 0755)
79 with open(myid, 'w+') as df:78 with open(myid, 'w+') as df:
80 df.writelines(getid(local_unit()))79 df.writelines(getid(local_unit()))
81 zkhost = gethostname()80 zkhost = unit_get('private-address')
82 fileSetKV(zoocfg, "dataDir=", data_path)81 fileSetKV(zoocfg, "dataDir=", data_path)
83 fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", zkhost+":2888:3888")82 fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", zkhost+":2888:3888")
84 setZKConf()83 setZKConf()
@@ -99,7 +98,7 @@
99 packages =['ntp', 'openjdk-7-jdk',"zookeeper"]98 packages =['ntp', 'openjdk-7-jdk',"zookeeper"]
100 install_base_pkg(packages)99 install_base_pkg(packages)
101 config_zk_nodes()100 config_zk_nodes()
102 fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", gethostname()+":2888:3888")101 fileSetKV(zoocfg, "server"+"."+getid(local_unit())+"=", unit_get('private-address')+":2888:3888")
103 open_port(2181)102 open_port(2181)
104 open_port(2888)103 open_port(2888)
105 open_port(3888)104 open_port(3888)
@@ -137,7 +136,7 @@
137 for n in nodeList:136 for n in nodeList:
138 unitIP = relation_get('private-address', unit=n)137 unitIP = relation_get('private-address', unit=n)
139 zk = os.path.join(os.path.sep, os.environ['ZOOKEEPER_CONF_DIR'], 'zoo.cfg')138 zk = os.path.join(os.path.sep, os.environ['ZOOKEEPER_CONF_DIR'], 'zoo.cfg')
140 fileSetKV(zk, "server."+getid(n)+"=", gethostbyaddr(unitIP)[0]+":2888:3888")139 fileSetKV(zk, "server."+getid(n)+"=", unitIP +":2888:3888")
141 restartZK()140 restartZK()
142 141
143@hooks.hook('quorum-relation-departed')142@hooks.hook('quorum-relation-departed')

Subscribers

People subscribed via source and target branches