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/10cea2c7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/10cea2c7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/10cea2c7 Branch: refs/heads/trunk Commit: 10cea2c7960beb8b7e92e288c5594eea7d4485bc Parents: 8985231 2c9f062 Author: Nate Cole <nc...@hortonworks.com> Authored: Fri Nov 4 12:50:38 2016 -0400 Committer: Nate Cole <nc...@hortonworks.com> Committed: Fri Nov 4 12:54:18 2016 -0400 ---------------------------------------------------------------------- .../controllers/ambariViews/ViewsEditCtrl.js | 16 +- .../ui/admin-web/app/scripts/i18n.config.js | 10 +- .../app/scripts/services/PermissionLoader.js | 11 +- .../app/scripts/services/PermissionsSaver.js | 8 +- .../ui/admin-web/app/scripts/services/View.js | 12 +- .../admin-web/app/views/ambariViews/edit.html | 4 +- .../test/unit/services/PermissionSaver_test.js | 16 +- ambari-agent/conf/unix/ambari-agent | 12 +- ambari-agent/conf/windows/service_wrapper.py | 1 + .../main/python/ambari_agent/AmbariConfig.py | 44 +- .../src/main/python/ambari_agent/Facter.py | 21 +- .../src/main/python/ambari_agent/Hardware.py | 8 +- .../src/main/python/ambari_agent/Heartbeat.py | 5 +- .../python/ambari_agent/HeartbeatHandlers.py | 13 +- .../src/main/python/ambari_agent/Register.py | 2 +- .../python/ambari_agent/RemoteDebugUtils.py | 21 +- .../src/main/python/ambari_agent/main.py | 28 +- .../test/python/ambari_agent/TestCheckWebUI.py | 2 + .../test/python/ambari_agent/TestHardware.py | 30 +- .../src/test/python/ambari_agent/TestMain.py | 4 +- .../libraries/functions/constants.py | 1 + .../libraries/functions/copy_tarball.py | 2 +- .../libraries/script/dummy.py | 106 ++ .../services/HDFS/configuration/hadoop-env.xml | 2 +- ambari-metrics/ambari-metrics-assembly/pom.xml | 1 + .../timeline/HadoopTimelineMetricsSink.java | 7 +- .../conf/unix/metric_monitor.ini | 2 + .../src/main/python/core/config_reader.py | 10 +- .../src/main/python/core/emitter.py | 57 +- .../src/main/python/core/host_info.py | 12 +- .../src/main/python/core/krberr.py | 42 + .../main/python/core/spnego_kerberos_auth.py | 163 ++ .../src/test/python/core/TestEmitter.py | 26 + .../aggregators/AbstractTimelineAggregator.java | 130 +- .../timeline/aggregators/CustomDownSampler.java | 44 + .../timeline/aggregators/DownSamplerUtils.java | 118 ++ .../timeline/aggregators/TopNDownSampler.java | 112 ++ .../v2/TimelineMetricClusterAggregator.java | 2 +- .../v2/TimelineMetricHostAggregator.java | 3 +- .../timeline/query/PhoenixTransactSQL.java | 27 +- .../metrics/timeline/query/TopNCondition.java | 25 +- .../timeline/aggregators/DownSamplerTest.java | 95 ++ ambari-server/docs/api/v1/configuration.md | 28 +- ambari-server/docs/api/v1/create-cluster.md | 2 +- .../docs/api/v1/host-component-resources.md | 2 +- ambari-server/docs/api/v1/index.md | 6 +- ambari-server/docs/api/v1/schemas.md | 2 +- ambari-server/docs/api/v1/update-service.md | 4 +- ambari-server/docs/api/v1/update-services.md | 2 +- ambari-server/docs/configuration/index.md | 41 +- .../server/actionmanager/ActionScheduler.java | 117 +- .../actionmanager/CommandExecutionType.java | 35 + .../ambari/server/actionmanager/Stage.java | 34 +- .../ambari/server/api/GsonJsonProvider.java | 12 +- ...ClusterPrivilegeChangeRequestAuditEvent.java | 21 +- .../ViewPrivilegeChangeRequestAuditEvent.java | 18 +- .../eventcreator/PrivilegeEventCreator.java | 4 +- .../eventcreator/ViewPrivilegeEventCreator.java | 4 +- .../ambari/server/checks/CheckDescription.java | 4 +- .../checks/DatabaseConsistencyCheckHelper.java | 56 +- .../checks/DatabaseConsistencyChecker.java | 23 +- .../server/checks/MpackInstallChecker.java | 240 +++ .../server/configuration/Configuration.java | 60 + .../AmbariCustomCommandExecutionHelper.java | 106 +- .../controller/AmbariManagementController.java | 11 + .../AmbariManagementControllerImpl.java | 62 +- .../ambari/server/controller/AmbariServer.java | 53 +- .../server/controller/ControllerModule.java | 20 +- .../server/controller/ServiceRequest.java | 32 +- .../server/controller/ServiceResponse.java | 47 +- .../server/controller/StackServiceRequest.java | 46 +- .../server/controller/StackServiceResponse.java | 51 + .../internal/AlertTargetResourceProvider.java | 7 +- .../AmbariPrivilegeResourceProvider.java | 9 +- .../BlueprintConfigurationProcessor.java | 46 +- .../ClusterPrivilegeResourceProvider.java | 3 +- .../GroupPrivilegeResourceProvider.java | 18 +- .../internal/LdapSyncEventResourceProvider.java | 4 + .../internal/PrivilegeResourceProvider.java | 114 +- .../internal/ServiceResourceProvider.java | 78 +- .../internal/StackServiceResourceProvider.java | 16 +- .../internal/UpgradeResourceProvider.java | 564 +++++-- .../internal/UserPrivilegeResourceProvider.java | 165 +- .../internal/ViewPrivilegeResourceProvider.java | 8 +- .../ambari/server/events/AmbariEvent.java | 5 + .../server/events/StackUpgradeFinishEvent.java | 41 + .../upgrade/StackUpgradeFinishListener.java | 83 + .../listeners/upgrade/StackVersionListener.java | 53 +- .../publishers/VersionEventPublisher.java | 9 +- .../ambari/server/logging/LockFactory.java | 128 ++ .../server/logging/LockProfileDelegate.java | 186 +++ .../ambari/server/logging/ProfiledLock.java | 50 + .../server/logging/ProfiledReentrantLock.java | 115 ++ .../logging/ProfiledReentrantReadWriteLock.java | 208 +++ .../CachedRoleCommandOrderProvider.java | 112 ++ .../server/metadata/RoleCommandOrder.java | 123 +- .../metadata/RoleCommandOrderProvider.java | 30 + .../ambari/server/metadata/RoleCommandPair.java | 68 + .../ambari/server/orm/dao/AlertDispatchDAO.java | 56 +- .../server/orm/dao/HostRoleCommandDAO.java | 20 + .../ambari/server/orm/dao/PermissionDAO.java | 35 +- .../ambari/server/orm/dao/PrincipalDAO.java | 13 +- .../ambari/server/orm/dao/PrincipalTypeDAO.java | 29 +- .../server/orm/entities/AlertGroupEntity.java | 54 +- .../server/orm/entities/AlertNoticeEntity.java | 18 +- .../server/orm/entities/AlertTargetEntity.java | 30 +- .../orm/entities/LdapSyncEventEntity.java | 9 + .../server/orm/entities/PermissionEntity.java | 6 + .../orm/entities/PrincipalTypeEntity.java | 17 +- .../orm/entities/RepositoryVersionEntity.java | 39 +- .../orm/entities/ServiceDesiredStateEntity.java | 42 + .../ambari/server/orm/entities/StageEntity.java | 17 + .../authorization/AuthorizationHelper.java | 56 +- .../ClusterInheritedPermissionHelper.java | 213 --- .../server/security/authorization/Users.java | 145 +- .../security/ldap/AmbariLdapDataPopulator.java | 25 +- .../server/security/ldap/LdapBatchDto.java | 5 + .../upgrades/FinalizeUpgradeAction.java | 8 + .../ambari/server/stack/ServiceModule.java | 15 +- .../ambari/server/stageplanner/RoleGraph.java | 65 +- .../server/stageplanner/RoleGraphFactory.java | 4 +- .../stageplanner/RoleGraphFactoryImpl.java | 54 - .../server/state/CredentialStoreInfo.java | 96 ++ .../ambari/server/state/SecurityType.java | 7 + .../org/apache/ambari/server/state/Service.java | 31 + .../ambari/server/state/ServiceComponent.java | 6 + .../server/state/ServiceComponentImpl.java | 41 +- .../apache/ambari/server/state/ServiceImpl.java | 98 +- .../apache/ambari/server/state/ServiceInfo.java | 85 +- .../org/apache/ambari/server/state/StackId.java | 4 - .../ambari/server/state/UpgradeContext.java | 129 +- .../ambari/server/state/UpgradeHelper.java | 11 +- .../server/state/cluster/ClusterImpl.java | 14 +- .../server/state/cluster/ClustersImpl.java | 1 - .../state/stack/upgrade/ClusterGrouping.java | 40 +- .../server/state/stack/upgrade/Condition.java | 47 + .../upgrade/ConfigUpgradeChangeDefinition.java | 75 +- .../stack/upgrade/ConfigurationCondition.java | 116 ++ .../state/stack/upgrade/ConfigureTask.java | 51 +- .../server/state/stack/upgrade/Grouping.java | 21 +- .../state/stack/upgrade/HostOrderGrouping.java | 248 +++ .../state/stack/upgrade/HostOrderItem.java | 101 ++ .../state/stack/upgrade/SecurityCondition.java | 64 + .../stack/upgrade/StageWrapperBuilder.java | 5 +- .../server/state/stack/upgrade/UpgradeType.java | 9 +- .../ambari/server/topology/AmbariContext.java | 3 +- .../ambari/server/topology/Blueprint.java | 9 + .../ambari/server/topology/BlueprintImpl.java | 49 + .../apache/ambari/server/topology/Setting.java | 21 + .../server/upgrade/AbstractUpgradeCatalog.java | 121 +- .../server/upgrade/SchemaUpgradeHelper.java | 1 + .../server/upgrade/UpgradeCatalog222.java | 2 +- .../server/upgrade/UpgradeCatalog240.java | 83 - .../server/upgrade/UpgradeCatalog2402.java | 207 +++ .../server/upgrade/UpgradeCatalog242.java | 146 +- .../server/upgrade/UpgradeCatalog250.java | 45 +- .../server/upgrade/UpgradeCatalog300.java | 2 - .../apache/ambari/server/view/ViewRegistry.java | 89 +- .../view/configuration/AutoInstanceConfig.java | 43 +- ambari-server/src/main/python/ambari-server.py | 1 + .../main/python/ambari_server/serverUpgrade.py | 2 +- .../main/python/ambari_server/setupMpacks.py | 106 +- .../main/python/ambari_server/setupSecurity.py | 4 +- .../src/main/python/ambari_server/utils.py | 28 +- .../src/main/python/ambari_server_main.py | 19 +- .../main/resources/Ambari-DDL-Derby-CREATE.sql | 23 +- .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 13 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 25 +- .../resources/Ambari-DDL-Postgres-CREATE.sql | 13 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 23 +- .../resources/Ambari-DDL-SQLServer-CREATE.sql | 13 +- .../AMBARI_INFRA/0.1.0/role_command_order.json | 7 + .../0.1.0/configuration/ams-site.xml | 27 + .../AMBARI_METRICS/0.1.0/kerberos.json | 26 + .../AMBARI_METRICS/0.1.0/package/scripts/ams.py | 13 +- .../0.1.0/package/scripts/params.py | 7 +- .../package/templates/metric_monitor.ini.j2 | 2 + .../ATLAS/0.1.0.2.3/role_command_order.json | 7 + .../ATLAS/0.7.0.2.5/role_command_order.json | 7 + .../DRUID/0.9.2/configuration/druid-broker.xml | 100 ++ .../DRUID/0.9.2/configuration/druid-common.xml | 206 +++ .../0.9.2/configuration/druid-coordinator.xml | 43 + .../DRUID/0.9.2/configuration/druid-env.xml | 241 +++ .../0.9.2/configuration/druid-historical.xml | 88 + .../DRUID/0.9.2/configuration/druid-log4j.xml | 84 + .../0.9.2/configuration/druid-logrotate.xml | 46 + .../0.9.2/configuration/druid-middlemanager.xml | 104 ++ .../0.9.2/configuration/druid-overlord.xml | 52 + .../DRUID/0.9.2/configuration/druid-router.xml | 59 + .../common-services/DRUID/0.9.2/metainfo.xml | 249 +++ .../DRUID/0.9.2/package/scripts/broker.py | 28 + .../DRUID/0.9.2/package/scripts/coordinator.py | 28 + .../DRUID/0.9.2/package/scripts/druid.py | 259 +++ .../DRUID/0.9.2/package/scripts/druid_node.py | 85 + .../DRUID/0.9.2/package/scripts/historical.py | 28 + .../0.9.2/package/scripts/middlemanager.py | 28 + .../DRUID/0.9.2/package/scripts/overlord.py | 28 + .../DRUID/0.9.2/package/scripts/params.py | 129 ++ .../DRUID/0.9.2/package/scripts/router.py | 28 + .../0.9.2/package/scripts/service_check.py | 44 + .../0.9.2/package/scripts/status_params.py | 24 + .../DRUID/0.9.2/quicklinks/quicklinks.json | 37 + .../DRUID/0.9.2/themes/theme.json | 120 ++ .../HDFS/2.1.0.2.0/configuration/hadoop-env.xml | 8 +- .../common-services/HDFS/2.1.0.2.0/metainfo.xml | 1 + .../2.1.0.2.0/package/scripts/hdfs_namenode.py | 2 +- .../package/scripts/namenode_upgrade.py | 2 +- .../2.1.0.2.0/package/scripts/params_linux.py | 1 + .../2.1.0.2.0/package/scripts/zkfc_slave.py | 20 + .../package/scripts/webhcat_service.py | 34 +- .../LOGSEARCH/0.5.0/metainfo.xml | 2 +- .../LOGSEARCH/0.5.0/role_command_order.json | 9 + .../PXF/3.0.0/configuration/pxf-profiles.xml | 14 + .../SLIDER/0.60.0.2.2/package/scripts/slider.py | 17 +- .../common-services/SPARK2/2.0.0/metainfo.xml | 1 + .../2.0.0/package/scripts/spark_service.py | 9 +- .../1.4.4.2.0/package/scripts/params_linux.py | 2 +- .../STORM/0.9.1/configuration/storm-site.xml | 2 +- .../0.6.0.2.5/package/scripts/master.py | 20 +- .../ZEPPELIN/0.6.0.2.5/role_command_order.json | 7 + .../src/main/resources/properties.json | 4 + .../main/resources/scripts/Ambaripreupload.py | 19 +- .../src/main/resources/scripts/configs.sh | 2 +- .../src/main/resources/scripts/stack_advisor.py | 11 +- .../services/HDFS/configuration/hadoop-env.xml | 2 +- .../GLUSTERFS/configuration/hadoop-env.xml | 2 +- .../HDP/2.0.6/configuration/cluster-env.xml | 10 + .../HDP/2.0.6/properties/stack_features.json | 5 + .../AMBARI_INFRA/role_command_order.json | 7 - .../stacks/HDP/2.0.6/services/stack_advisor.py | 50 +- .../GLUSTERFS/configuration/hadoop-env.xml | 2 +- .../services/STORM/configuration/storm-site.xml | 4 +- .../stacks/HDP/2.1/services/stack_advisor.py | 20 +- .../HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml | 963 ----------- .../main/resources/stacks/HDP/2.2/metainfo.xml | 2 +- .../services/HDFS/configuration/hadoop-env.xml | 4 +- .../services/LOGSEARCH/role_command_order.json | 9 - .../stacks/HDP/2.2/services/stack_advisor.py | 7 + .../stacks/HDP/2.2/upgrades/config-upgrade.xml | 1117 ------------- .../HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml | 887 ----------- .../HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml | 1285 --------------- .../HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml | 1391 ---------------- .../stacks/HDP/2.2/upgrades/upgrade-2.2.xml | 706 --------- .../stacks/HDP/2.2/upgrades/upgrade-2.3.xml | 4 +- .../stacks/HDP/2.2/upgrades/upgrade-2.4.xml | 4 +- .../GLUSTERFS/configuration/hadoop-env.xml | 2 +- .../stacks/HDP/2.3/role_command_order.json | 2 - .../stacks/HDP/2.3/services/stack_advisor.py | 6 +- .../stacks/HDP/2.3/upgrades/config-upgrade.xml | 42 +- .../HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml | 8 +- .../HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml | 9 +- .../HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml | 12 +- .../HDP/2.3/upgrades/nonrolling-upgrade-2.6.xml | 1332 ++++++++++++++++ .../stacks/HDP/2.3/upgrades/upgrade-2.3.xml | 4 +- .../stacks/HDP/2.3/upgrades/upgrade-2.4.xml | 4 +- .../stacks/HDP/2.3/upgrades/upgrade-2.5.xml | 8 +- .../stacks/HDP/2.3/upgrades/upgrade-2.6.xml | 1169 ++++++++++++++ .../stacks/HDP/2.4/upgrades/config-upgrade.xml | 44 +- .../HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml | 8 +- .../HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml | 12 +- .../HDP/2.4/upgrades/nonrolling-upgrade-2.6.xml | 1287 +++++++++++++++ .../stacks/HDP/2.4/upgrades/upgrade-2.4.xml | 4 +- .../stacks/HDP/2.4/upgrades/upgrade-2.5.xml | 7 +- .../stacks/HDP/2.4/upgrades/upgrade-2.6.xml | 1126 +++++++++++++ .../stacks/HDP/2.5/role_command_order.json | 5 +- .../stacks/HDP/2.5/services/HDFS/metainfo.xml | 6 + .../configuration/hive-interactive-site.xml | 4 + .../stacks/HDP/2.5/services/SPARK/metainfo.xml | 2 +- .../stacks/HDP/2.5/services/stack_advisor.py | 4 + .../stacks/HDP/2.5/upgrades/config-upgrade.xml | 18 +- .../HDP/2.5/upgrades/host-ordered-upgrade.xml | 589 +++++++ .../HDP/2.5/upgrades/nonrolling-upgrade-2.5.xml | 12 +- .../HDP/2.5/upgrades/nonrolling-upgrade-2.6.xml | 1169 ++++++++++++++ .../stacks/HDP/2.5/upgrades/upgrade-2.5.xml | 7 +- .../stacks/HDP/2.5/upgrades/upgrade-2.6.xml | 931 +++++++++++ .../stacks/HDP/2.6/role_command_order.json | 19 + .../stacks/HDP/2.6/services/DRUID/kerberos.json | 78 + .../stacks/HDP/2.6/services/DRUID/metainfo.xml | 27 + .../stacks/HDP/2.6/services/stack_advisor.py | 187 ++- .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml | 1147 ++++++++++++++ .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml | 931 +++++++++++ .../services/HDFS/configuration/hadoop-env.xml | 2 +- .../services/HDFS/configuration/hadoop-env.xml | 2 +- .../PERF/1.0/configuration/cluster-env.xml | 75 + .../1.0/hooks/after-INSTALL/scripts/hook.py | 28 + .../PERF/1.0/hooks/before-ANY/scripts/hook.py | 28 + .../1.0/hooks/before-INSTALL/scripts/hook.py | 28 + .../1.0/hooks/before-RESTART/scripts/hook.py | 28 + .../PERF/1.0/hooks/before-START/scripts/hook.py | 28 + .../main/resources/stacks/PERF/1.0/metainfo.xml | 22 + .../PERF/1.0/properties/stack_features.json | 14 + .../stacks/PERF/1.0/properties/stack_tools.json | 4 + .../stacks/PERF/1.0/repos/repoinfo.xml | 27 + .../stacks/PERF/1.0/role_command_order.json | 8 + .../services/HAPPY/configuration/happy-site.xml | 36 + .../stacks/PERF/1.0/services/HAPPY/metainfo.xml | 57 + .../1.0/services/HAPPY/package/scripts/dwarf.py | 38 + .../HAPPY/package/scripts/service_check.py | 30 + .../PERF/1.0/services/HAPPY/themes/theme.json | 65 + .../services/SNOW/configuration/snow-site.xml | 36 + .../stacks/PERF/1.0/services/SNOW/metainfo.xml | 57 + .../SNOW/package/scripts/service_check.py | 30 + .../services/SNOW/package/scripts/snow_white.py | 38 + .../PERF/1.0/services/SNOW/themes/theme.json | 65 + .../src/main/resources/stacks/stack_advisor.py | 200 ++- .../src/main/resources/upgrade-config.xsd | 163 ++ .../src/main/resources/upgrade-pack.xsd | 69 +- .../DatabaseConsistencyCheckHelperTest.java | 4 +- .../server/checks/MpackInstallCheckerTest.java | 124 ++ .../server/configuration/ConfigurationTest.java | 12 + .../AmbariCustomCommandExecutionHelperTest.java | 50 +- .../AmbariManagementControllerTest.java | 23 +- .../server/controller/AmbariServerTest.java | 129 +- .../server/controller/KerberosHelperTest.java | 40 +- .../AbstractPrivilegeResourceProviderTest.java | 38 + .../ActiveWidgetLayoutResourceProviderTest.java | 10 +- .../AlertTargetResourceProviderTest.java | 5 - .../AmbariPrivilegeResourceProviderTest.java | 21 +- .../BlueprintConfigurationProcessorTest.java | 103 +- .../ClusterPrivilegeResourceProviderTest.java | 8 - ...leRepositoryVersionResourceProviderTest.java | 4 + .../GroupPrivilegeResourceProviderTest.java | 67 +- .../RepositoryVersionResourceProviderTest.java | 14 + .../internal/ServiceResourceProviderTest.java | 45 +- .../StackUpgradeConfigurationMergeTest.java | 4 +- .../internal/UpgradeResourceProviderTest.java | 56 + .../UserAuthorizationResourceProviderTest.java | 34 +- .../UserPrivilegeResourceProviderTest.java | 115 +- .../internal/UserResourceProviderTest.java | 10 +- .../ViewPrivilegeResourceProviderTest.java | 5 +- .../internal/ViewURLResourceProviderTest.java | 65 +- .../upgrade/StackUpgradeFinishListenerTest.java | 108 ++ .../upgrade/StackVersionListenerTest.java | 47 +- .../ambari/server/logging/LockFactoryTest.java | 95 ++ .../ProfiledReentrantReadWriteLockTest.java | 157 ++ .../server/metadata/RoleCommandOrderTest.java | 69 +- .../ambari/server/metadata/RoleGraphTest.java | 18 +- .../orm/dao/RepositoryVersionDAOTest.java | 35 + .../authorization/AuthorizationHelperTest.java | 66 - .../ldap/AmbariLdapDataPopulatorTest.java | 58 + .../server/stack/StackManagerExtensionTest.java | 9 + .../server/stageplanner/TestStagePlanner.java | 107 +- .../ambari/server/state/ServiceInfoTest.java | 224 +++ .../ambari/server/state/UpgradeHelperTest.java | 388 ++++- .../alerts/AlertStateChangedEventTest.java | 11 +- .../cluster/ClusterEffectiveVersionTest.java | 3 +- .../AlertNoticeDispatchServiceTest.java | 13 +- .../state/stack/ConfigUpgradeValidityTest.java | 68 +- .../server/state/stack/UpgradePackTest.java | 16 + .../stack/upgrade/StageWrapperBuilderTest.java | 5 +- .../server/topology/AmbariContextTest.java | 1 + .../upgrade/AbstractUpgradeCatalogTest.java | 43 +- .../server/upgrade/UpgradeCatalog242Test.java | 238 ++- .../server/upgrade/UpgradeCatalog250Test.java | 117 +- .../view/ViewDataMigrationUtilityTest.java | 3 - .../configuration/AutoInstanceConfigTest.java | 17 +- .../src/test/python/TestAmbariServer.py | 17 +- ambari-server/src/test/python/TestMpacks.py | 61 +- ambari-server/src/test/python/TestUtils.py | 8 +- .../stacks/2.0.6/HIVE/test_webhcat_server.py | 28 +- .../stacks/2.0.6/common/test_stack_advisor.py | 34 +- .../stacks/2.1/common/test_stack_advisor.py | 5 + .../stacks/2.2/SLIDER/test_slider_client.py | 51 + .../stacks/2.2/common/test_stack_advisor.py | 20 +- .../stacks/2.3/common/test_stack_advisor.py | 1 - .../stacks/2.5/ZEPPELIN/test_zeppelin_master.py | 3 + .../stacks/2.5/common/test_stack_advisor.py | 63 + .../test/python/stacks/2.6/DRUID/test_druid.py | 647 ++++++++ .../stacks/2.6/common/test_stack_advisor.py | 575 +++++++ .../test/python/stacks/2.6/configs/default.json | 552 +++++++ .../test/python/stacks/test_stack_adviser.py | 239 +++ .../EXT/0.1/services/OOZIE2/metainfo.xml | 8 + .../services/OOZIE2/themes/working_theme.json | 5 + .../EXT/0.2/services/OOZIE2/metainfo.xml | 8 + .../services/OOZIE2/themes/broken_theme.json | 3 + .../services/HDFS/configuration/hadoop-env.xml | 2 +- .../HDP/2.1.1/upgrades/config-upgrade.xml | 52 +- .../HDP/2.1.1/upgrades/upgrade_direction.xml | 6 +- .../upgrades/upgrade_nonrolling_new_stack.xml | 4 +- .../stacks/HDP/2.1.1/upgrades/upgrade_test.xml | 4 +- .../HDP/2.1.1/upgrades/upgrade_test_checks.xml | 2 +- .../upgrades/upgrade_test_host_ordered.xml | 44 + .../2.1.1/upgrades/upgrade_test_nonrolling.xml | 4 +- .../HDP/2.1.1/upgrades/upgrade_test_partial.xml | 2 +- .../HDP/2.1.1/upgrades/upgrade_to_new_stack.xml | 2 +- .../HDP/2.2.0/upgrades/config-upgrade.xml | 19 +- .../stacks/HDP/2.2.0/upgrades/upgrade_test.xml | 2 +- .../HDP/2.2.0/upgrades/upgrade_test_15388.xml | 2 +- .../HDP/2.2.0/upgrades/upgrade_test_checks.xml | 2 +- .../2.2.0/upgrades/upgrade_test_conditions.xml | 62 + .../upgrades/upgrade_test_host_ordered.xml | 79 + .../services/HDFS/configuration/hadoop-env.xml | 2 +- .../services/HDFS/configuration/hadoop-env.xml | 4 +- .../HDP/2.2.0/upgrades/config-upgrade.xml | 19 +- .../HDP/2.2.0/upgrades/upgrade_test_15388.xml | 4 +- ambari-web/app/assets/licenses/NOTICE.txt | 3 - ambari-web/app/config.js | 3 +- ambari-web/app/controllers.js | 10 + .../global/background_operations_controller.js | 4 +- .../controllers/global/cluster_controller.js | 13 +- .../app/controllers/global/update_controller.js | 8 +- ambari-web/app/controllers/installer.js | 29 +- .../journalNode/progress_controller.js | 50 + .../journalNode/step1_controller.js | 109 ++ .../journalNode/step2_controller.js | 164 ++ .../journalNode/step3_controller.js | 23 + .../journalNode/step4_controller.js | 101 ++ .../journalNode/step5_controller.js | 23 + .../journalNode/step6_controller.js | 37 + .../journalNode/step7_controller.js | 30 + .../journalNode/step8_controller.js | 35 + .../journalNode/wizard_controller.js | 230 +++ .../nameNode/step3_controller.js | 105 ++ .../nameNode/step5_controller.js | 14 + .../nameNode/step7_controller.js | 17 +- .../nameNode/step9_controller.js | 166 +- .../nameNode/wizard_controller.js | 12 +- .../main/admin/highAvailability_controller.js | 5 + .../main/admin/kerberos/step2_controller.js | 2 +- .../main/admin/kerberos/step4_controller.js | 4 +- .../main/admin/kerberos/wizard_controller.js | 26 +- .../main/admin/stack_and_upgrade_controller.js | 56 +- .../alerts/definition_configs_controller.js | 2 +- ambari-web/app/controllers/main/host.js | 3 +- .../controllers/main/host/combo_search_box.js | 2 +- .../controllers/main/service/add_controller.js | 46 +- .../controllers/main/service/info/summary.js | 4 + ambari-web/app/controllers/main/service/item.js | 5 + ambari-web/app/controllers/wizard.js | 55 +- .../app/controllers/wizard/step1_controller.js | 39 +- .../app/controllers/wizard/step4_controller.js | 60 +- .../app/controllers/wizard/step6_controller.js | 7 +- .../app/controllers/wizard/step7_controller.js | 22 +- .../app/controllers/wizard/step8_controller.js | 4 +- ambari-web/app/data/HDP2/ha_properties.js | 195 ++- .../data/HDP2/move_journal_node_properties.js | 42 + ambari-web/app/mappers/stack_service_mapper.js | 7 +- ambari-web/app/messages.js | 103 +- ambari-web/app/mixins.js | 2 +- .../configs/config_recommendation_parser.js | 2 +- ambari-web/app/mixins/common/persist_mixin.js | 45 + .../main/service/configs/config_overridable.js | 18 +- .../app/mixins/wizard/wizard_menu_view.js | 44 + ambari-web/app/models/form.js | 2 +- ambari-web/app/models/host_component.js | 7 + ambari-web/app/models/stack_service.js | 10 +- ambari-web/app/routes/add_kerberos_routes.js | 72 +- ambari-web/app/routes/add_service_routes.js | 20 +- .../app/routes/high_availability_routes.js | 3 + ambari-web/app/routes/installer.js | 24 +- ambari-web/app/routes/main.js | 2 + .../app/routes/manage_journalnode_routes.js | 261 +++ ambari-web/app/styles/alerts.less | 14 - ambari-web/app/styles/application.less | 329 ++-- ambari-web/app/styles/bootstrap_overrides.less | 19 - ambari-web/app/styles/common.less | 26 - ambari-web/app/styles/config_history_flow.less | 10 +- ambari-web/app/styles/log_file_search.less | 4 +- ambari-web/app/styles/modal_popups.less | 5 +- ambari-web/app/styles/stack_versions.less | 8 +- .../app/styles/theme/bootstrap-ambari.css | 299 +++- ambari-web/app/styles/widgets.less | 20 +- .../common/assign_master_components.hbs | 223 +-- ambari-web/app/templates/common/checkbox.hbs | 23 + .../common/configs/compare_property.hbs | 4 +- .../common/configs/config_history_flow.hbs | 2 +- .../common/configs/notifications_configs.hbs | 46 +- .../templates/common/configs/overrideWindow.hbs | 12 +- .../common/configs/selectCreateConfigGroup.hbs | 2 - .../templates/common/configs/service_config.hbs | 16 +- .../common/configs/service_config_category.hbs | 6 +- .../configs/widgets/checkbox_config_widget.hbs | 8 +- .../configs/widgets/list_config_widget.hbs | 3 +- .../configs/widgets/plain_config_text_field.hbs | 2 +- .../configs/widgets/radio_button_config.hbs | 9 +- .../configs/widgets/slider_config_widget.hbs | 2 +- .../configs/widgets/toggle_config_widget.hbs | 2 +- .../app/templates/common/editable_list.hbs | 2 +- .../app/templates/common/filter_combobox.hbs | 2 +- ambari-web/app/templates/common/grid/filter.hbs | 4 +- .../templates/common/host_progress_popup.hbs | 10 +- .../common/host_progress_popup_footer.hbs | 5 +- .../app/templates/common/log_file_search.hbs | 4 +- ambari-web/app/templates/common/modal_popup.hbs | 6 +- .../modal_popups/confirmation_feedback.hbs | 11 +- .../modal_popups/dependent_configs_list.hbs | 4 +- .../common/modal_popups/invalid_KDC_popup.hbs | 2 +- .../common/modal_popups/log_tail_popup.hbs | 12 +- .../common/modal_popups/logs_popup.hbs | 2 +- .../common/modal_popups/prompt_popup.hbs | 2 +- .../modal_popups/widget_browser_footer.hbs | 5 +- ambari-web/app/templates/common/progress.hbs | 95 +- .../templates/common/rolling_restart_view.hbs | 12 +- ambari-web/app/templates/common/settings.hbs | 5 +- ambari-web/app/templates/experimental.hbs | 30 +- ambari-web/app/templates/installer.hbs | 43 +- .../hawq/activateStandby/step1.hbs | 12 +- .../hawq/activateStandby/step2.hbs | 52 +- .../hawq/activateStandby/wizard.hbs | 34 +- .../highAvailability/hawq/addStandby/step1.hbs | 12 +- .../highAvailability/hawq/addStandby/step3.hbs | 71 +- .../highAvailability/hawq/addStandby/wizard.hbs | 36 +- .../hawq/removeStandby/step1.hbs | 12 +- .../hawq/removeStandby/step2.hbs | 46 +- .../hawq/removeStandby/wizard.hbs | 34 +- .../highAvailability/journalNode/step1.hbs | 25 + .../highAvailability/journalNode/step2.hbs | 91 ++ .../highAvailability/journalNode/step3.hbs | 35 + .../highAvailability/journalNode/step4.hbs | 18 + .../highAvailability/journalNode/step5.hbs | 29 + .../highAvailability/journalNode/step6.hbs | 18 + .../highAvailability/journalNode/step7.hbs | 24 + .../highAvailability/journalNode/step8.hbs | 18 + .../highAvailability/journalNode/wizard.hbs | 36 + .../nameNode/rollbackHA/rollback_wizard.hbs | 26 +- .../nameNode/rollbackHA/step1.hbs | 22 +- .../nameNode/rollbackHA/step2.hbs | 6 +- .../nameNode/rollbackHA/step3.hbs | 7 +- .../admin/highAvailability/nameNode/step1.hbs | 31 +- .../admin/highAvailability/nameNode/step3.hbs | 121 +- .../admin/highAvailability/nameNode/step4.hbs | 10 +- .../admin/highAvailability/nameNode/step6.hbs | 6 +- .../admin/highAvailability/nameNode/step8.hbs | 6 +- .../admin/highAvailability/nameNode/wizard.hbs | 38 +- .../highAvailability/rangerAdmin/step1.hbs | 36 +- .../highAvailability/rangerAdmin/step3.hbs | 68 +- .../highAvailability/rangerAdmin/wizard.hbs | 29 +- .../highAvailability/resourceManager/step1.hbs | 12 +- .../highAvailability/resourceManager/step3.hbs | 46 +- .../highAvailability/resourceManager/wizard.hbs | 36 +- .../kerberos/regenerate_keytabs_popup_body.hbs | 2 +- .../restart_services_after_regenerate_body.hbs | 2 +- .../app/templates/main/admin/kerberos/step1.hbs | 54 +- .../app/templates/main/admin/kerberos/step2.hbs | 24 +- .../app/templates/main/admin/kerberos/step3.hbs | 127 +- .../app/templates/main/admin/kerberos/step4.hbs | 19 +- .../app/templates/main/admin/kerberos/step5.hbs | 40 +- .../templates/main/admin/kerberos/wizard.hbs | 36 +- .../templates/main/admin/service_auto_start.hbs | 2 +- .../service_auto_start/component_auto_start.hbs | 2 +- .../admin/stack_upgrade/edit_repositories.hbs | 17 +- .../main/admin/stack_upgrade/services.hbs | 5 +- .../stack_upgrade/stack_upgrade_wizard.hbs | 12 +- .../upgrade_configs_merge_table.hbs | 12 +- .../admin/stack_upgrade/upgrade_history.hbs | 45 +- .../admin/stack_upgrade/upgrade_options.hbs | 105 +- .../main/admin/stack_upgrade/upgrade_task.hbs | 4 +- .../main/admin/stack_upgrade/versions.hbs | 2 +- ambari-web/app/templates/main/alerts.hbs | 25 +- .../add_alert_definition.hbs | 28 +- .../main/alerts/add_alert_definition/step1.hbs | 26 +- .../main/alerts/add_alert_definition/step2.hbs | 21 +- .../main/alerts/add_alert_definition/step3.hbs | 29 +- .../alerts/add_definition_to_group_popup.hbs | 18 +- .../main/alerts/alert_definitions_actions.hbs | 30 +- .../main/alerts/create_alert_notification.hbs | 24 +- .../main/alerts/definition_details.hbs | 186 ++- .../templates/main/dashboard/config_history.hbs | 3 + .../main/dashboard/edit_widget_popup.hbs | 4 +- .../edit_widget_popup_single_threshold.hbs | 2 +- .../main/dashboard/plus_button_filter.hbs | 4 +- .../main/dashboard/widgets/hbase_links.hbs | 2 +- .../main/dashboard/widgets/hdfs_links.hbs | 2 +- .../main/dashboard/widgets/yarn_links.hbs | 2 +- ambari-web/app/templates/main/host.hbs | 27 +- ambari-web/app/templates/main/host/add.hbs | 42 +- .../templates/main/host/bulk_operation_menu.hbs | 220 +-- .../templates/main/host/combo_search_box.hbs | 13 +- .../main/host/details/deleteComponentPopup.hbs | 4 +- .../main/host/details/doDeleteHostPopup.hbs | 2 +- .../app/templates/main/host/host_alerts.hbs | 3 +- ambari-web/app/templates/main/host/logs.hbs | 5 +- .../app/templates/main/host/rack_id_popup.hbs | 2 +- .../app/templates/main/host/stack_versions.hbs | 3 + ambari-web/app/templates/main/host/summary.hbs | 66 +- ambari-web/app/templates/main/service/add.hbs | 39 +- .../service/info/confirm_delete_service.hbs | 2 +- .../app/templates/main/service/info/summary.hbs | 116 +- ambari-web/app/templates/main/service/item.hbs | 2 +- .../app/templates/main/service/menu_item.hbs | 4 +- .../app/templates/main/service/reassign.hbs | 44 +- .../templates/main/service/services/hive.hbs | 8 + .../main/service/widgets/create/step1.hbs | 40 +- .../main/service/widgets/create/step2.hbs | 35 +- .../main/service/widgets/create/step2_graph.hbs | 50 +- .../service/widgets/create/step2_number.hbs | 24 +- .../service/widgets/create/step2_template.hbs | 56 +- .../main/service/widgets/create/step3.hbs | 80 +- .../create/widget_property_threshold.hbs | 4 +- .../main/service/widgets/create/wizard.hbs | 52 +- .../app/templates/main/service/widgets/edit.hbs | 50 +- .../controls_service_config_radio_buttons.hbs | 4 +- ambari-web/app/templates/wizard/step0.hbs | 52 +- ambari-web/app/templates/wizard/step1.hbs | 358 +++-- .../app/templates/wizard/step1/vdf_upload.hbs | 10 +- ambari-web/app/templates/wizard/step10.hbs | 61 +- .../wizard/step1_addLocalRepository.hbs | 2 +- ambari-web/app/templates/wizard/step2.hbs | 237 ++- ambari-web/app/templates/wizard/step3.hbs | 242 +-- ambari-web/app/templates/wizard/step4.hbs | 77 +- .../step4/step4_ranger_requirements_popup.hbs | 5 +- ambari-web/app/templates/wizard/step6.hbs | 138 +- ambari-web/app/templates/wizard/step7.hbs | 24 +- ambari-web/app/templates/wizard/step8.hbs | 106 +- ambari-web/app/templates/wizard/step9.hbs | 213 +-- .../wizard/step9/step9HostTasksLogPopup.hbs | 8 +- ambari-web/app/utils/ajax/ajax.js | 36 +- ambari-web/app/utils/config.js | 26 +- .../app/utils/configs/config_initializer.js | 28 +- .../mount_points_based_initializer_mixin.js | 340 ---- .../utils/configs/nn_ha_config_initializer.js | 30 +- ambari-web/app/utils/db.js | 8 + ambari-web/app/utils/helper.js | 3 +- ambari-web/app/utils/persist.js | 101 ++ ambari-web/app/utils/validator.js | 5 +- ambari-web/app/views.js | 14 + ambari-web/app/views/common/checkbox_view.js | 142 ++ .../configs/config_category_container_view.js | 64 + .../views/common/configs/config_history_flow.js | 2 +- .../configs/selectable_popup_body_view.js | 2 +- .../configs/service_configs_by_category_view.js | 72 +- .../widgets/checkbox_config_widget_view.js | 24 +- .../configs/widgets/list_config_widget_view.js | 4 +- ambari-web/app/views/common/controls_view.js | 47 +- ambari-web/app/views/common/filter_view.js | 5 +- .../common/helpers/format_word_break_view.js | 8 +- .../common/host_progress_popup_body_view.js | 88 +- .../app/views/common/log_search_ui_link_view.js | 4 +- ambari-web/app/views/common/modal_popup.js | 4 +- .../dependent_configs_list_popup.js | 5 +- .../views/common/modal_popups/log_tail_popup.js | 6 +- .../app/views/common/not-scrollable-textarea.js | 44 + .../app/views/common/quick_view_link_view.js | 2 +- .../app/views/common/radio_button_view.js | 61 + ambari-web/app/views/common/table_view.js | 3 +- .../journalNode/progress_view.js | 39 + .../highAvailability/journalNode/step1_view.js | 30 + .../highAvailability/journalNode/step2_view.js | 39 + .../highAvailability/journalNode/step3_view.js | 29 + .../highAvailability/journalNode/step4_view.js | 24 + .../highAvailability/journalNode/step5_view.js | 47 + .../highAvailability/journalNode/step6_view.js | 24 + .../highAvailability/journalNode/step7_view.js | 31 + .../highAvailability/journalNode/step8_view.js | 29 + .../highAvailability/journalNode/wizard_view.js | 26 + .../stack_upgrade/upgrade_version_box_view.js | 11 +- .../main/admin/stack_upgrade/versions_view.js | 3 +- .../app/views/main/alert_definitions_view.js | 27 +- .../alerts/alert_definitions_actions_view.js | 2 + .../main/alerts/definition_configs_view.js | 4 +- ambari-web/app/views/main/dashboard/widgets.js | 2 +- .../views/main/host/hosts_table_menu_view.js | 2 + ambari-web/app/views/main/service/item.js | 6 + ambari-web/app/views/main/service/service.js | 2 +- .../app/views/main/service/services/hive.js | 25 +- ambari-web/app/views/wizard/step1_view.js | 34 +- ambari-web/app/views/wizard/step2_view.js | 35 +- ambari-web/app/views/wizard/step3_view.js | 3 + .../views/wizard/step9/hostLogPopupBody_view.js | 42 +- ambari-web/brunch-config.js | 4 +- ambari-web/karma.conf.js | 4 +- ambari-web/package.json | 2 +- ambari-web/pom.xml | 10 +- .../global/cluster_controller_test.js | 22 + ambari-web/test/controllers/installer_test.js | 21 +- .../nameNode/step3_controller_test.js | 24 +- .../kerberos/kerberos_wizard_controler_test.js | 16 - .../admin/kerberos/step2_controller_test.js | 2 + .../admin/kerberos/step4_controller_test.js | 6 +- .../admin/stack_and_upgrade_controller_test.js | 108 +- .../test/controllers/wizard/step4_test.js | 6 +- .../test/controllers/wizard/step8_test.js | 16 +- ambari-web/test/controllers/wizard_test.js | 101 +- .../config_recommendation_parser_test.js | 4 +- ambari-web/test/models/stack_service_test.js | 2 + ambari-web/test/utils/ajax/ajax_test.js | 9 +- .../utils/configs/config_initializer_test.js | 476 ------ ambari-web/test/utils/validator_test.js | 25 +- .../notification_configs_view_test.js | 16 +- .../service_configs_by_category_view_test.js | 2 +- .../test/views/common/filter_view_test.js | 5 + .../helpers/format_word_break_view_test.js | 24 +- .../host_progress_popup_body_view_test.js | 2 +- .../test/views/common/quick_link_view_test.js | 2 +- ambari-web/test/views/wizard/step3_view_test.js | 4 + contrib/docs/Apache_Ambari_Stack_Definition.pdf | Bin 0 -> 926535 bytes .../src/main/resources/ui/app/app.js | 22 + .../ui/app/components/labelCapacityBar.js | 7 +- .../resources/ui/app/components/queueMapping.js | 1 + .../ui/app/components/sunburstChart.js | 27 +- .../resources/ui/app/controllers/advanced.js | 15 + .../resources/ui/app/controllers/capsched.js | 39 +- .../resources/ui/app/controllers/editqueue.js | 3 + .../resources/ui/app/controllers/queuesconf.js | 25 + .../resources/ui/app/controllers/scheduler.js | 15 + .../src/main/resources/ui/app/models/queue.js | 3 +- .../src/main/resources/ui/app/router.js | 38 +- .../resources/ui/app/styles/application.less | 7 +- .../ui/app/templates/capsched/advanced.hbs | 7 +- .../templates/capsched/partials/preemption.hbs | 2 + .../templates/components/editLabelCapacity.hbs | 4 +- .../app/templates/components/queueMapping.hbs | 12 + .../apache/ambari/view/hive2/AuthParams.java | 102 ++ .../ambari/view/hive2/ConnectionFactory.java | 19 +- .../ambari/view/hive2/ConnectionSystem.java | 18 +- .../ambari/view/hive2/actor/JdbcConnector.java | 32 +- .../view/hive2/actor/message/Connect.java | 5 +- .../view/hive2/client/AsyncJobRunner.java | 1 - .../view/hive2/client/AsyncJobRunnerImpl.java | 13 +- .../view/hive2/client/ConnectionConfig.java | 7 +- .../ambari/view/hive2/internal/Connectable.java | 6 + .../hive2/internal/HiveConnectionWrapper.java | 57 +- .../resources/browser/ConnectionService.java | 155 ++ .../resources/browser/HiveBrowserService.java | 4 +- .../view/hive2/resources/jobs/JobService.java | 31 +- .../ui/hive-web/app/components/upload-query.js | 31 + .../ui/hive-web/app/controllers/index.js | 43 +- .../app/controllers/index/history-query/logs.js | 22 +- .../ui/hive-web/app/controllers/splash.js | 35 +- .../ui/hive-web/app/initializers/i18n.js | 3 + .../resources/ui/hive-web/app/routes/splash.js | 52 +- .../resources/ui/hive-web/app/services/ldap.js | 59 + .../ui/hive-web/app/templates/index.hbs | 31 +- .../ui/hive-web/app/utils/constants.js | 1 + .../views/hive-next/src/main/resources/view.xml | 15 + .../view/hive2/ConnectionFailuresTest.java | 9 +- .../ambari/view/hive2/JobExecutionTest.java | 6 +- .../ui/hive-web/app/components/upload-query.js | 32 + .../ui/hive-web/app/controllers/index.js | 38 + .../ui/hive-web/app/initializers/i18n.js | 2 + .../ui/hive-web/app/templates/index.hbs | 24 + .../src/main/resources/ui/pig-web/bower.json | 2 +- .../apache/oozie/ambari/view/HDFSFileUtils.java | 87 + .../org/apache/oozie/ambari/view/JobType.java | 22 + .../ambari/view/OozieProxyImpersonator.java | 1042 ++++++------ .../apache/oozie/ambari/view/OozieUtils.java | 71 + .../org/apache/oozie/ambari/view/Utils.java | 154 ++ .../wfmanager/src/main/resources/ui/.jshintrc | 38 + .../main/resources/ui/app/components/.gitkeep | 0 .../ui/app/components/archive-config.js | 3 +- .../ui/app/components/bundle-config.js | 262 +++ .../ui/app/components/bundle-coord-config.js | 108 ++ .../ui/app/components/conditional-data-input.js | 78 + .../ui/app/components/confirmation-dialog.js | 25 + .../resources/ui/app/components/coord-config.js | 521 ++++++ .../ui/app/components/credentials-config.js | 175 +- .../app/components/data-input-output-config.js | 97 ++ .../resources/ui/app/components/data-input.js | 41 + .../ui/app/components/dataset-config.js | 103 ++ .../ui/app/components/date-with-expr.js | 78 + .../ui/app/components/decision-add-branch.js | 78 +- .../ui/app/components/decision-config.js | 43 +- .../ui/app/components/designer-workspace.js | 158 ++ .../ui/app/components/distcp-action-info.js | 26 + .../ui/app/components/distcp-action.js | 6 +- .../ui/app/components/email-action-info.js | 26 + .../resources/ui/app/components/email-action.js | 33 +- .../resources/ui/app/components/file-config.js | 3 +- .../ui/app/components/flow-designer.js | 728 +++++---- .../ui/app/components/fs-action-info.js | 26 + .../resources/ui/app/components/fs-action.js | 64 +- .../ui/app/components/fsaction-info.js | 21 + .../resources/ui/app/components/hdfs-browser.js | 8 +- .../ui/app/components/hive-action-info.js | 26 + .../resources/ui/app/components/hive-action.js | 38 +- .../ui/app/components/hive2-action-info.js | 25 + .../resources/ui/app/components/hive2-action.js | 44 +- .../resources/ui/app/components/info-header.js | 26 + .../ui/app/components/instance-list-config.js | 54 + .../ui/app/components/java-action-info.js | 25 + .../resources/ui/app/components/java-action.js | 25 +- .../resources/ui/app/components/job-config.js | 303 ++++ .../resources/ui/app/components/job-details.js | 391 ++++- .../ui/app/components/killnode-config.js | 29 + .../ui/app/components/killnode-manager.js | 62 + .../ui/app/components/map-red-action.js | 6 +- .../ui/app/components/map-reduce-action-info.js | 25 + .../ui/app/components/name-value-config.js | 7 +- .../ui/app/components/name-value-info.js | 21 + .../ui/app/components/named-properties.js | 25 +- .../ui/app/components/pig-action-info.js | 25 + .../resources/ui/app/components/pig-action.js | 16 +- .../ui/app/components/prepare-config-fs.js | 7 +- .../ui/app/components/prepare-config-info.js | 21 + .../ui/app/components/prepare-config.js | 3 +- .../ui/app/components/preview-dialog.js | 20 + .../ui/app/components/property-value-config.js | 21 + .../main/resources/ui/app/components/save-wf.js | 170 ++ .../ui/app/components/search-create-new-bar.js | 3 +- .../ui/app/components/shell-action-info.js | 25 + .../resources/ui/app/components/shell-action.js | 20 +- .../resources/ui/app/components/sla-info.js | 148 +- .../ui/app/components/spark-action-info.js | 25 + .../resources/ui/app/components/spark-action.js | 59 +- .../ui/app/components/sqoop-action-info.js | 25 + .../resources/ui/app/components/sqoop-action.js | 5 +- .../ui/app/components/ssh-action-info.js | 25 + .../resources/ui/app/components/ssh-action.js | 24 +- .../app/components/sub-workflow-action-info.js | 25 + .../resources/ui/app/components/sub-workflow.js | 17 +- .../ui/app/components/transition-config.js | 44 +- .../ui/app/components/workflow-action-editor.js | 58 +- .../ui/app/components/workflow-actions.js | 7 + .../ui/app/components/workflow-credentials.js | 65 +- .../app/components/workflow-job-action-info.js | 22 + .../ui/app/components/workflow-node.js | 9 + .../ui/app/components/workflow-parameters.js | 64 +- .../resources/ui/app/components/workflow-sla.js | 15 +- .../main/resources/ui/app/controllers/.gitkeep | 0 .../main/resources/ui/app/controllers/design.js | 5 - .../ui/app/domain/action-type-resolver.js | 62 + .../ui/app/domain/actionjob_hanlder.js | 1 + .../app/domain/bundle/bundle-xml-generator.js | 55 + .../ui/app/domain/bundle/bundle-xml-importer.js | 87 + .../resources/ui/app/domain/bundle/bundle.js | 22 + .../coordinator/coordinator-xml-generator.js | 204 +++ .../coordinator/coordinator-xml-importer.js | 272 ++++ .../ui/app/domain/coordinator/coordinator.js | 22 + .../ui/app/domain/cytoscape-flow-renderer.js | 348 ++++ .../resources/ui/app/domain/cytoscape-style.js | 123 ++ .../ui/app/domain/default-layout-manager.js | 10 +- .../resources/ui/app/domain/findnode-mixin.js | 113 +- .../src/main/resources/ui/app/domain/id-gen.js | 4 + .../ui/app/domain/jsplumb-flow-renderer.js | 194 +++ .../resources/ui/app/domain/mapping-utils.js | 31 +- .../resources/ui/app/domain/node-factory.js | 10 +- .../resources/ui/app/domain/node-handler.js | 49 +- .../src/main/resources/ui/app/domain/node.js | 3 +- .../main/resources/ui/app/domain/sla-info.js | 38 +- .../main/resources/ui/app/domain/transition.js | 5 +- .../ui/app/domain/workflow-importer.js | 8 +- .../ui/app/domain/workflow-json-importer.js | 92 ++ .../ui/app/domain/workflow-path-util.js | 73 + .../ui/app/domain/workflow-xml-generator.js | 1 - .../main/resources/ui/app/domain/workflow.js | 114 +- .../ui/app/domain/workflow_xml_mapper.js | 5 +- .../src/main/resources/ui/app/helpers/.gitkeep | 0 .../src/main/resources/ui/app/index.html | 9 + .../src/main/resources/ui/app/routes/.gitkeep | 0 .../main/resources/ui/app/routes/dashboard.js | 10 +- .../src/main/resources/ui/app/routes/design.js | 38 +- .../ui/app/services/workflow-clipboard.js | 34 + .../ui/app/services/workspace-manager.js | 62 + .../src/main/resources/ui/app/styles/app.less | 1497 ++++++++++++++++++ .../ui/app/templates/components/.gitkeep | 0 .../app/templates/components/bundle-config.hbs | 129 ++ .../components/bundle-coord-config.hbs | 58 + .../templates/components/bundle-job-details.hbs | 17 +- .../components/conditional-data-input.hbs | 64 + .../components/confirmation-dialog.hbs | 34 + .../app/templates/components/coord-config.hbs | 352 ++++ .../templates/components/coord-job-details.hbs | 17 +- .../templates/components/credentials-config.hbs | 33 +- .../components/data-input-output-config.hbs | 68 + .../ui/app/templates/components/data-input.hbs | 40 + .../app/templates/components/dataset-config.hbs | 70 + .../app/templates/components/date-with-expr.hbs | 41 + .../components/decision-add-branch.hbs | 4 +- .../templates/components/decision-config.hbs | 2 +- .../templates/components/designer-workspace.hbs | 106 ++ .../templates/components/distcp-action-info.hbs | 35 + .../templates/components/email-action-info.hbs | 28 + .../app/templates/components/email-action.hbs | 10 +- .../ui/app/templates/components/field-error.hbs | 3 + .../app/templates/components/flow-designer.hbs | 300 ++-- .../app/templates/components/fs-action-info.hbs | 33 + .../ui/app/templates/components/fs-action.hbs | 3 +- .../app/templates/components/fsaction-info.hbs | 39 + .../app/templates/components/hdfs-browser.hbs | 2 +- .../templates/components/hive-action-info.hbs | 47 + .../ui/app/templates/components/hive-action.hbs | 6 +- .../templates/components/hive2-action-info.hbs | 49 + .../app/templates/components/hive2-action.hbs | 6 +- .../ui/app/templates/components/info-header.hbs | 18 + .../components/instance-list-config.hbs | 35 + .../templates/components/java-action-info.hbs | 52 + .../ui/app/templates/components/java-action.hbs | 4 +- .../ui/app/templates/components/job-config.hbs | 126 ++ .../ui/app/templates/components/job-details.hbs | 2 +- .../templates/components/killnode-config.hbs | 67 + .../templates/components/killnode-manager.hbs | 69 + .../components/map-reduce-action-info.hbs | 41 + .../templates/components/name-value-info.hbs | 22 + .../templates/components/named-properties.hbs | 2 +- .../templates/components/pig-action-info.hbs | 47 + .../ui/app/templates/components/pig-action.hbs | 2 +- .../templates/components/prepare-config-fs.hbs | 46 +- .../components/prepare-config-info.hbs | 22 + .../app/templates/components/preview-dialog.hbs | 33 + .../components/property-value-config.hbs | 22 + .../ui/app/templates/components/save-wf.hbs | 79 + .../templates/components/shell-action-info.hbs | 48 + .../app/templates/components/shell-action.hbs | 4 +- .../ui/app/templates/components/sla-info.hbs | 17 +- .../templates/components/spark-action-info.hbs | 46 + .../app/templates/components/spark-action.hbs | 6 +- .../templates/components/sqoop-action-info.hbs | 41 + .../templates/components/ssh-action-info.hbs | 32 + .../ui/app/templates/components/ssh-action.hbs | 4 +- .../components/sub-workflow-action-info.hbs | 29 + .../app/templates/components/sub-workflow.hbs | 2 +- .../templates/components/transition-config.hbs | 23 +- .../templates/components/version-settings.hbs | 2 +- .../templates/components/workflow-actions.hbs | 5 + .../templates/components/workflow-config.hbs | 2 +- .../components/workflow-credentials.hbs | 34 +- .../components/workflow-job-action-info.hbs | 80 + .../components/workflow-job-details.hbs | 158 +- .../app/templates/components/workflow-node.hbs | 3 +- .../components/workflow-parameters.hbs | 23 +- .../resources/ui/app/templates/dashboard.hbs | 2 +- .../main/resources/ui/app/templates/design.hbs | 2 +- .../main/resources/ui/app/utils/constants.js | 43 +- .../app/validators/decission-node-validator.js | 58 + .../app/validators/duplicate-data-node-name.js | 60 + .../validators/duplicate-flattened-node-name.js | 66 + .../app/validators/duplicate-kill-node-name.js | 58 + .../ui/app/validators/fs-action-validator.js | 76 + .../ui/app/validators/job-params-validator.js | 54 + .../ui/app/validators/operand-length.js | 46 + .../resources/ui/app/validators/unique-name.js | 59 + .../wfmanager/src/main/resources/ui/bower.json | 5 +- .../src/main/resources/ui/ember-cli-build.js | 10 + .../hdfs-directory-viewer/addon/.gitkeep | 0 .../hdfs-directory-viewer/app/.gitkeep | 0 .../tests/dummy/app/components/.gitkeep | 0 .../tests/dummy/app/controllers/.gitkeep | 0 .../tests/dummy/app/helpers/.gitkeep | 0 .../tests/dummy/app/models/.gitkeep | 0 .../tests/dummy/app/routes/.gitkeep | 0 .../dummy/app/templates/components/.gitkeep | 0 .../tests/integration/.gitkeep | 0 .../hdfs-directory-viewer/tests/unit/.gitkeep | 0 .../hdfs-directory-viewer/vendor/.gitkeep | 0 .../resources/ui/mock-service/mock-server.js | 52 + .../main/resources/ui/mock-service/mockData.js | 316 ++++ .../src/main/resources/ui/package.json | 18 +- .../main/resources/ui/public/assets/favicon.ico | Bin 0 -> 1150 bytes .../main/resources/ui/public/assets/join.png | Bin 0 -> 331 bytes .../main/resources/ui/public/assets/logo.png | Bin 0 -> 4568 bytes .../main/resources/ui/public/assets/play.png | Bin 0 -> 1164 bytes .../main/resources/ui/public/assets/sitemap.png | Bin 0 -> 317 bytes .../main/resources/ui/public/assets/stop.png | Bin 0 -> 1164 bytes .../src/main/resources/ui/public/loader.gif | Bin 0 -> 42435 bytes .../resources/ui/public/sampledata/bundle.xml | 32 + .../ui/public/sampledata/coordinator.xml | 113 ++ .../resources/ui/tests/integration/.gitkeep | 0 .../components/bundle-config-test.js | 40 + .../components/bundle-coord-config-test.js | 40 + .../components/conditional-data-input-test.js | 40 + .../components/confirmation-dialog-test.js | 40 + .../integration/components/coord-config-test.js | 40 + .../components/data-input-output-config-test.js | 40 + .../integration/components/data-input-test.js | 40 + .../components/dataset-config-test.js | 40 + .../components/date-with-expr-test.js | 40 + .../components/designer-workspace-test.js | 40 + .../components/distcp-action-info-test.js | 41 + .../components/email-action-info-test.js | 41 + .../components/fs-action-info-test.js | 41 + .../components/fsaction-info-test.js | 41 + .../components/hive-action-info-test.js | 41 + .../components/hive2-action-info-test.js | 41 + .../integration/components/info-header-test.js | 41 + .../components/instance-list-config-test.js | 41 + .../components/java-action-info-test.js | 41 + .../integration/components/job-config-test.js | 41 + .../components/killnode-config-test.js | 41 + .../components/killnode-manager-test.js | 41 + .../components/map-reduce-action-info-test.js | 41 + .../components/name-value-info-test.js | 41 + .../components/pig-action-info-test.js | 41 + .../components/prepare-config-info-test.js | 41 + .../components/preview-dialog-test.js | 40 + .../components/property-value-config-test.js | 41 + .../integration/components/save-wf-test.js | 40 + .../components/shell-action-info-test.js | 41 + .../components/spark-action-info-test.js | 41 + .../components/sqoop-action-info-test.js | 41 + .../components/ssh-action-info-test.js | 41 + .../components/sub-workflow-action-info-test.js | 41 + .../src/main/resources/ui/tests/unit/.gitkeep | 0 .../unit/services/workflow-clipboard-test.js | 29 + .../unit/services/workspace-manager-test.js | 29 + .../validators/decission-node-validator-test.js | 26 + .../validators/duplicate-data-node-name-test.js | 27 + .../duplicate-flattened-node-name-test.js | 27 + .../validators/duplicate-kill-node-name-test.js | 27 + .../unit/validators/fs-action-validator-test.js | 26 + .../validators/job-params-validator-test.js | 26 + .../unit/validators/operand-length-test.js | 27 + .../tests/unit/validators/unique-name-test.js | 27 + .../views/wfmanager/src/main/resources/view.xml | 2 +- 993 files changed, 45983 insertions(+), 15243 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/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 45ca139,02c05d9..89d2da4 --- 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 @@@ -91,7 -90,7 +92,8 @@@ import org.apache.ambari.server.state.C import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigHelper; import org.apache.ambari.server.state.DesiredConfig; +import org.apache.ambari.server.state.RepositoryType; + import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; import org.apache.ambari.server.state.ServiceInfo; @@@ -931,17 -840,16 +864,17 @@@ public class UpgradeResourceProvider ex // HDP 2.2 to 2.4 should start with HDP 2.2 and merge in HDP 2.3's config-upgrade.xml ConfigUpgradePack configUpgradePack = ConfigurationPackBuilder.build(pack, sourceStackId); - // TODO: for now, all service components are transitioned to upgrading state - // TODO: When performing patch upgrade, we should only target supported services/components - // from upgrade pack Set<Service> services = new HashSet<>(cluster.getServices().values()); + + @Experimental(feature=ExperimentalFeature.PATCH_UPGRADES) Map<Service, Set<ServiceComponent>> targetComponents = new HashMap<>(); for (Service service: services) { - if (ctx.isServiceSupported(service.getName())) { - Set<ServiceComponent> serviceComponents = - new HashSet<>(service.getServiceComponents().values()); - targetComponents.put(service, serviceComponents); ++ if (upgradeContext.isServiceSupported(service.getName())) { + Set<ServiceComponent> serviceComponents = new HashSet<>(service.getServiceComponents().values()); + targetComponents.put(service, serviceComponents); + } } + // TODO: is there any extreme case when we need to set component upgrade state back to NONE // from IN_PROGRESS (e.g. canceled downgrade) s_upgradeHelper.putComponentsToUpgradingState(version, targetComponents); http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10cea2c7/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java ----------------------------------------------------------------------