Merge branch 'trunk' into branch-dev-patch-upgrade
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/551f17b4 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/551f17b4 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/551f17b4 Branch: refs/heads/branch-dev-patch-upgrade Commit: 551f17b427465f1a3420a1158fa75f6498fd0fd2 Parents: eb2c904 6a81155 Author: Nate Cole <[email protected]> Authored: Wed Jan 25 13:56:33 2017 -0500 Committer: Nate Cole <[email protected]> Committed: Wed Jan 25 13:56:33 2017 -0500 ---------------------------------------------------------------------- .../controllers/ambariViews/ViewsListCtrl.js | 6 + .../controllers/groups/GroupsListCtrl.js | 3 + .../remoteClusters/RemoteClustersListCtrl.js | 3 + .../stackVersions/StackVersionsCreateCtrl.js | 17 - .../stackVersions/StackVersionsEditCtrl.js | 17 +- .../stackVersions/StackVersionsListCtrl.js | 3 + .../scripts/controllers/users/UsersListCtrl.js | 3 + .../resources/ui/admin-web/app/styles/main.css | 11 +- .../app/views/ambariViews/listTable.html | 5 +- .../app/views/ambariViews/listUrls.html | 5 +- .../ui/admin-web/app/views/groups/list.html | 5 +- .../app/views/remoteClusters/list.html | 5 +- .../admin-web/app/views/stackVersions/list.html | 5 +- .../ui/admin-web/app/views/users/list.html | 5 +- .../src/main/python/ambari_agent/Controller.py | 20 +- .../ambari_agent/CustomServiceOrchestrator.py | 8 +- .../src/main/python/ambari_agent/Facter.py | 44 +- .../main/python/ambari_agent/PythonExecutor.py | 19 +- .../test/python/ambari_agent/TestActionQueue.py | 43 + .../test/python/ambari_agent/TestController.py | 20 +- .../test/python/ambari_agent/TestHardware.py | 47 + .../src/main/python/ambari_commons/os_linux.py | 6 +- .../libraries/functions/constants.py | 2 + .../libraries/functions/security_commons.py | 29 +- .../libraries/functions/setup_atlas_hook.py | 14 +- .../libraries/functions/solr_cloud_util.py | 22 +- .../libraries/functions/stack_select.py | 5 +- .../libraries/script/dummy.py | 29 +- .../HDP/2.0.8/services/HDFS/kerberos.json | 2 +- .../logfeeder/metrics/LogFeederAMSClient.java | 40 +- .../apache/ambari/logfeeder/util/SSLUtil.java | 78 +- .../src/main/scripts/run.sh | 78 +- .../ambari-logsearch-portal/pom.xml | 13 +- .../configsets/audit_logs/conf/managed-schema | 100 +- .../logsearch/common/ACLPropertiesSplitter.java | 70 + .../ambari/logsearch/common/MessageEnums.java | 3 + .../ambari/logsearch/conf/ApiDocConfig.java | 1 - .../conf/LogSearchHttpHeaderConfig.java | 70 + .../ambari/logsearch/conf/SecurityConfig.java | 68 +- .../logsearch/conf/SolrAuditLogPropsConfig.java | 27 + .../ambari/logsearch/conf/SolrConfig.java | 71 +- .../conf/SolrConnectionPropsConfig.java | 29 + .../ambari/logsearch/conf/SolrPropsConfig.java | 12 + .../conf/global/SolrAuditLogsState.java | 68 + .../conf/global/SolrCollectionState.java | 33 + .../conf/global/SolrServiceLogsState.java | 59 + .../conf/global/SolrUserConfigState.java | 60 + .../configurer/LogfeederFilterConfigurer.java | 66 + .../configurer/SolrAuditAliasConfigurer.java | 136 + .../configurer/SolrCollectionConfigurer.java | 230 + .../logsearch/configurer/SolrConfigurer.java | 23 + .../ambari/logsearch/dao/AuditSolrDao.java | 38 +- .../logsearch/dao/ServiceLogsSolrDao.java | 30 +- .../ambari/logsearch/dao/SolrAliasDao.java | 121 - .../ambari/logsearch/dao/SolrCollectionDao.java | 313 - .../ambari/logsearch/dao/SolrDaoBase.java | 18 +- .../logsearch/dao/SolrSchemaFieldDao.java | 38 +- .../ambari/logsearch/dao/UserConfigSolrDao.java | 71 +- .../ambari/logsearch/doc/DocConstants.java | 7 + .../ambari/logsearch/handler/ACLHandler.java | 97 + .../handler/CreateCollectionHandler.java | 222 + .../handler/ListCollectionHandler.java | 51 + .../handler/ReloadCollectionHandler.java | 45 + .../logsearch/handler/SolrZkRequestHandler.java | 26 + .../handler/UploadConfigurationHandler.java | 100 + .../ambari/logsearch/rest/StatusResource.java | 91 + .../ambari/logsearch/util/RESTErrorUtil.java | 10 +- .../apache/ambari/logsearch/util/SSLUtil.java | 65 +- .../AbstractLogsearchGlobalStateFilter.java | 100 + .../filters/LogsearchAuditLogsStateFilter.java | 51 + .../web/filters/LogsearchCorsFilter.java | 59 + .../LogsearchServiceLogsStateFilter.java | 51 + .../filters/LogsearchUserConfigStateFilter.java | 52 + .../src/main/resources/swagger/swagger.html | 26 +- .../src/main/webapp/scripts/utils/Tour.js | 820 +- .../src/main/webapp/scripts/utils/Utils.js | 9 +- .../logsearch/solr/AmbariSolrCloudClient.java | 14 - .../solr/commands/CreateSaslUsersZkCommand.java | 60 - .../solr/commands/SecureSolrZNodeZkCommand.java | 17 +- .../ambari/logsearch/solr/util/AclUtils.java | 30 - ambari-logsearch/docker/bin/start.sh | 6 - .../logsearch/logsearch-https.properties | 3 + .../test-config/logsearch/logsearch.properties | 3 + .../ambari-metrics/datasource.js | 101 + ambari-project/pom.xml | 4 +- ambari-server/conf/unix/create-python-wrap.sh | 40 + ambari-server/src/main/assemblies/server.xml | 5 + .../StackAdvisorBlueprintProcessor.java | 8 + .../stackadvisor/StackAdvisorRequest.java | 15 + .../commands/StackAdvisorCommand.java | 4 + .../ambari/server/cleanup/CleanupDriver.java | 3 +- .../server/configuration/Configuration.java | 60 +- .../controller/AmbariActionExecutionHelper.java | 13 +- .../AmbariCustomCommandExecutionHelper.java | 66 +- .../AmbariManagementControllerImpl.java | 212 +- .../BlueprintConfigurationProcessor.java | 11 +- .../internal/ClusterResourceProvider.java | 17 +- .../internal/ConfigGroupResourceProvider.java | 14 +- .../internal/HostResourceProvider.java | 9 +- .../internal/ProvisionClusterRequest.java | 36 + .../server/controller/internal/Stack.java | 7 + .../internal/StackAdvisorResourceProvider.java | 31 +- .../internal/UpgradeResourceProvider.java | 142 +- .../logging/LogSearchDataRetrievalService.java | 28 +- .../AmbariAuthorizationFilter.java | 2 +- .../AmbariLdapAuthenticationProvider.java | 6 +- .../AmbariLdapBindAuthenticator.java | 9 +- .../security/authorization/AmbariLdapUtils.java | 69 +- .../security/ldap/AmbariLdapDataPopulator.java | 105 +- .../upgrades/AbstractUpgradeServerAction.java | 13 +- .../users/CsvFilePersisterService.java | 24 +- .../ambari/server/stack/StackManager.java | 4 +- .../org/apache/ambari/server/state/Cluster.java | 14 + .../apache/ambari/server/state/Clusters.java | 3 +- .../ambari/server/state/PropertyInfo.java | 3 +- .../ambari/server/state/UpgradeContext.java | 190 +- .../server/state/UpgradeContextFactory.java | 25 +- .../server/state/cluster/ClusterImpl.java | 106 +- .../server/state/cluster/ClustersImpl.java | 3 +- .../state/configgroup/ConfigGroupImpl.java | 5 +- .../quicklinksprofile/AcceptAllFilter.java | 5 + .../state/quicklinksprofile/Component.java | 3 + .../server/state/quicklinksprofile/Filter.java | 7 +- .../quicklinksprofile/QuickLinksProfile.java | 9 + .../QuickLinksProfileBuilder.java | 142 + .../QuickLinksProfileEvaluationException.java | 4 + .../QuickLinksProfileParser.java | 25 +- .../server/state/quicklinksprofile/Service.java | 3 + .../ambari/server/topology/TopologyManager.java | 38 + .../server/upgrade/AbstractUpgradeCatalog.java | 2 +- .../server/upgrade/UpgradeCatalog250.java | 8 +- .../src/main/package/deb/control/preinst | 46 + .../src/main/package/rpm/preinstall.sh | 46 + .../src/main/python/ambari_server_main.py | 21 +- ambari-server/src/main/python/bootstrap.py | 31 + ambari-server/src/main/python/os_check_type.py | 2 +- .../1.6.1.2.2.0/configuration/accumulo-env.xml | 1 + .../ACCUMULO/1.6.1.2.2.0/kerberos.json | 2 +- .../0.1.0/configuration/infra-solr-env.xml | 2 + .../0.1.0/package/scripts/infra_solr.py | 13 + .../0.1.0/package/scripts/params.py | 12 + .../0.1.0/package/scripts/setup_infra_solr.py | 9 + .../0.1.0/configuration/ams-hbase-log4j.xml | 10 +- .../configuration/ams-hbase-security-site.xml | 4 + .../HDP/grafana-druid-home.json | 995 ++ .../HDP/grafana-druid-ingestion.json | 776 ++ .../HDP/grafana-druid-query.json | 858 ++ .../default/grafana-ambari-server-database.json | 902 ++ .../default/grafana-ambari-server-topn.json | 437 + .../default/grafana-ambari-server.json | 99 +- .../configuration/application-properties.xml | 3 +- .../ATLAS/0.1.0.2.3/package/scripts/params.py | 2 +- .../0.1.0.2.3/package/scripts/status_params.py | 3 +- .../configuration/application-properties.xml | 4 +- .../0.7.0.2.5/configuration/atlas-log4j.xml | 2 +- .../ATLAS/0.7.0.2.5/quicklinks/quicklinks.json | 1 + .../DRUID/0.9.2/configuration/druid-common.xml | 58 + .../DRUID/0.9.2/package/scripts/params.py | 36 + .../0.5.0.2.1/configuration/falcon-log4j.xml | 2 +- .../FALCON/0.5.0.2.1/package/scripts/falcon.py | 6 +- .../0.5.0.2.1/package/scripts/params_linux.py | 4 +- .../FALCON/0.5.0.2.1/quicklinks/quicklinks.json | 1 + .../FLUME/1.4.0.2.0/kerberos.json | 44 + .../1.4.0.2.0/package/scripts/flume_check.py | 6 +- .../FLUME/1.4.0.2.0/package/scripts/params.py | 12 +- .../0.96.0.2.0/configuration/hbase-env.xml | 1 + .../0.96.0.2.0/configuration/hbase-log4j.xml | 2 +- .../HBASE/0.96.0.2.0/kerberos.json | 2 +- .../HDFS/2.1.0.2.0/configuration/hadoop-env.xml | 1 + .../HDFS/2.1.0.2.0/configuration/hdfs-log4j.xml | 4 +- .../HDFS/2.1.0.2.0/kerberos.json | 2 +- .../2.1.0.2.0/package/scripts/params_linux.py | 5 + .../HDFS/2.1.0.2.0/package/scripts/utils.py | 24 +- .../2.1.0.2.0/package/scripts/zkfc_slave.py | 21 +- .../package/templates/hdfs_jaas.conf.j2 | 27 + .../HDFS/3.0.0.3.0/configuration/hadoop-env.xml | 5 + .../HDFS/3.0.0.3.0/configuration/hdfs-log4j.xml | 4 +- .../HDFS/3.0.0.3.0/kerberos.json | 5 +- .../3.0.0.3.0/package/scripts/params_linux.py | 167 +- .../package/scripts/setup_ranger_hdfs.py | 43 +- .../HDFS/3.0.0.3.0/package/scripts/utils.py | 26 +- .../3.0.0.3.0/package/scripts/zkfc_slave.py | 18 +- .../package/templates/hdfs_jaas.conf.j2 | 27 + .../configuration/hive-exec-log4j.xml | 2 +- .../0.12.0.2.0/configuration/hive-log4j.xml | 2 +- .../0.12.0.2.0/configuration/webhcat-log4j.xml | 2 +- .../HIVE/0.12.0.2.0/package/scripts/hcat.py | 2 +- .../HIVE/0.12.0.2.0/package/scripts/hive.py | 57 +- .../package/scripts/hive_metastore.py | 5 +- .../package/scripts/hive_server_interactive.py | 66 +- .../0.12.0.2.0/package/scripts/params_linux.py | 4 +- .../package/scripts/webhcat_server.py | 2 - .../KAFKA/0.8.1/configuration/kafka-env.xml | 1 + .../KAFKA/0.8.1/configuration/kafka-log4j.xml | 2 +- .../KAFKA/0.8.1/package/scripts/params.py | 4 +- .../1.10.3-10/configuration/kerberos-env.xml | 1 + .../0.5.0.2.2/configuration/gateway-log4j.xml | 2 +- .../KNOX/0.5.0.2.2/configuration/knox-env.xml | 1 + .../KNOX/0.5.0.2.2/configuration/ldap-log4j.xml | 2 +- .../0.5.0/configuration/logfeeder-env.xml | 2 + .../0.5.0/configuration/logfeeder-log4j.xml | 4 +- .../0.5.0/configuration/logsearch-env.xml | 2 + .../0.5.0/configuration/logsearch-log4j.xml | 4 +- .../configuration/logsearch-properties.xml | 1 + .../LOGSEARCH/0.5.0/metainfo.xml | 52 +- .../LOGSEARCH/0.5.0/package/scripts/params.py | 49 +- .../0.5.0/package/scripts/service_check.py | 2 +- .../0.5.0/package/scripts/setup_logsearch.py | 38 - .../package/templates/input.config-hst.json.j2 | 102 - .../0.5.0/properties/logfeeder-env.sh.j2 | 2 +- .../0.5.0/properties/logsearch-env.sh.j2 | 2 +- .../LOGSEARCH/0.5.0/quicklinks/quicklinks.json | 1 + .../4.0.0.2.0/configuration/oozie-log4j.xml | 2 +- .../4.0.0.2.0/package/scripts/oozie_server.py | 4 + .../4.0.0.2.0/package/scripts/params_linux.py | 3 + .../4.2.0.2.3/configuration/oozie-log4j.xml | 2 +- .../OOZIE/4.2.0.2.3/kerberos.json | 3 +- .../common-services/RANGER/0.4.0/metainfo.xml | 4 + .../RANGER/0.4.0/quicklinks/quicklinks.json | 1 + .../RANGER/0.5.0/quicklinks/quicklinks.json | 1 + .../RANGER/0.6.0/configuration/admin-log4j.xml | 2 +- .../0.6.0/configuration/ranger-admin-site.xml | 3 + .../0.6.0/configuration/ranger-tagsync-site.xml | 1 + .../0.6.0/configuration/ranger-ugsync-site.xml | 1 + .../0.6.0/configuration/tagsync-log4j.xml | 2 +- .../0.6.0/configuration/usersync-log4j.xml | 2 +- .../0.7.0/configuration/ranger-ugsync-site.xml | 42 + .../common-services/RANGER/0.7.0/metainfo.xml | 6 + .../RANGER/0.7.0/themes/theme_version_5.json | 22 + .../0.5.0.2.3/configuration/kms-log4j.xml | 2 +- .../0.5.0.2.3/configuration/kms-site.xml | 2 + .../1.2.1/configuration/spark-defaults.xml | 1 + .../SPARK/1.2.1/configuration/spark-env.xml | 1 + .../common-services/SPARK/1.2.1/kerberos.json | 2 +- .../common-services/SPARK/1.4.1/kerberos.json | 2 +- .../2.0.0/configuration/spark2-defaults.xml | 1 + .../SPARK2/2.0.0/configuration/spark2-env.xml | 1 + .../configuration/spark2-logsearch-conf.xml | 10 +- .../common-services/SPARK2/2.0.0/kerberos.json | 2 +- .../configuration/storm-cluster-log4j.xml | 2 +- .../0.10.0/configuration/storm-worker-log4j.xml | 2 +- .../STORM/0.9.1/configuration/storm-env.xml | 4 + .../common-services/STORM/0.9.1/kerberos.json | 2 +- .../STORM/0.9.1/package/scripts/params_linux.py | 2 +- .../1.0.1/configuration/storm-cluster-log4j.xml | 2 +- .../1.0.1/configuration/storm-worker-log4j.xml | 2 +- .../common-services/STORM/1.0.1/kerberos.json | 2 +- .../YARN/2.1.0.2.0/configuration/yarn-log4j.xml | 6 +- .../YARN/2.1.0.2.0/kerberos.json | 1 - .../2.1.0.2.0/package/scripts/params_linux.py | 1 + .../package/scripts/resourcemanager.py | 5 +- .../YARN/3.0.0.3.0/configuration/yarn-log4j.xml | 2 +- .../YARN/3.0.0.3.0/kerberos.json | 3 +- .../3.0.0.3.0/package/scripts/params_linux.py | 213 +- .../package/scripts/resourcemanager.py | 2 +- .../package/scripts/setup_ranger_yarn.py | 4 +- .../0.6.0.2.5/configuration/zeppelin-env.xml | 1 + .../ZEPPELIN/0.6.0.2.5/kerberos.json | 2 +- .../0.6.0.2.5/package/scripts/master.py | 22 +- .../ZOOKEEPER/3.4.5/configuration/zoo.cfg.xml | 2 +- .../3.4.5/configuration/zookeeper-env.xml | 1 + .../3.4.5/configuration/zookeeper-log4j.xml | 10 +- .../ZOOKEEPER/3.4.6/metainfo.xml | 2 +- .../src/main/resources/configuration-schema.xsd | 1 + .../custom_actions/scripts/ru_set_all.py | 2 + .../src/main/resources/properties.json | 3 + .../main/resources/scripts/Ambaripreupload.py | 1 + .../src/main/resources/scripts/stack_advisor.py | 14 +- .../2.0.6/hooks/before-ANY/scripts/params.py | 19 +- .../2.0.6/hooks/before-START/scripts/params.py | 2 +- .../resources/stacks/HDP/2.0.6/kerberos.json | 7 +- .../HDP/2.0.6/properties/stack_features.json | 10 + .../stacks/HDP/2.0.6/services/stack_advisor.py | 87 +- .../stacks/HDP/2.1/services/OOZIE/metainfo.xml | 2 +- .../services/HDFS/configuration/hdfs-log4j.xml | 4 +- .../stacks/HDP/2.2/services/HDFS/metainfo.xml | 5 +- .../stacks/HDP/2.2/services/HIVE/metainfo.xml | 4 +- .../stacks/HDP/2.2/services/PIG/metainfo.xml | 2 +- .../stacks/HDP/2.2/services/YARN/kerberos.json | 3 +- .../stacks/HDP/2.2/services/YARN/metainfo.xml | 4 +- .../HDP/2.3.ECS/services/ECS/kerberos.json | 2 +- .../HDP/2.3.ECS/services/HBASE/kerberos.json | 2 +- .../HDP/2.3.ECS/services/YARN/kerberos.json | 3 +- .../services/ACCUMULO/kerberos.json | 2 +- .../HDP/2.3/services/ACCUMULO/kerberos.json | 4 +- .../services/ATLAS/quicklinks/quicklinks.json | 1 + .../stacks/HDP/2.3/services/HDFS/metainfo.xml | 3 + .../services/YARN/configuration/yarn-log4j.xml | 6 +- .../stacks/HDP/2.3/services/YARN/kerberos.json | 3 +- .../stacks/HDP/2.3/upgrades/config-upgrade.xml | 46 + .../HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml | 29 +- .../HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml | 29 + .../HDP/2.3/upgrades/nonrolling-upgrade-2.6.xml | 30 +- .../stacks/HDP/2.3/upgrades/upgrade-2.4.xml | 6 +- .../stacks/HDP/2.3/upgrades/upgrade-2.5.xml | 5 + .../stacks/HDP/2.3/upgrades/upgrade-2.6.xml | 45 +- .../stacks/HDP/2.4/upgrades/config-upgrade.xml | 44 + .../HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml | 28 + .../HDP/2.4/upgrades/nonrolling-upgrade-2.6.xml | 27 + .../stacks/HDP/2.4/upgrades/upgrade-2.5.xml | 9 +- .../stacks/HDP/2.4/upgrades/upgrade-2.6.xml | 8 + .../stacks/HDP/2.5/services/HBASE/kerberos.json | 2 +- .../stacks/HDP/2.5/services/HDFS/kerberos.json | 2 +- .../HIVE/configuration/hive-exec-log4j2.xml | 2 +- .../services/HIVE/configuration/hive-log4j2.xml | 2 +- .../HIVE/configuration/llap-cli-log4j2.xml | 2 +- .../HIVE/configuration/llap-daemon-log4j.xml | 2 +- .../stacks/HDP/2.5/services/SPARK/kerberos.json | 4 +- .../stacks/HDP/2.5/services/YARN/kerberos.json | 3 +- .../stacks/HDP/2.5/services/stack_advisor.py | 37 +- .../stacks/HDP/2.5/upgrades/config-upgrade.xml | 47 + .../HDP/2.5/upgrades/nonrolling-upgrade-2.6.xml | 30 +- .../stacks/HDP/2.5/upgrades/upgrade-2.6.xml | 8 + .../ATLAS/configuration/atlas-log4j.xml | 2 +- .../services/HBASE/configuration/hbase-env.xml | 37 + .../services/HDFS/configuration/hadoop-env.xml | 181 + .../stacks/HDP/2.6/services/HDFS/kerberos.json | 247 + .../HIVE/configuration/hive-interactive-env.xml | 2 +- .../stacks/HDP/2.6/services/OOZIE/kerberos.json | 70 + .../services/SPARK/configuration/livy-conf.xml | 8 + .../services/SPARK/configuration/livy-env.xml | 96 + .../stacks/HDP/2.6/services/SPARK/kerberos.json | 4 +- .../SPARK2/configuration/livy2-conf.xml | 8 + .../services/SPARK2/configuration/livy2-env.xml | 2 + .../HDP/2.6/services/SPARK2/kerberos.json | 4 +- .../stacks/HDP/2.6/services/SPARK2/metainfo.xml | 2 +- .../stacks/HDP/2.6/services/YARN/kerberos.json | 278 + .../stacks/HDP/2.6/services/stack_advisor.py | 3 + .../HDP/3.0/hooks/before-ANY/scripts/params.py | 16 +- .../main/resources/stacks/HDP/3.0/kerberos.json | 7 +- .../HDP/3.0/properties/stack_features.json | 5 + .../services/HDFS/configuration/hadoop-env.xml | 4 + .../hooks/before-INSTALL/scripts/conf-select.py | 35 + .../before-INSTALL/scripts/distro-select.py | 145 + .../1.0/hooks/before-INSTALL/scripts/hook.py | 38 + .../1.0/hooks/before-INSTALL/scripts/params.py | 23 + .../resources/stacks/PERF/1.0/kerberos.json | 7 +- .../main/resources/stacks/PERF/1.0/metainfo.xml | 6 +- .../PERF/1.0/properties/stack_features.json | 5 + .../stacks/PERF/1.0/repos/repoinfo.xml | 8 +- .../PERF/1.0/services/FAKEHBASE/alerts.json | 35 + .../configuration/hbase-alert-config.xml | 80 + .../FAKEHBASE/configuration/hbase-env.xml | 292 + .../FAKEHBASE/configuration/hbase-log4j.xml | 146 + .../configuration/hbase-logsearch-conf.xml | 111 + .../FAKEHBASE/configuration/hbase-policy.xml | 53 + .../FAKEHBASE/configuration/hbase-site.xml | 555 ++ .../configuration/ranger-hbase-audit.xml | 122 + .../ranger-hbase-policymgr-ssl.xml | 66 + .../configuration/ranger-hbase-security.xml | 68 + .../PERF/1.0/services/FAKEHBASE/kerberos.json | 159 + .../PERF/1.0/services/FAKEHBASE/metainfo.xml | 197 + .../PERF/1.0/services/FAKEHBASE/metrics.json | 9374 ++++++++++++++++++ .../package/alerts/hbase_master_process.py | 59 + .../alerts/hbase_regionserver_process.py | 59 + .../FAKEHBASE/package/scripts/hbase_client.py | 38 + .../FAKEHBASE/package/scripts/hbase_master.py | 45 + .../package/scripts/hbase_regionserver.py | 45 + .../package/scripts/phoenix_queryserver.py | 42 + .../FAKEHBASE/package/scripts/service_check.py | 30 + .../FAKEHBASE/quicklinks/quicklinks.json | 97 + .../1.0/services/FAKEHBASE/themes/theme.json | 411 + .../PERF/1.0/services/FAKEHBASE/widgets.json | 510 + .../PERF/1.0/services/FAKEHDFS/alerts.json | 120 + .../FAKEHDFS/configuration/core-site.xml | 225 + .../FAKEHDFS/configuration/hadoop-env.xml | 419 + .../hadoop-metrics2.properties.xml | 125 + .../FAKEHDFS/configuration/hadoop-policy.xml | 130 + .../configuration/hdfs-alert-config.xml | 80 + .../FAKEHDFS/configuration/hdfs-log4j.xml | 225 + .../configuration/hdfs-logsearch-conf.xml | 248 + .../FAKEHDFS/configuration/hdfs-site.xml | 633 ++ .../configuration/ranger-hdfs-audit.xml | 124 + .../ranger-hdfs-plugin-properties.xml | 88 + .../configuration/ranger-hdfs-policymgr-ssl.xml | 67 + .../configuration/ranger-hdfs-security.xml | 65 + .../FAKEHDFS/configuration/ssl-client.xml | 70 + .../FAKEHDFS/configuration/ssl-server.xml | 80 + .../PERF/1.0/services/FAKEHDFS/kerberos.json | 246 + .../PERF/1.0/services/FAKEHDFS/metainfo.xml | 266 + .../PERF/1.0/services/FAKEHDFS/metrics.json | 7905 +++++++++++++++ .../package/alerts/alert_checkpoint_time.py | 59 + .../alerts/alert_datanode_unmounted_data_dir.py | 59 + .../package/alerts/alert_nfs_gateway_process.py | 59 + .../package/alerts/alert_snamenode_process.py | 59 + .../package/alerts/alert_upgrade_finalized.py | 59 + .../FAKEHDFS/package/scripts/datanode.py | 57 + .../FAKEHDFS/package/scripts/hdfs_client.py | 38 + .../FAKEHDFS/package/scripts/journalnode.py | 58 + .../FAKEHDFS/package/scripts/namenode.py | 79 + .../FAKEHDFS/package/scripts/nfsgateway.py | 42 + .../services/FAKEHDFS/package/scripts/params.py | 33 + .../FAKEHDFS/package/scripts/service_check.py | 30 + .../FAKEHDFS/package/scripts/snamenode.py | 42 + .../FAKEHDFS/package/scripts/zkfc_slave.py | 38 + .../FAKEHDFS/quicklinks/quicklinks.json | 76 + .../1.0/services/FAKEHDFS/themes/theme.json | 179 + .../PERF/1.0/services/FAKEHDFS/widgets.json | 649 ++ .../1.0/services/FAKEYARN/YARN_metrics.json | 3486 +++++++ .../1.0/services/FAKEYARN/YARN_widgets.json | 611 ++ .../PERF/1.0/services/FAKEYARN/alerts.json | 77 + .../configuration-mapred/mapred-env.xml | 50 + .../configuration-mapred/mapred-site.xml | 134 + .../configuration/capacity-scheduler.xml | 69 + .../configuration/ranger-yarn-audit.xml | 121 + .../ranger-yarn-plugin-properties.xml | 82 + .../configuration/ranger-yarn-policymgr-ssl.xml | 66 + .../configuration/ranger-yarn-security.xml | 58 + .../configuration/yarn-alert-config.xml | 80 + .../FAKEYARN/configuration/yarn-env.xml | 201 + .../FAKEYARN/configuration/yarn-log4j.xml | 103 + .../FAKEYARN/configuration/yarn-site.xml | 780 ++ .../PERF/1.0/services/FAKEYARN/kerberos.json | 278 + .../PERF/1.0/services/FAKEYARN/metainfo.xml | 357 + .../package/alerts/alert_history_process.py | 59 + .../package/alerts/alert_nodemanager_health.py | 59 + .../alerts/alert_resourcemanager_process.py | 59 + .../package/alerts/alert_timeline_process.py | 59 + .../scripts/application_timeline_server.py | 42 + .../FAKEYARN/package/scripts/historyserver.py | 42 + .../package/scripts/mapred_service_check.py | 30 + .../package/scripts/mapreduce2_client.py | 38 + .../FAKEYARN/package/scripts/nodemanager.py | 42 + .../FAKEYARN/package/scripts/resourcemanager.py | 48 + .../FAKEYARN/package/scripts/service_check.py | 30 + .../FAKEYARN/package/scripts/yarn_client.py | 38 + .../FAKEYARN/quicklinks-mapred/quicklinks.json | 76 + .../FAKEYARN/quicklinks/quicklinks.json | 76 + .../services/FAKEYARN/themes-mapred/theme.json | 132 + .../1.0/services/FAKEYARN/themes/theme.json | 250 + .../PERF/1.0/services/FAKEZOOKEEPER/alerts.json | 20 + .../configuration/zk-alert-config.xml | 80 + .../1.0/services/FAKEZOOKEEPER/kerberos.json | 39 + .../1.0/services/FAKEZOOKEEPER/metainfo.xml | 69 + .../package/alerts/alert_zk_server_process.py | 59 + .../package/scripts/service_check.py | 30 + .../package/scripts/zookeeper_client.py | 38 + .../package/scripts/zookeeper_server.py | 42 + .../PERF/1.0/services/GRUMPY/kerberos.json | 4 +- .../PERF/1.0/services/GRUMPY/metainfo.xml | 1 + .../PERF/1.0/services/HAPPY/kerberos.json | 4 +- .../stacks/PERF/1.0/services/HAPPY/metainfo.xml | 1 + .../stacks/PERF/1.0/services/HBASE/alerts.json | 35 - .../HBASE/configuration/hbase-alert-config.xml | 80 - .../services/HBASE/configuration/hbase-env.xml | 292 - .../HBASE/configuration/hbase-log4j.xml | 146 - .../configuration/hbase-logsearch-conf.xml | 111 - .../HBASE/configuration/hbase-policy.xml | 53 - .../services/HBASE/configuration/hbase-site.xml | 573 -- .../HBASE/configuration/ranger-hbase-audit.xml | 122 - .../ranger-hbase-policymgr-ssl.xml | 66 - .../configuration/ranger-hbase-security.xml | 68 - .../PERF/1.0/services/HBASE/kerberos.json | 159 - .../stacks/PERF/1.0/services/HBASE/metainfo.xml | 197 - .../stacks/PERF/1.0/services/HBASE/metrics.json | 9374 ------------------ .../package/alerts/hbase_master_process.py | 59 - .../alerts/hbase_regionserver_process.py | 59 - .../HBASE/package/scripts/hbase_client.py | 38 - .../HBASE/package/scripts/hbase_master.py | 45 - .../HBASE/package/scripts/hbase_regionserver.py | 45 - .../package/scripts/phoenix_queryserver.py | 42 - .../HBASE/package/scripts/service_check.py | 30 - .../services/HBASE/quicklinks/quicklinks.json | 97 - .../PERF/1.0/services/HBASE/themes/theme.json | 411 - .../stacks/PERF/1.0/services/HBASE/widgets.json | 510 - .../stacks/PERF/1.0/services/HDFS/alerts.json | 120 - .../services/HDFS/configuration/core-site.xml | 225 - .../services/HDFS/configuration/hadoop-env.xml | 419 - .../hadoop-metrics2.properties.xml | 125 - .../HDFS/configuration/hadoop-policy.xml | 130 - .../HDFS/configuration/hdfs-alert-config.xml | 80 - .../services/HDFS/configuration/hdfs-log4j.xml | 225 - .../HDFS/configuration/hdfs-logsearch-conf.xml | 248 - .../services/HDFS/configuration/hdfs-site.xml | 633 -- .../HDFS/configuration/ranger-hdfs-audit.xml | 124 - .../ranger-hdfs-plugin-properties.xml | 88 - .../configuration/ranger-hdfs-policymgr-ssl.xml | 67 - .../HDFS/configuration/ranger-hdfs-security.xml | 65 - .../services/HDFS/configuration/ssl-client.xml | 70 - .../services/HDFS/configuration/ssl-server.xml | 80 - .../stacks/PERF/1.0/services/HDFS/kerberos.json | 246 - .../stacks/PERF/1.0/services/HDFS/metainfo.xml | 266 - .../stacks/PERF/1.0/services/HDFS/metrics.json | 7905 --------------- .../package/alerts/alert_checkpoint_time.py | 59 - .../alerts/alert_datanode_unmounted_data_dir.py | 59 - .../package/alerts/alert_nfs_gateway_process.py | 59 - .../package/alerts/alert_snamenode_process.py | 59 - .../package/alerts/alert_upgrade_finalized.py | 59 - .../services/HDFS/package/scripts/datanode.py | 42 - .../HDFS/package/scripts/hdfs_client.py | 38 - .../HDFS/package/scripts/journalnode.py | 42 - .../services/HDFS/package/scripts/namenode.py | 58 - .../services/HDFS/package/scripts/nfsgateway.py | 42 - .../HDFS/package/scripts/service_check.py | 30 - .../services/HDFS/package/scripts/snamenode.py | 42 - .../services/HDFS/package/scripts/zkfc_slave.py | 38 - .../services/HDFS/quicklinks/quicklinks.json | 76 - .../PERF/1.0/services/HDFS/themes/theme.json | 179 - .../stacks/PERF/1.0/services/HDFS/widgets.json | 649 -- .../PERF/1.0/services/SLEEPY/kerberos.json | 4 +- .../PERF/1.0/services/SLEEPY/metainfo.xml | 1 + .../stacks/PERF/1.0/services/SNOW/kerberos.json | 4 +- .../stacks/PERF/1.0/services/SNOW/metainfo.xml | 1 + .../PERF/1.0/services/YARN/YARN_metrics.json | 3486 ------- .../PERF/1.0/services/YARN/YARN_widgets.json | 611 -- .../stacks/PERF/1.0/services/YARN/alerts.json | 77 - .../YARN/configuration-mapred/mapred-env.xml | 50 - .../YARN/configuration-mapred/mapred-site.xml | 134 - .../YARN/configuration/capacity-scheduler.xml | 69 - .../YARN/configuration/ranger-yarn-audit.xml | 121 - .../ranger-yarn-plugin-properties.xml | 82 - .../configuration/ranger-yarn-policymgr-ssl.xml | 66 - .../YARN/configuration/ranger-yarn-security.xml | 58 - .../YARN/configuration/yarn-alert-config.xml | 80 - .../services/YARN/configuration/yarn-env.xml | 201 - .../services/YARN/configuration/yarn-log4j.xml | 103 - .../services/YARN/configuration/yarn-site.xml | 796 -- .../stacks/PERF/1.0/services/YARN/kerberos.json | 278 - .../stacks/PERF/1.0/services/YARN/metainfo.xml | 355 - .../package/alerts/alert_history_process.py | 59 - .../package/alerts/alert_nodemanager_health.py | 59 - .../alerts/alert_resourcemanager_process.py | 59 - .../package/alerts/alert_timeline_process.py | 59 - .../scripts/application_timeline_server.py | 42 - .../YARN/package/scripts/historyserver.py | 42 - .../package/scripts/mapred_service_check.py | 30 - .../YARN/package/scripts/mapreduce2_client.py | 38 - .../YARN/package/scripts/nodemanager.py | 42 - .../YARN/package/scripts/resourcemanager.py | 48 - .../YARN/package/scripts/service_check.py | 30 - .../YARN/package/scripts/yarn_client.py | 38 - .../YARN/quicklinks-mapred/quicklinks.json | 76 - .../services/YARN/quicklinks/quicklinks.json | 76 - .../1.0/services/YARN/themes-mapred/theme.json | 132 - .../PERF/1.0/services/YARN/themes/theme.json | 250 - .../PERF/1.0/services/ZOOKEEPER/alerts.json | 20 - .../ZOOKEEPER/configuration/zk-alert-config.xml | 80 - .../PERF/1.0/services/ZOOKEEPER/kerberos.json | 39 - .../PERF/1.0/services/ZOOKEEPER/metainfo.xml | 54 - .../package/alerts/alert_zk_server_process.py | 59 - .../ZOOKEEPER/package/scripts/service_check.py | 30 - .../package/scripts/zookeeper_client.py | 38 - .../package/scripts/zookeeper_server.py | 42 - .../stacks/PERF/1.0/upgrades/config-upgrade.xml | 34 + .../1.0/upgrades/nonrolling-upgrade-2.0.xml | 443 + .../stacks/PERF/1.0/upgrades/upgrade-2.0.xml | 331 + .../main/resources/stacks/PERF/2.0/metainfo.xml | 23 + .../stacks/PERF/2.0/repos/repoinfo.xml | 33 + .../resources/stacks/PERF/PythonExecutor.sed | 19 + .../resources/stacks/PERF/install_packages.sed | 25 + .../src/main/resources/stacks/stack_advisor.py | 29 + .../ambari/server/agent/AgentResourceTest.java | 4 + .../server/configuration/ConfigurationTest.java | 12 - .../AmbariCustomCommandExecutionHelperTest.java | 46 + .../server/controller/KerberosHelperTest.java | 112 +- .../ActiveWidgetLayoutResourceProviderTest.java | 17 +- .../internal/ProvisionClusterRequestTest.java | 66 + .../QuickLinkArtifactResourceProviderTest.java | 1 - .../StackAdvisorResourceProviderTest.java | 32 + .../UserAuthorizationResourceProviderTest.java | 9 +- .../internal/UserResourceProviderTest.java | 19 +- .../LogSearchDataRetrievalServiceTest.java | 27 +- .../server/security/AmbariLdapUtilsTest.java | 118 +- .../AmbariAuthorizationFilterTest.java | 10 + .../AmbariLdapBindAuthenticatorTest.java | 23 +- .../ldap/AmbariLdapDataPopulatorTest.java | 9 +- .../CsvFilePersisterServiceFunctionalTest.java | 91 + .../ambari/server/state/ConfigHelperTest.java | 98 +- .../ambari/server/state/UpgradeHelperTest.java | 167 +- .../cluster/ClusterEffectiveVersionTest.java | 2 + .../KerberosDescriptorUpdateHelperTest.java | 22 +- .../QuickLinksProfileBuilderTest.java | 243 + .../QuickLinksProfileParserTest.java | 11 +- .../stack/upgrade/StageWrapperBuilderTest.java | 46 +- .../server/topology/TopologyManagerTest.java | 88 +- .../server/upgrade/UpgradeCatalog250Test.java | 6 +- ambari-server/src/test/python/TestBootstrap.py | 4 +- .../stacks/2.0.6/FLUME/test_service_check.py | 1 + .../stacks/2.0.6/HIVE/test_hcat_client.py | 4 +- .../stacks/2.0.6/HIVE/test_hive_metastore.py | 9 +- .../stacks/2.0.6/common/test_stack_advisor.py | 121 +- .../stacks/2.1/HIVE/test_hive_metastore.py | 14 +- .../stacks/2.3/ATLAS/test_metadata_server.py | 46 +- .../stacks/2.4/LOGSEARCH/test_logfeeder.py | 3 + .../stacks/2.4/LOGSEARCH/test_logsearch.py | 33 - .../stacks/2.5/ATLAS/test_atlas_server.py | 19 +- .../stacks/2.5/RANGER/test_ranger_admin.py | 4 +- .../stacks/2.5/ZEPPELIN/test_zeppelin_master.py | 129 +- .../stacks/2.5/common/test_stack_advisor.py | 4 +- .../python/stacks/2.5/configs/hsi_default.json | 3 +- .../test/python/stacks/2.5/configs/hsi_ha.json | 3 +- .../2.5/configs/ranger-admin-default.json | 2 +- .../2.5/configs/ranger-admin-secured.json | 2 +- .../stacks/2.6/RANGER/test_ranger_admin.py | 4 +- .../2.6/configs/ranger-admin-default.json | 2 +- .../2.6/configs/ranger-admin-secured.json | 2 +- .../inconsistent_quicklinks_profile_3.json | 9 + .../test_kerberos_descriptor_2_1_3.json | 14 +- .../test_kerberos_descriptor_no_hdfs.json | 4 +- .../test_kerberos_descriptor_simple.json | 4 +- .../HDP/2.0.8/services/HDFS/kerberos.json | 2 +- ambari-web/app/controllers/installer.js | 12 +- .../rangerAdmin/step4_controller.js | 82 +- .../main/admin/stack_and_upgrade_controller.js | 21 +- ambari-web/app/controllers/main/host/details.js | 202 +- ambari-web/app/controllers/main/service/item.js | 60 +- .../main/service/reassign/step4_controller.js | 29 +- .../app/controllers/wizard/step7_controller.js | 22 +- ambari-web/app/messages.js | 2 +- .../host/details/addDeleteComponentPopup.hbs | 34 +- .../templates/main/service/add_host_popup.hbs | 33 - .../info/delete_service_warning_popup.hbs | 4 +- ambari-web/app/utils/date/date.js | 29 +- .../configs/config_category_container_view.js | 2 + .../configs/service_configs_by_category_view.js | 4 +- .../views/common/modal_popups/alert_popup.js | 12 +- .../app/views/common/quick_view_link_view.js | 5 +- .../admin/stack_upgrade/upgrade_history_view.js | 4 +- .../manage_alert_groups_controller_test.js | 6 +- .../test/controllers/main/host/details_test.js | 144 +- .../service/reassign/step4_controller_test.js | 78 +- .../test/controllers/wizard/step7_test.js | 18 + ambari-web/test/utils/config_test.js | 2 +- ambari-web/test/utils/date/date_test.js | 17 + ambari-web/test/utils/object_utils_test.js | 2 +- .../stack_upgrade/upgrade_history_view_test.js | 69 + .../main/resources/stacks/HDF/2.0/kerberos.json | 7 +- .../HDF/2.0/properties/stack_features.json | 5 + contrib/utils/perf/deploy-gce-perf-cluster.py | 4 + .../src/main/resources/ui/app/adapters/query.js | 6 + .../resources/ui/app/components/query-editor.js | 8 + .../ui/app/components/query-result-log.js | 28 + .../main/resources/ui/app/models/worksheet.js | 5 +- .../resources/ui/app/routes/queries/query.js | 150 +- .../src/main/resources/ui/app/services/jobs.js | 17 +- .../src/main/resources/ui/app/services/query.js | 14 +- .../src/main/resources/ui/app/styles/app.scss | 9 + .../templates/components/query-result-log.hbs | 23 + .../ui/app/templates/queries/query.hbs | 72 +- .../hive20/src/main/resources/ui/bower.json | 1 + .../hive20/src/main/resources/ui/package.json | 1 + ...HiveHistoryQueryMigrationImplementation.java | 24 +- .../HiveSavedQueryMigrationImplementation.java | 24 +- .../pigjob/PigJobMigrationImplementation.java | 23 +- .../PigScriptMigrationImplementation.java | 24 +- .../pigudf/PigUdfMigrationImplementation.java | 24 +- .../app/routes/check-configuration.js | 12 +- .../view/utils/hdfs/ConfigurationBuilder.java | 4 +- contrib/views/wfmanager/pom.xml | 1 + .../org/apache/oozie/ambari/view/Constants.java | 16 +- .../apache/oozie/ambari/view/HDFSFileUtils.java | 19 + .../ambari/view/OozieProxyImpersonator.java | 40 +- .../oozie/ambari/view/WorkflowFilesService.java | 70 +- .../oozie/ambari/view/assets/AssetRepo.java | 10 + .../oozie/ambari/view/assets/AssetResource.java | 7 + .../oozie/ambari/view/assets/AssetService.java | 4 + .../workflowmanager/WorkflowManagerService.java | 46 +- .../view/workflowmanager/WorkflowsRepo.java | 19 +- .../resources/ui/app/components/asset-config.js | 18 +- .../resources/ui/app/components/asset-list.js | 20 +- .../ui/app/components/asset-manager.js | 51 +- .../resources/ui/app/components/coord-config.js | 4 + .../ui/app/components/date-with-expr.js | 1 + .../ui/app/components/designer-workspace.js | 23 +- .../ui/app/components/flow-designer.js | 70 +- .../ui/app/components/version-settings.js | 3 +- .../ui/app/components/workflow-action-editor.js | 77 +- .../ui/app/components/workflow-actions.js | 5 + .../ui/app/domain/action-type-resolver.js | 10 +- .../ui/app/domain/actionjob_hanlder.js | 23 +- .../resources/ui/app/domain/mapping-utils.js | 13 +- .../resources/ui/app/domain/node-handler.js | 10 +- .../main/resources/ui/app/domain/workflow.js | 3 +- .../ui/app/routes/design/dashboardtab.js | 2 +- .../resources/ui/app/services/asset-manager.js | 19 + .../src/main/resources/ui/app/styles/app.less | 8 + .../app/templates/components/asset-config.hbs | 8 + .../ui/app/templates/components/asset-list.hbs | 12 +- .../app/templates/components/asset-manager.hbs | 26 +- .../app/templates/components/coord-config.hbs | 2 +- .../templates/components/designer-workspace.hbs | 2 +- .../app/templates/components/flow-designer.hbs | 29 +- .../ui/app/templates/components/sla-info.hbs | 12 + .../components/workflow-action-editor.hbs | 16 + .../templates/components/workflow-actions.hbs | 3 + .../main/resources/ui/app/utils/common-utils.js | 4 + .../main/resources/ui/app/utils/constants.js | 31 +- .../views/wfmanager/src/main/resources/view.xml | 6 +- docs/pom.xml | 7 +- 689 files changed, 48220 insertions(+), 36781 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/551f17b4/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java index 9ebb6e8,9ecb774..96726e4 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java @@@ -223,36 -219,6 +221,10 @@@ public class UpgradeResourceProvider ex Arrays.asList(UPGRADE_REQUEST_ID, UPGRADE_CLUSTER_NAME)); private static final Set<String> PROPERTY_IDS = new HashSet<>(); - public static final String COMMAND_PARAM_VERSION = VERSION; - public static final String COMMAND_PARAM_CLUSTER_NAME = "clusterName"; - public static final String COMMAND_PARAM_DIRECTION = "upgrade_direction"; - private static final String COMMAND_PARAM_UPGRADE_PACK = "upgrade_pack"; - public static final String COMMAND_PARAM_REQUEST_ID = "request_id"; - - private static final String COMMAND_PARAM_UPGRADE_TYPE = "upgrade_type"; - private static final String COMMAND_PARAM_TASKS = "tasks"; - private static final String COMMAND_PARAM_STRUCT_OUT = "structured_out"; - private static final String COMMAND_DOWNGRADE_FROM_VERSION = "downgrade_from_version"; - - - /** - * The original "current" stack of the cluster before the upgrade started. - * This is the same regardless of whether the current direction is - * {@link Direction#UPGRADE} or {@link Direction#DOWNGRADE}. - */ - public static final String COMMAND_PARAM_ORIGINAL_STACK = "original_stack"; - - /** - * The target upgrade stack before the upgrade started. This is the same - * regardless of whether the current direction is {@link Direction#UPGRADE} or - * {@link Direction#DOWNGRADE}. - */ - public static final String COMMAND_PARAM_TARGET_STACK = "target_stack"; - + /** + * The list of supported services put on a command. + */ + public static final String COMMAND_PARAM_SUPPORTED_SERVICES = "supported_services"; private static final String DEFAULT_REASON_TEMPLATE = "Aborting upgrade %s"; @@@ -748,45 -717,7 +723,37 @@@ Set<String> supportedServices = new HashSet<>(); UpgradeScope scope = UpgradeScope.COMPLETE; + switch (direction) { + case UPGRADE: - sourceStackId = cluster.getCurrentStackVersion(); ++ StackId sourceStackId = cluster.getCurrentStackVersion(); + + RepositoryVersionEntity targetRepositoryVersion = s_repoVersionDAO.findByStackNameAndVersion( + sourceStackId.getStackName(), version); + + // !!! Consult the version definition and add the service names to supportedServices + if (targetRepositoryVersion.getType() != RepositoryType.STANDARD) { + try { + VersionDefinitionXml vdf = targetRepositoryVersion.getRepositoryXml(); + supportedServices.addAll(vdf.getAvailableServiceNames()); + + // !!! better not be, but just in case + if (!supportedServices.isEmpty()) { + scope = UpgradeScope.PARTIAL; + } + + } catch (Exception e) { + String msg = String.format("Could not parse version definition for %s. Upgrade will not proceed.", version); + LOG.error(msg, e); + throw new AmbariException(msg); + } + } + - targetStackId = targetRepositoryVersion.getStackId(); + break; + case DOWNGRADE: - sourceStackId = cluster.getCurrentStackVersion(); - targetStackId = cluster.getDesiredStackVersion(); + break; + } + upgradeContext.setResolver(resolver); - upgradeContext.setSourceAndTargetStacks(sourceStackId, targetStackId); - upgradeContext.setVersion(version); upgradeContext.setSupportedServices(supportedServices); upgradeContext.setScope(scope); @@@ -1596,15 -1505,8 +1544,9 @@@ Cluster cluster = context.getCluster(); - Map<String, String> commandParams = getNewParameterMap(request); - commandParams.put(COMMAND_PARAM_CLUSTER_NAME, cluster.getClusterName()); - commandParams.put(COMMAND_PARAM_VERSION, context.getVersion()); - commandParams.put(COMMAND_PARAM_DIRECTION, context.getDirection().name().toLowerCase()); - commandParams.put(COMMAND_PARAM_ORIGINAL_STACK, context.getOriginalStackId().getStackId()); - commandParams.put(COMMAND_PARAM_TARGET_STACK, context.getTargetStackId().getStackId()); - commandParams.put(COMMAND_DOWNGRADE_FROM_VERSION, context.getDowngradeFromVersion()); - commandParams.put(COMMAND_PARAM_UPGRADE_PACK, upgradePack.getName()); + Map<String, String> commandParams = getNewParameterMap(request, context); + commandParams.put(UpgradeContext.COMMAND_PARAM_UPGRADE_PACK, upgradePack.getName()); + commandParams.put(COMMAND_PARAM_SUPPORTED_SERVICES, StringUtils.join(context.getSupportedServices(), ',')); // Notice that this does not apply any params because the input does not specify a stage. // All of the other actions do use additional params. http://git-wip-us.apache.org/repos/asf/ambari/blob/551f17b4/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java index a0b3980,0000000..5d73fac mode 100644,000000..100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AbstractUpgradeServerAction.java @@@ -1,73 -1,0 +1,74 @@@ +/** + * 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. + */ +package org.apache.ambari.server.serveraction.upgrades; + +import java.util.Collections; +import java.util.Set; + +import org.apache.ambari.server.controller.internal.UpgradeResourceProvider; +import org.apache.ambari.server.serveraction.AbstractServerAction; +import org.apache.ambari.server.state.Clusters; ++import org.apache.ambari.server.state.UpgradeContext; +import org.apache.ambari.server.state.stack.upgrade.Direction; +import org.apache.commons.lang.StringUtils; +import org.apache.hadoop.metrics2.sink.relocated.google.common.collect.Sets; + +import com.google.inject.Inject;; + +/** + * Abstract class that reads values from command params in a consistent way. + */ +public abstract class AbstractUpgradeServerAction extends AbstractServerAction { + - public static final String CLUSTER_NAME_KEY = UpgradeResourceProvider.COMMAND_PARAM_CLUSTER_NAME; - public static final String UPGRADE_DIRECTION_KEY = UpgradeResourceProvider.COMMAND_PARAM_DIRECTION; - public static final String VERSION_KEY = UpgradeResourceProvider.COMMAND_PARAM_VERSION; - protected static final String REQUEST_ID = UpgradeResourceProvider.COMMAND_PARAM_REQUEST_ID; ++ public static final String CLUSTER_NAME_KEY = UpgradeContext.COMMAND_PARAM_CLUSTER_NAME; ++ public static final String UPGRADE_DIRECTION_KEY = UpgradeContext.COMMAND_PARAM_DIRECTION; ++ public static final String VERSION_KEY = UpgradeContext.COMMAND_PARAM_VERSION; ++ protected static final String REQUEST_ID = UpgradeContext.COMMAND_PARAM_REQUEST_ID; + + /** + * The original "current" stack of the cluster before the upgrade started. + * This is the same regardless of whether the current direction is + * {@link Direction#UPGRADE} or {@link Direction#DOWNGRADE}. + */ - protected static final String ORIGINAL_STACK_KEY = UpgradeResourceProvider.COMMAND_PARAM_ORIGINAL_STACK; ++ protected static final String ORIGINAL_STACK_KEY = UpgradeContext.COMMAND_PARAM_ORIGINAL_STACK; + + /** + * The target upgrade stack before the upgrade started. This is the same + * regardless of whether the current direction is {@link Direction#UPGRADE} or + * {@link Direction#DOWNGRADE}. + */ - protected static final String TARGET_STACK_KEY = UpgradeResourceProvider.COMMAND_PARAM_TARGET_STACK; ++ protected static final String TARGET_STACK_KEY = UpgradeContext.COMMAND_PARAM_TARGET_STACK; + + protected static final String SUPPORTED_SERVICES_KEY = UpgradeResourceProvider.COMMAND_PARAM_SUPPORTED_SERVICES; + + @Inject + protected Clusters m_clusters; + + /** + * @return the set of supported services + */ + protected Set<String> getSupportedServices() { + String services = getCommandParameterValue(SUPPORTED_SERVICES_KEY); + if (StringUtils.isBlank(services)) { + return Collections.emptySet(); + } else { + return Sets.newHashSet(StringUtils.split(services, ',')); + } + } + +} http://git-wip-us.apache.org/repos/asf/ambari/blob/551f17b4/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/551f17b4/ambari-server/src/main/resources/properties.json ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/551f17b4/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java ----------------------------------------------------------------------
