AMBARI-21814. On installation of new services on Ambari, Zeppelin should 
configure new interpreters.(Prabhjyot Singh via gauravn7)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6b052390
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6b052390
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6b052390

Branch: refs/heads/feature-branch-AMBARI-21307
Commit: 6b052390c3398c6f7fa1a706c3802ce7adf28cb9
Parents: ae80b6e
Author: Gaurav Nagar <grv...@gmail.com>
Authored: Wed Aug 30 11:23:31 2017 +0530
Committer: Gaurav Nagar <grv...@gmail.com>
Committed: Wed Aug 30 11:23:31 2017 +0530

----------------------------------------------------------------------
 .../0.6.0.2.5/configuration/zeppelin-config.xml   |  6 ++++++
 .../ZEPPELIN/0.6.0.2.5/package/scripts/master.py  | 18 +++++++++++++++++-
 .../ZEPPELIN/0.6.0.2.5/package/scripts/params.py  |  4 ++++
 .../0.6.0.3.0/configuration/zeppelin-config.xml   | 13 +++++++++++++
 4 files changed, 40 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/6b052390/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
index 6f16a98..03ad5f7 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
@@ -199,4 +199,10 @@
     <description>Size in characters of the maximum text message to be received 
by websocket. Defaults to 1024000</description>
     <on-ambari-upgrade add="true"/>
   </property>
+  <property>
+    <name>zeppelin.interpreter.config.upgrade</name>
+    <value>true</value>
+    <description>If this is set to true, on every restart of Zeppelin server 
default interpreter parameters will be reset</description>
+    <on-ambari-upgrade add="true"/>
+  </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b052390/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
index 7f506c5..62ed825 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
@@ -214,8 +214,8 @@ class Master(Script):
     if not glob.glob(params.conf_dir + "/interpreter.json") and \
       not os.path.exists(params.conf_dir + "/interpreter.json"):
       self.create_interpreter_json()
-      self.update_zeppelin_interpreter()
 
+    self.update_zeppelin_interpreter()
     self.update_kerberos_properties()
 
     Execute(params.zeppelin_dir + '/bin/zeppelin-daemon.sh restart >> '
@@ -235,6 +235,20 @@ class Master(Script):
         pid_file = ''
     check_process_status(pid_file)
 
+  def reset_interpreter_settings(self):
+    import json
+    import interpreter_json_template
+    interpreter_json_template = 
json.loads(interpreter_json_template.template)['interpreterSettings']
+    config_data = self.get_interpreter_settings()
+    interpreter_settings = config_data['interpreterSettings']
+
+    for setting_key in interpreter_json_template.keys():
+      if setting_key not in interpreter_settings:
+        interpreter_settings[setting_key] = interpreter_json_template[
+          setting_key]
+
+    self.set_interpreter_settings(config_data)
+
   def get_interpreter_settings(self):
     import params
     import json
@@ -313,6 +327,8 @@ class Master(Script):
 
   def update_zeppelin_interpreter(self):
     import params
+    if params.zeppelin_interpreter_config_upgrade == True:
+      self.reset_interpreter_settings()
     config_data = self.get_interpreter_settings()
     interpreter_settings = config_data['interpreterSettings']
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b052390/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/params.py
index 6912c3d..f5a2a37 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/params.py
@@ -194,6 +194,10 @@ else:
 
 zeppelin_kerberos_keytab = 
config['configurations']['zeppelin-env']['zeppelin.server.kerberos.keytab']
 zeppelin_kerberos_principal = 
config['configurations']['zeppelin-env']['zeppelin.server.kerberos.principal']
+if 'zeppelin.interpreter.config.upgrade' in 
config['configurations']['zeppelin-config']:
+  zeppelin_interpreter_config_upgrade = 
config['configurations']['zeppelin-config']['zeppelin.interpreter.config.upgrade']
+else:
+  zeppelin_interpreter_config_upgrade = False
 
 # e.g. 2.3
 stack_version_unformatted = config['hostLevelParams']['stack_version']

http://git-wip-us.apache.org/repos/asf/ambari/blob/6b052390/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.3.0/configuration/zeppelin-config.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.3.0/configuration/zeppelin-config.xml
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.3.0/configuration/zeppelin-config.xml
index 662b70c..2bfc0dc 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.3.0/configuration/zeppelin-config.xml
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.3.0/configuration/zeppelin-config.xml
@@ -33,6 +33,13 @@
     <on-ambari-upgrade add="false"/>
   </property>
   <property>
+    <name>zeppelin.server.ssl.port</name>
+    <value>9995</value>
+    <description>Server ssl port. (used when ssl property is set to true)
+    </description>
+    <on-ambari-upgrade add="false"/>
+  </property>
+  <property>
     <name>zeppelin.notebook.dir</name>
     <value>notebook</value>
     <description>notebook persist</description>
@@ -192,4 +199,10 @@
     <description>Size in characters of the maximum text message to be received 
by websocket. Defaults to 1024000</description>
     <on-ambari-upgrade add="false"/>
   </property>
+  <property>
+    <name>zeppelin.interpreter.config.upgrade</name>
+    <value>true</value>
+    <description>If this is set to true, on every restart of Zeppelin server 
default interpreter parameters will be reset</description>
+    <on-ambari-upgrade add="false"/>
+  </property>
 </configuration>

Reply via email to