5
from charmhelpers.core.hookenv import relation_get
6
from bdutils import fileLineSearchReplace, fconfigured
7
from common import hue_ini, restart_hue
9
sys.path.insert(0, os.path.join(os.environ['CHARM_DIR'], 'lib'))
10
from charmhelpers.core import (
15
hooks = hookenv.Hooks()
18
SERVICE = 'apache-hue'
19
@hooks.hook('namenode-relation-changed')
20
def namenode_relation_changed():
22
ready = relation_get("ready")
24
log ("Hue ==> namenide not ready","INFO")
26
# do nothing if namenode connection is configured
27
if fconfigured("hadoop_nn"):
29
log('hue ==> namenode-relation-changed')
30
namenodeIP = relation_get('private-address')
31
log("hue ==> namenode_IP={}".format(namenodeIP),"INFO")
33
namenode = namenodeIP+":8020"
34
fileLineSearchReplace(hue_ini, "fs_defaultfs=hdfs://localhost:8020", \
35
"fs_defaultfs=hdfs://"+namenode)
36
fileLineSearchReplace(hue_ini, "## webhdfs_url=http://localhost:50070/webhdfs/v1",\
37
"webhdfs_url=http://"+namenodeIP+":50070/webhdfs/v1")
42
if __name__ == "__main__":
43
# execute a hook based on the name the program is called by
44
hooks.execute(sys.argv)