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/4b04a325 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4b04a325 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4b04a325 Branch: refs/heads/feature-branch-AMBARI-21307 Commit: 4b04a325eea0f7fa0193a375a10bb168546aa63d Parents: 58c6848 Author: Gaurav Nagar <grv...@gmail.com> Authored: Wed Aug 30 11:37:48 2017 +0530 Committer: Gaurav Nagar <grv...@gmail.com> Committed: Wed Aug 30 11:37:48 2017 +0530 ---------------------------------------------------------------------- .../0.6.0.2.5/configuration/zeppelin-config.xml | 6 ++++++ .../ZEPPELIN/0.6.0.2.5/package/scripts/master.py | 19 ++++++++++++++++++- .../ZEPPELIN/0.6.0.2.5/package/scripts/params.py | 4 ++++ .../0.6.0.3.0/configuration/zeppelin-config.xml | 13 +++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4b04a325/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/4b04a325/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..2142bb4 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 @@ -216,7 +216,9 @@ class Master(Script): self.create_interpreter_json() self.update_zeppelin_interpreter() - self.update_kerberos_properties() + if params.zeppelin_interpreter_config_upgrade == True: + self.reset_interpreter_settings() + self.update_zeppelin_interpreter() Execute(params.zeppelin_dir + '/bin/zeppelin-daemon.sh restart >> ' + params.zeppelin_log_file, user=params.zeppelin_user) @@ -235,6 +237,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 @@ -433,6 +449,7 @@ class Master(Script): del interpreter_settings[setting_key] self.set_interpreter_settings(config_data) + self.update_kerberos_properties() def create_interpreter_json(self): import interpreter_json_template http://git-wip-us.apache.org/repos/asf/ambari/blob/4b04a325/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/4b04a325/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>