AMBARI-10899. Agents Changes For Supporting HDP 2.3 conf-select On Upgrade (ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a6b9e955 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a6b9e955 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a6b9e955 Branch: refs/heads/trunk Commit: a6b9e95596de4e16f773cf0c361e2a7dbd65f94e Parents: 0ab1d36 Author: Nate Cole <[email protected]> Authored: Mon May 4 11:46:00 2015 -0400 Committer: Nate Cole <[email protected]> Committed: Tue May 5 10:08:55 2015 -0400 ---------------------------------------------------------------------- .../libraries/functions/conf_select.py | 68 +++++++++++++++++++ .../0.5.0.2.1/package/scripts/falcon_client.py | 2 + .../0.5.0.2.1/package/scripts/falcon_server.py | 2 + .../0.96.0.2.0/package/scripts/hbase_client.py | 5 +- .../HBASE/0.96.0.2.0/package/scripts/upgrade.py | 2 + .../HDFS/2.1.0.2.0/package/scripts/datanode.py | 2 + .../2.1.0.2.0/package/scripts/hdfs_client.py | 2 + .../2.1.0.2.0/package/scripts/journalnode.py | 2 + .../HDFS/2.1.0.2.0/package/scripts/namenode.py | 2 + .../0.12.0.2.0/package/scripts/hive_client.py | 2 + .../package/scripts/hive_metastore.py | 2 + .../0.12.0.2.0/package/scripts/hive_server.py | 2 + .../package/scripts/webhcat_server.py | 3 + .../KAFKA/0.8.1.2.2/package/scripts/upgrade.py | 2 + .../0.5.0.2.2/package/scripts/knox_gateway.py | 3 + .../1.0.0.2.3/package/scripts/mahout_client.py | 2 + .../4.0.0.2.0/package/scripts/oozie_client.py | 2 + .../4.0.0.2.0/package/scripts/oozie_server.py | 2 + .../0.12.0.2.0/package/scripts/pig_client.py | 2 + .../RANGER/0.4.0/package/scripts/upgrade.py | 4 +- .../0.60.0.2.2/package/scripts/slider_client.py | 3 + .../package/scripts/job_history_server.py | 2 + .../1.2.0.2.2/package/scripts/spark_client.py | 2 + .../1.4.4.2.0/package/scripts/sqoop_client.py | 3 + .../0.9.1.2.1/package/scripts/drpc_server.py | 3 +- .../STORM/0.9.1.2.1/package/scripts/nimbus.py | 2 + .../0.9.1.2.1/package/scripts/nimbus_prod.py | 3 +- .../STORM/0.9.1.2.1/package/scripts/rest_api.py | 2 + .../0.9.1.2.1/package/scripts/supervisor.py | 2 + .../package/scripts/supervisor_prod.py | 2 + .../0.9.1.2.1/package/scripts/ui_server.py | 2 + .../TEZ/0.4.0.2.1/package/scripts/tez_client.py | 2 + .../scripts/application_timeline_server.py | 2 + .../2.1.0.2.0/package/scripts/historyserver.py | 2 + .../package/scripts/mapreduce2_client.py | 2 + .../2.1.0.2.0/package/scripts/nodemanager.py | 2 + .../package/scripts/resourcemanager.py | 2 + .../2.1.0.2.0/package/scripts/yarn_client.py | 2 + .../3.4.5.2.0/package/scripts/zookeeper.py | 4 +- .../package/scripts/zookeeper_client.py | 2 + .../package/scripts/zookeeper_server.py | 2 + .../stacks/2.0.6/HBASE/test_hbase_client.py | 51 ++++++++++++++- .../stacks/2.0.6/HBASE/test_hbase_master.py | 44 ++++++++++++- .../2.0.6/HBASE/test_hbase_regionserver.py | 31 +++++++++ .../python/stacks/2.0.6/HDFS/test_datanode.py | 30 +++++++++ .../stacks/2.0.6/HDFS/test_hdfs_client.py | 31 ++++++++- .../stacks/2.0.6/HDFS/test_journalnode.py | 33 +++++++++- .../python/stacks/2.0.6/HDFS/test_namenode.py | 28 ++++++++ .../stacks/2.0.6/HIVE/test_hive_client.py | 30 +++++++++ .../stacks/2.0.6/HIVE/test_hive_server.py | 30 +++++++++ .../stacks/2.0.6/HIVE/test_webhcat_server.py | 32 ++++++++- .../stacks/2.0.6/OOZIE/test_oozie_client.py | 33 +++++++++- .../stacks/2.0.6/OOZIE/test_oozie_server.py | 69 ++++++++++++++++++++ .../python/stacks/2.0.6/PIG/test_pig_client.py | 31 ++++++++- .../python/stacks/2.0.6/SQOOP/test_sqoop.py | 26 ++++++++ .../stacks/2.0.6/YARN/test_historyserver.py | 29 ++++++++ .../stacks/2.0.6/YARN/test_mapreduce2_client.py | 31 ++++++++- .../stacks/2.0.6/YARN/test_nodemanager.py | 31 ++++++++- .../stacks/2.0.6/YARN/test_resourcemanager.py | 31 ++++++++- .../stacks/2.0.6/YARN/test_yarn_client.py | 31 ++++++++- .../2.0.6/ZOOKEEPER/test_zookeeper_client.py | 33 ++++++++++ .../2.0.6/ZOOKEEPER/test_zookeeper_server.py | 35 +++++++++- .../stacks/2.1/FALCON/test_falcon_client.py | 32 ++++++++- .../stacks/2.1/FALCON/test_falcon_server.py | 35 +++++++++- .../stacks/2.1/HIVE/test_hive_metastore.py | 33 +++++++++- .../stacks/2.1/STORM/test_storm_drpc_server.py | 30 ++++++++- .../stacks/2.1/STORM/test_storm_nimbus.py | 27 ++++++++ .../stacks/2.1/STORM/test_storm_nimbus_prod.py | 28 ++++++++ .../2.1/STORM/test_storm_rest_api_service.py | 27 ++++++++ .../stacks/2.1/STORM/test_storm_supervisor.py | 28 ++++++++ .../2.1/STORM/test_storm_supervisor_prod.py | 28 ++++++++ .../stacks/2.1/STORM/test_storm_ui_server.py | 29 ++++++++ .../python/stacks/2.1/TEZ/test_tez_client.py | 44 +++++++++++++ .../stacks/2.1/YARN/test_apptimelineserver.py | 33 +++++++++- .../stacks/2.2/KAFKA/test_kafka_broker.py | 32 ++++++++- .../python/stacks/2.2/KNOX/test_knox_gateway.py | 33 ++++++++++ .../stacks/2.2/RANGER/test_ranger_admin.py | 28 ++++++++ .../stacks/2.2/RANGER/test_ranger_usersync.py | 31 +++++++++ .../stacks/2.2/SLIDER/test_slider_client.py | 38 ++++++++++- .../stacks/2.2/SPARK/test_job_history_server.py | 29 ++++++++ .../stacks/2.2/SPARK/test_spark_client.py | 29 ++++++++ .../stacks/2.3/MAHOUT/test_mahout_client.py | 33 +++++++++- 82 files changed, 1475 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py ---------------------------------------------------------------------- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py b/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py new file mode 100644 index 0000000..f137a19 --- /dev/null +++ b/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +__all__ = ["select", "create"] + +import version +from resource_management.core import shell + +TEMPLATE = "conf-select {0} --package {1} --stack-version {2} --conf-version 0" + +def _valid(stack_name, package, ver): + if stack_name != "HDP": + return False + + if version.compare_versions(version.format_hdp_stack_version(ver), "2.3.0.0") < 0: + return False + + return True + +def create(stack_name, package, version): + """ + Creates a config version for the specified package + :stack_name: the name of the stack + :package: the name of the package, as-used by conf-select + :version: the version number to create + """ + + if not _valid(stack_name, package, version): + return + + shell.call(TEMPLATE.format("create-conf-dir", package, version)) + + +def select(stack_name, package, version, try_create=True): + """ + Selects a config version for the specified package. Currently only works if the version is + for HDP-2.3 or higher + :stack_name: the name of the stack + :package: the name of the package, as-used by conf-select + :version: the version number to create + :try_create: optional argument to attempt to create the directory before setting it + """ + + if not _valid(stack_name, package, version): + return + + if try_create: + create(stack_name, package, version) + + shell.call(TEMPLATE.format("set-conf-dir", package, version), logoutput=True) + http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_client.py b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_client.py index cf95692..b6ac9b9 100644 --- a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_client.py +++ b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_client.py @@ -18,6 +18,7 @@ limitations under the License. """ from resource_management import * +from resource_management.libraries.functions import conf_select from falcon import falcon from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl @@ -50,6 +51,7 @@ class FalconClientLinux(FalconClient): return Logger.info("Executing Falcon Client Rolling Upgrade pre-restart") + conf_select.select(params.stack_name, "falcon", params.version) Execute(format("hdp-select set falcon-client {version}")) def security_status(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py index 04d14ee..722f437 100644 --- a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py +++ b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon_server.py @@ -20,6 +20,7 @@ limitations under the License. import falcon_server_upgrade from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import * from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ @@ -73,6 +74,7 @@ class FalconServerLinux(FalconServer): return Logger.info("Executing Falcon Server Rolling Upgrade pre-restart") + conf_select.select(params.stack_name, "falcon", params.version) Execute(format("hdp-select set falcon-server {version}")) falcon_server_upgrade.pre_start_restore() http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_client.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_client.py index 3955b66..a331755 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_client.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase_client.py @@ -20,6 +20,7 @@ limitations under the License. import sys from resource_management import * +from resource_management.libraries.functions import conf_select from hbase import hbase from ambari_commons import OSCheck, OSConst from ambari_commons.os_family_impl import OsFamilyImpl @@ -54,11 +55,13 @@ class HbaseClientDefault(HbaseClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hbase", params.version) Execute(format("hdp-select set hbase-client {version}")) - # set all of the hadoop clientss since hbase client is upgraded as part + # set all of the hadoop clients since hbase client is upgraded as part # of the final "CLIENTS" group and we need to ensure that hadoop-client # is also set + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py index 5a8caf8..e4d4653 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/upgrade.py @@ -21,6 +21,7 @@ limitations under the License. from resource_management import * from resource_management.core.resources.system import Execute from resource_management.core import shell +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.decorator import retry @@ -28,6 +29,7 @@ def prestart(env, hdp_component): import params if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hbase", params.version) Execute("hdp-select set {0} {1}".format(hdp_component, params.version)) def post_regionserver(env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py index 1963658..ad94b3b 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py @@ -19,6 +19,7 @@ limitations under the License. import datanode_upgrade from hdfs_datanode import datanode from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, FILE_TYPE_XML @@ -71,6 +72,7 @@ class DataNodeDefault(DataNode): import params env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-hdfs-datanode {version}")) def post_rolling_restart(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py index fe487ef..0a67ef2 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py @@ -18,6 +18,7 @@ limitations under the License. """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ FILE_TYPE_XML @@ -59,6 +60,7 @@ class HdfsClientDefault(HdfsClient): import params env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) def security_status(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py index 8ec1fe9..0158644 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode.py @@ -18,6 +18,7 @@ limitations under the License. """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, \ format_hdp_stack_version from resource_management.libraries.functions.format import format @@ -49,6 +50,7 @@ class JournalNodeDefault(JournalNode): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-hdfs-journalnode {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py index dd439d7..9e6079a 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py @@ -22,6 +22,7 @@ import os import json import tempfile from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ FILE_TYPE_XML @@ -109,6 +110,7 @@ class NameNodeDefault(NameNode): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-hdfs-namenode {version}")) def post_rolling_restart(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_client.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_client.py index b390483..2514ccf 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_client.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_client.py @@ -19,6 +19,7 @@ limitations under the License. """ import sys from resource_management import * +from resource_management.libraries.functions import conf_select from hive import hive from ambari_commons.os_family_impl import OsFamilyImpl from ambari_commons import OSConst @@ -53,6 +54,7 @@ class HiveClientDefault(HiveClient): import params env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py index feb00eb..c1d145c 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py @@ -20,6 +20,7 @@ limitations under the License. import sys from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ FILE_TYPE_XML @@ -76,6 +77,7 @@ class HiveMetastoreDefault(HiveMetastore): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hive", params.version) Execute(format("hdp-select set hive-metastore {version}")) def security_status(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py index ac32db1..d86de3d 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py @@ -22,6 +22,7 @@ import hive_server_upgrade from resource_management import * from hive import hive from hive_service import hive_service +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.dynamic_variable_interpretation import copy_tarballs_to_hdfs from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ @@ -99,6 +100,7 @@ class HiveServerDefault(HiveServer): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hive", params.version) Execute(format("hdp-select set hive-server2 {version}")) copy_tarballs_to_hdfs('mapreduce', 'hive-server2', params.tez_user, params.hdfs_user, params.user_group) copy_tarballs_to_hdfs('tez', 'hive-server2', params.tez_user, params.hdfs_user, params.user_group) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py index 0373a0d..44df132 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py @@ -19,6 +19,7 @@ Ambari Agent """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ FILE_TYPE_XML @@ -74,6 +75,8 @@ class WebHCatServerDefault(WebHCatServer): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + # webhcat has no conf, but uses hadoop home, so verify that regular hadoop conf is set + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hive-webhcat {version}")) def security_status(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/upgrade.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/upgrade.py index c031fa6..ecdb798 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/upgrade.py @@ -20,10 +20,12 @@ limitations under the License. """ from resource_management import * from resource_management.core.resources.system import Execute +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version def prestart(env, hdp_component): import params if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "kafka", params.version) Execute("hdp-select set {0} {1}".format(hdp_component, params.version)) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py index 27a302f..bc254c5 100644 --- a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py +++ b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox_gateway.py @@ -18,6 +18,8 @@ limitations under the License. """ from resource_management import * + +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, validate_security_config_properties, get_params_from_filesystem, \ FILE_TYPE_XML @@ -71,6 +73,7 @@ class KnoxGateway(Script): if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: upgrade.backup_data() + conf_select.select(params.stack_name, "knox", params.version) Execute(format("hdp-select set knox-server {version}")) @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout_client.py b/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout_client.py index c262575..f371e1b 100644 --- a/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout_client.py +++ b/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout_client.py @@ -21,6 +21,7 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions import conf_select from mahout import mahout @@ -33,6 +34,7 @@ class MahoutClient(Script): import params env.set_params(params) + conf_select.select(params.stack_name, "mahout", params.version) Execute(('hdp-select', 'set', 'mahout-client', params.version), sudo = True) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_client.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_client.py index d0e6dad..b72fc46 100644 --- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_client.py +++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_client.py @@ -20,6 +20,7 @@ limitations under the License. import sys from resource_management import * +from resource_management.libraries.functions import conf_select from oozie import oozie from oozie_service import oozie_service @@ -55,6 +56,7 @@ class OozieClient(Script): return Logger.info("Executing Oozie Client Rolling Upgrade pre-restart") + conf_select.select(params.stack_name, "oozie", params.version) Execute(format("hdp-select set oozie-client {version}")) # We substitute some configs (oozie.authentication.kerberos.principal) before generation (see oozie.py and params.py). http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py index 0bf084e..dddebc9 100644 --- a/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py +++ b/ambari-server/src/main/resources/common-services/OOZIE/4.0.0.2.0/package/scripts/oozie_server.py @@ -25,6 +25,7 @@ from resource_management.core.resources.system import Execute from resource_management.libraries.functions import format from resource_management.libraries.script import Script from resource_management.libraries.functions import compare_versions +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format_hdp_stack_version from resource_management.libraries.functions.security_commons import build_expectations from resource_management.libraries.functions.security_commons import cached_kinit_executor @@ -159,6 +160,7 @@ class OozieServerDefault(OozieServer): oozie_server_upgrade.backup_configuration() + conf_select.select(params.stack_name, "oozie", params.version) Execute(format("hdp-select set oozie-server {version}")) oozie_server_upgrade.restore_configuration() http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py index 5b81b1f..4b6cb88 100644 --- a/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py +++ b/ambari-server/src/main/resources/common-services/PIG/0.12.0.2.0/package/scripts/pig_client.py @@ -22,6 +22,7 @@ Ambari Agent import sys import os from resource_management import * +from resource_management.libraries.functions import conf_select from pig import pig from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl @@ -45,6 +46,7 @@ class PigClientLinux(PigClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) def install(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/upgrade.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/upgrade.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/upgrade.py index 99b6edc..43a0787 100644 --- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/upgrade.py +++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/upgrade.py @@ -19,10 +19,12 @@ limitations under the License. """ from resource_management.core.resources.system import Execute +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.format import format def prestart(env, hdp_component): import params if params.version and params.stack_is_hdp22_or_further: - Execute("hdp-select set {0} {1}".format(hdp_component, params.version)) \ No newline at end of file + conf_select.select(params.stack_name, hdp_component, params.version) + Execute("hdp-select set {0} {1}".format(hdp_component, params.version)) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider_client.py b/ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider_client.py index b4ecf20..eb83e98 100644 --- a/ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider_client.py +++ b/ambari-server/src/main/resources/common-services/SLIDER/0.60.0.2.2/package/scripts/slider_client.py @@ -19,6 +19,7 @@ limitations under the License. """ from resource_management import * +from resource_management.libraries.functions import conf_select from slider import slider from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl @@ -35,11 +36,13 @@ class SliderClient(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "slider", params.version) Execute(format("hdp-select set slider-client {version}")) # also set all of the hadoop clients since slider client is upgraded as # part of the final "CLIENTS" group and we need to ensure that # hadoop-client is also set + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py index 353a1da..0206415 100644 --- a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py +++ b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py @@ -20,6 +20,7 @@ limitations under the License. import sys import os +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.dynamic_variable_interpretation import copy_tarballs_to_hdfs from resource_management.libraries.functions.format import format @@ -74,6 +75,7 @@ class JobHistoryServer(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "spark", params.version) Execute(format("hdp-select set spark-historyserver {version}")) copy_tarballs_to_hdfs('tez', 'spark-historyserver', params.spark_user, params.hdfs_user, params.user_group) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_client.py b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_client.py index 9f9e3dc..cc977d1 100644 --- a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_client.py +++ b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/spark_client.py @@ -20,6 +20,7 @@ limitations under the License. import sys from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.core.exceptions import ComponentIsNotRunning from resource_management.core.logger import Logger @@ -49,6 +50,7 @@ class SparkClient(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "spark", params.version) Execute(format("hdp-select set spark-client {version}")) if __name__ == "__main__": http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py index dad0514..ca26d10 100644 --- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py +++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py @@ -21,6 +21,8 @@ limitations under the License. from resource_management.core.exceptions import ClientComponentHasNoStatus from resource_management.core.resources.system import Execute from resource_management.libraries.script.script import Script +from resource_management.libraries.functions import conf_select +from resource_management.libraries.functions.format import format from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from sqoop import sqoop from ambari_commons.os_family_impl import OsFamilyImpl @@ -49,6 +51,7 @@ class SqoopClientDefault(SqoopClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "sqoop", params.version) Execute(format("hdp-select set sqoop-client {version}")) @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py index 60a5988..74cfc59 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/drpc_server.py @@ -21,6 +21,7 @@ limitations under the License. import sys from resource_management.libraries.functions import check_process_status from resource_management.libraries.script import Script +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version @@ -31,7 +32,6 @@ from resource_management.libraries.functions.security_commons import build_expec cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ FILE_TYPE_JAAS_CONF - class DrpcServer(Script): def get_stack_to_component(self): @@ -52,6 +52,7 @@ class DrpcServer(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-client {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py index 8e3c6b4..f6af281 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus.py @@ -22,6 +22,7 @@ import sys from resource_management.libraries.functions import check_process_status from resource_management.libraries.script import Script from resource_management.libraries.functions import format +from resource_management.libraries.functions import conf_select from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from storm import storm @@ -54,6 +55,7 @@ class NimbusDefault(Nimbus): import params env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-nimbus {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py index 4865774..310fec9 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/nimbus_prod.py @@ -22,11 +22,11 @@ import sys from resource_management.libraries.script import Script from storm import storm from supervisord_service import supervisord_service, supervisord_check_status +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version - class Nimbus(Script): def get_stack_to_component(self): @@ -47,6 +47,7 @@ class Nimbus(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-nimbus {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py index 9ae82aa..6768dd4 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/rest_api.py @@ -21,6 +21,7 @@ limitations under the License. import sys from resource_management.libraries.functions import check_process_status from resource_management.libraries.script import Script +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version @@ -50,6 +51,7 @@ class StormRestApi(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-client {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py index cee42d4..36e3ca8 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor.py @@ -21,6 +21,7 @@ limitations under the License. import sys from resource_management.libraries.functions import check_process_status from resource_management.libraries.script import Script +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version @@ -72,6 +73,7 @@ class SupervisorDefault(Supervisor): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-supervisor {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py index 833e8b3..7ce4764 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/supervisor_prod.py @@ -23,6 +23,7 @@ from storm import storm from service import service from supervisord_service import supervisord_service, supervisord_check_status from resource_management.libraries.script import Script +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version @@ -47,6 +48,7 @@ class Supervisor(Script): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-supervisor {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py index 0814282..4ab37c5 100644 --- a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py +++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/ui_server.py @@ -24,6 +24,7 @@ from service import service from service_check import ServiceCheck from resource_management.libraries.functions import check_process_status from resource_management.libraries.script import Script +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions import format from resource_management.core.resources.system import Execute from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version @@ -75,6 +76,7 @@ class UiServerDefault(UiServer): import params env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "storm", params.version) Execute(format("hdp-select set storm-client {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez_client.py b/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez_client.py index 9746d13..7394e68 100644 --- a/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez_client.py +++ b/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/tez_client.py @@ -21,6 +21,7 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions import conf_select from tez import tez from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyImpl @@ -45,6 +46,7 @@ class TezClientLinux(TezClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) def install(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py index 8cb5a39..9cd555d 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/application_timeline_server.py @@ -20,6 +20,7 @@ Ambari Agent """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties,\ @@ -69,6 +70,7 @@ class ApplicationTimelineServerDefault(ApplicationTimelineServer): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-yarn-timelineserver {version}")) def status(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py index b531de9..f4dceb5 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py @@ -20,6 +20,7 @@ Ambari Agent """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.dynamic_variable_interpretation import copy_tarballs_to_hdfs from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.format import format @@ -70,6 +71,7 @@ class HistoryServerDefault(HistoryServer): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-mapreduce-historyserver {version}")) copy_tarballs_to_hdfs('mapreduce', 'hadoop-mapreduce-historyserver', params.mapred_user, params.hdfs_user, params.user_group) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/mapreduce2_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/mapreduce2_client.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/mapreduce2_client.py index 6e8e0a8..38775b6 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/mapreduce2_client.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/mapreduce2_client.py @@ -21,6 +21,7 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions import conf_select from yarn import yarn from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyImpl @@ -55,6 +56,7 @@ class MapReduce2ClientDefault(MapReduce2Client): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py index bd613ed..f756c36 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/nodemanager.py @@ -22,6 +22,7 @@ Ambari Agent import nodemanager_upgrade from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.format import format from resource_management.libraries.functions.security_commons import build_expectations, \ @@ -71,6 +72,7 @@ class NodemanagerDefault(Nodemanager): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-yarn-nodemanager {version}")) def post_rolling_restart(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py index a5d494f..9fa2aae 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py @@ -20,6 +20,7 @@ Ambari Agent """ from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.dynamic_variable_interpretation import copy_tarballs_to_hdfs from resource_management.libraries.functions.security_commons import build_expectations, \ @@ -93,6 +94,7 @@ class ResourcemanagerDefault(Resourcemanager): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-yarn-resourcemanager {version}")) def start(self, env, rolling_restart=False): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn_client.py b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn_client.py index 6e99e41..89e3a50 100644 --- a/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn_client.py +++ b/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/yarn_client.py @@ -21,6 +21,7 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions import conf_select from yarn import yarn from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyImpl @@ -55,6 +56,7 @@ class YarnClientDefault(YarnClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "hadoop", params.version) Execute(format("hdp-select set hadoop-client {version}")) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py index 6ea9047..f1cd7fd 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper.py @@ -19,9 +19,10 @@ Ambari Agent """ import os +import sys from resource_management import * -import sys +from resource_management.libraries.functions import conf_select from ambari_commons import OSConst from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl @@ -73,6 +74,7 @@ def zookeeper(type = None, rolling_restart = False): ) # This path may be missing after Ambari upgrade. We need to create it. if (not rolling_restart) and (not os.path.exists("/usr/hdp/current/zookeeper-server")) and params.current_version: + conf_select(params.stack_name, "zookeeper", params.current_version) Execute(format("hdp-select set zookeeper-server {current_version}")) if (params.log4j_props != None): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py index 92264ab..179c978 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py @@ -21,6 +21,7 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.format import format from ambari_commons import OSConst @@ -64,6 +65,7 @@ class ZookeeperClientLinux(ZookeeperClient): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "zookeeper", params.version) Execute(format("hdp-select set zookeeper-client {version}")) @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py index 1b81ff1..2e19100 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_server.py @@ -23,6 +23,7 @@ import sys from resource_management.libraries.script.script import Script from resource_management.libraries.functions import get_unique_id_and_date +from resource_management.libraries.functions import conf_select from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version from resource_management.libraries.functions.security_commons import build_expectations, \ cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \ @@ -74,6 +75,7 @@ class ZookeeperServerLinux(ZookeeperServer): env.set_params(params) if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + conf_select.select(params.stack_name, "zookeeper", params.version) Execute(format("hdp-select set zookeeper-server {version}")) def post_rolling_restart(self, env): http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py index 58c661b..5b57393 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_client.py @@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ''' +import json + from mock.mock import MagicMock, call, patch from stacks.utils.RMFTestCase import * @@ -206,15 +208,58 @@ class TestHBaseClient(RMFTestCase): self.assertNoMoreResources() - def test_upgrade(self): + @patch("resource_management.core.shell.call") + def test_upgrade(self, call_mock): + call_mock.side_effects = [] + + mocks_dict = {} self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hbase_client.py", classname = "HbaseClient", command = "restart", config_file="client-upgrade.json", hdp_stack_version = self.STACK_VERSION, - target = RMFTestCase.TARGET_COMMON_SERVICES) + target = RMFTestCase.TARGET_COMMON_SERVICES, + mocks_dict = mocks_dict) self.assertResourceCalled("Execute", "hdp-select set hbase-client 2.2.1.0-2067") self.assertResourceCalled("Execute", "hdp-select set hadoop-client 2.2.1.0-2067") + self.assertEquals(1, mocks_dict['call'].call_count) + + + @patch("resource_management.core.shell.call") + def test_upgrade_23(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/client-upgrade.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hbase_client.py", + classname = "HbaseClient", + command = "restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hbase-client %s' % version) + self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version) + + self.assertEquals(5, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[2][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[3][0][0]) - # for now, it's enough that hdp-select is confirmed http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py index 2a89a40..6f73dbe 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py @@ -677,18 +677,56 @@ class TestHBaseMaster(RMFTestCase): self.assertNoMoreResources() - def test_pre_rolling_restart(self): + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" with open(config_file, "r") as f: json_content = json.load(f) version = '2.2.1.0-3242' json_content['commandParams']['version'] = version + + mocks_dict = {} self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hbase_master.py", classname = "HbaseMaster", command = "pre_rolling_restart", config_dict = json_content, hdp_stack_version = self.STACK_VERSION, - target = RMFTestCase.TARGET_COMMON_SERVICES) + target = RMFTestCase.TARGET_COMMON_SERVICES, + mocks_dict = mocks_dict) self.assertResourceCalled('Execute', 'hdp-select set hbase-master %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertFalse(call_mock.called) + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_upgrade_23(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hbase_master.py", + classname = "HbaseMaster", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hbase-master %s' % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py index 99e6033..0ab5fb7 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py @@ -627,3 +627,34 @@ class TestHbaseRegionServer(RMFTestCase): mocks_dict = mocks_dict) self.assertTrue(mocks_dict['call'].called) self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_upgrade_23(self, call_mock): + call_mock.side_effects = [(0, None), (0, None)] + + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hbase_regionserver.py", + classname = "HbaseRegionServer", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None), (0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hbase-regionserver %s' % version) + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hbase --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py index 8a90ec8..fc96b93 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py @@ -458,6 +458,36 @@ class TestDatanode(RMFTestCase): self.assertNoMoreResources() + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/datanode.py", + classname = "DataNode", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + self.assertResourceCalled('Execute', 'hdp-select set hadoop-hdfs-datanode %s' % version,) + + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + + @patch('time.sleep') def test_post_rolling_restart(self, time_mock): shell_call_output = """ http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py index 492c8bc..0f5b956 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py @@ -181,6 +181,35 @@ class Test(RMFTestCase): put_structured_out_mock.assert_called_with({"securityState": "UNSECURED"}) + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hdfs_client.py", + classname = "HdfsClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) + def test_pre_rolling_restart(self): config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" with open(config_file, "r") as f: @@ -194,4 +223,4 @@ class Test(RMFTestCase): hdp_stack_version = self.STACK_VERSION, target = RMFTestCase.TARGET_COMMON_SERVICES) self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py index 8b2694f..9975b36 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py @@ -452,6 +452,33 @@ class TestJournalnode(RMFTestCase): config_dict = json_content, hdp_stack_version = self.STACK_VERSION, target = RMFTestCase.TARGET_COMMON_SERVICES) - self.assertResourceCalled('Execute', - 'hdp-select set hadoop-hdfs-journalnode %s' % version,) - self.assertNoMoreResources() \ No newline at end of file + self.assertResourceCalled('Execute', 'hdp-select set hadoop-hdfs-journalnode %s' % version,) + self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/journalnode.py", + classname = "JournalNode", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', 'hdp-select set hadoop-hdfs-journalnode %s' % version,) + self.assertNoMoreResources() + + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py index 78254ae..2e7af32 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py @@ -1079,6 +1079,33 @@ class TestNamenode(RMFTestCase): 'hdp-select set hadoop-hdfs-namenode %s' % version) self.assertNoMoreResources() + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/namenode.py", + classname = "NameNode", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + self.assertResourceCalled('Execute', 'hdp-select set hadoop-hdfs-namenode %s' % version) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0]) def test_post_rolling_restart(self): config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" @@ -1118,6 +1145,7 @@ class TestNamenode(RMFTestCase): user = 'hdfs', ) self.assertNoMoreResources() + @patch.object(shell, "call") http://git-wip-us.apache.org/repos/asf/ambari/blob/a6b9e955/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py index 97dde86..11e1d16 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_client.py @@ -188,3 +188,33 @@ class TestHiveClient(RMFTestCase): self.assertResourceCalled('Execute', 'hdp-select set hadoop-client %s' % version,) self.assertNoMoreResources() + + @patch("resource_management.core.shell.call") + def test_pre_rolling_restart_23(self, call_mock): + config_file = self.get_src_folder()+"/test/python/stacks/2.0.6/configs/default.json" + with open(config_file, "r") as f: + json_content = json.load(f) + version = '2.3.0.0-1234' + json_content['commandParams']['version'] = version + + mocks_dict = {} + self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/hive_client.py", + classname = "HiveClient", + command = "pre_rolling_restart", + config_dict = json_content, + hdp_stack_version = self.STACK_VERSION, + target = RMFTestCase.TARGET_COMMON_SERVICES, + call_mocks = [(0, None), (0, None)], + mocks_dict = mocks_dict) + + self.assertResourceCalled('Execute', + 'hdp-select set hadoop-client %s' % version,) + self.assertNoMoreResources() + + self.assertEquals(2, mocks_dict['call'].call_count) + self.assertEquals( + "conf-select create-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[0][0][0]) + self.assertEquals( + "conf-select set-conf-dir --package hadoop --stack-version 2.3.0.0-1234 --conf-version 0", + mocks_dict['call'].call_args_list[1][0][0])
