You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/10/19 15:54:36 UTC

[50/50] [abbrv] ambari git commit: Merge remote-tracking branch 'origin/trunk' into branch-dev-patch-upgrade

Merge remote-tracking branch 'origin/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/3265d0b8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3265d0b8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3265d0b8

Branch: refs/heads/branch-dev-patch-upgrade
Commit: 3265d0b8f2c0c30c5c73bbb1851a909796c574d2
Parents: f99d821 7bd1a2a
Author: Nate Cole <nc...@hortonworks.com>
Authored: Mon Oct 19 09:53:01 2015 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Mon Oct 19 09:53:01 2015 -0400

----------------------------------------------------------------------
 ambari-admin/pom.xml                            |    8 +-
 .../app/scripts/controllers/mainCtrl.js         |   47 +-
 .../admin-web/app/scripts/services/Cluster.js   |   13 +
 .../unit/controllers/CreateViewInstanceCtrl.js  |   14 +-
 .../test/unit/controllers/mainCtrl_test.js      |   17 +-
 ambari-agent/conf/unix/ambari-agent.ini         |    1 +
 ambari-agent/conf/windows/ambari-agent.ini      |    1 +
 ambari-agent/pom.xml                            |    8 +-
 .../src/main/python/ambari_agent/ActionQueue.py |   11 +-
 .../ambari_agent/AlertSchedulerHandler.py       |   21 +-
 .../main/python/ambari_agent/AmbariConfig.py    |   46 +-
 .../src/main/python/ambari_agent/Controller.py  |   10 +-
 .../src/main/python/ambari_agent/NetUtil.py     |    2 +-
 .../main/python/ambari_agent/RecoveryManager.py |   70 +-
 .../src/main/python/ambari_agent/hostname.py    |   29 +-
 .../src/main/python/ambari_agent/main.py        |   73 +-
 .../src/main/python/ambari_agent/security.py    |   13 +-
 .../test/python/ambari_agent/TestActionQueue.py |    2 +-
 .../ambari_agent/TestAlertSchedulerHandler.py   |   22 +-
 .../src/test/python/ambari_agent/TestAlerts.py  |    8 +-
 .../python/ambari_agent/TestCertGeneration.py   |    3 +-
 .../ambari_agent/TestCertGeneration.py.orig     |   50 -
 .../test/python/ambari_agent/TestController.py  |    5 +-
 .../TestCustomServiceOrchestrator.py.orig       |  643 ---
 .../test/python/ambari_agent/TestHostname.py    |   53 +-
 .../src/test/python/ambari_agent/TestMain.py    |   27 +-
 .../src/test/python/ambari_agent/TestNetUtil.py |    6 +-
 .../python/ambari_agent/TestRecoveryManager.py  |  123 +-
 .../test/python/ambari_agent/TestSecurity.py    |   22 +-
 .../python/ambari_agent/TestSecurity.py.orig    |  389 --
 ambari-client/groovy-client/pom.xml             |    4 +-
 ambari-client/pom.xml                           |    4 +-
 ambari-client/python-client/pom.xml             |    4 +-
 .../python/resource_management/core/logger.py   |    6 +-
 .../libraries/functions/decorator.py            |    5 +-
 .../libraries/functions/namenode_ha_utils.py    |   27 +-
 .../libraries/functions/ranger_functions.py     |  158 +-
 .../libraries/functions/ranger_functions_v2.py  |   94 +-
 .../libraries/script/script.py                  |   15 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml  |    8 +-
 ambari-metrics/ambari-metrics-common/pom.xml    |    2 +-
 .../timeline/cache/TimelineMetricsCache.java    |    2 +-
 .../ambari-metrics-flume-sink/pom.xml           |    8 +-
 .../sink/flume/FlumeTimelineMetricsSink.java    |   21 +-
 .../flume/FlumeTimelineMetricsSinkTest.java     |    2 +-
 .../ambari-metrics-hadoop-sink/pom.xml          |    8 +-
 .../ambari-metrics-host-monitoring/pom.xml      |    8 +-
 .../ambari-metrics-kafka-sink/pom.xml           |    8 +-
 .../ambari-metrics-storm-sink/pom.xml           |    8 +-
 .../ambari-metrics-timelineservice/pom.xml      |   10 +-
 ambari-metrics/pom.xml                          |   21 +-
 ambari-project/pom.xml                          |    4 +-
 ambari-server/conf/unix/ambari.properties       |   13 +-
 ambari-server/conf/windows/ambari.properties    |    9 +-
 ambari-server/pom.xml                           |   10 +-
 .../java/org/apache/ambari/server/Role.java     |    1 +
 .../ambari/server/agent/HeartBeatHandler.java   |    2 +-
 .../ambari/server/agent/RecoveryConfig.java     |   26 +
 .../resources/ResourceInstanceFactoryImpl.java  |   10 +-
 .../server/api/services/AmbariMetaInfo.java     |   21 +-
 .../api/services/KerberosDescriptorService.java |   90 +
 .../server/checks/AbstractCheckDescriptor.java  |   56 +-
 .../ambari/server/checks/CheckDescription.java  |    7 +
 .../server/checks/ClientRetryPropertyCheck.java |   17 +-
 .../checks/ComponentsInstallationCheck.java     |  100 +
 .../server/checks/ConfigurationMergeCheck.java  |   29 +-
 .../HiveDynamicServiceDiscoveryCheck.java       |   15 +-
 .../checks/HiveMultipleMetastoreCheck.java      |   13 +-
 .../server/checks/HostsHeartbeatCheck.java      |    2 +-
 .../checks/HostsMasterMaintenanceCheck.java     |   15 +-
 .../checks/HostsRepositoryVersionCheck.java     |   11 +-
 ...apReduce2JobHistoryStatePreservingCheck.java |    7 +-
 .../checks/SecondaryNamenodeDeletedCheck.java   |   15 +-
 .../checks/ServicesMaintenanceModeCheck.java    |    3 +-
 .../ServicesMapReduceDistributedCacheCheck.java |   10 +-
 .../ServicesNamenodeHighAvailabilityCheck.java  |   13 +-
 .../checks/ServicesNamenodeTruncateCheck.java   |   11 +-
 .../ServicesTezDistributedCacheCheck.java       |   10 +-
 .../ambari/server/checks/ServicesUpCheck.java   |    4 +-
 .../checks/ServicesYarnWorkPreservingCheck.java |   14 +-
 .../ambari/server/checks/UpgradeCheck.java      |    8 +
 .../server/checks/UpgradeCheckRegistry.java     |   19 +
 .../checks/YarnRMHighAvailabilityCheck.java     |   13 +-
 .../YarnTimelineServerStatePreservingCheck.java |    7 +-
 .../server/configuration/Configuration.java     |   99 +-
 .../controller/AmbariActionExecutionHelper.java |  109 +-
 .../AmbariCustomCommandExecutionHelper.java     |   13 +-
 .../server/controller/AmbariHandlerList.java    |    8 +-
 .../AmbariManagementControllerImpl.java         |   18 +-
 .../ambari/server/controller/AmbariServer.java  |    4 +-
 .../server/controller/ControllerModule.java     |   83 +-
 .../server/controller/KerberosHelper.java       |   33 +-
 .../server/controller/KerberosHelperImpl.java   |  187 +-
 .../server/controller/PrereqCheckRequest.java   |   20 +-
 .../controller/ResourceProviderFactory.java     |    8 +
 .../server/controller/ShortTaskStatus.java      |   23 +-
 .../AbstractControllerResourceProvider.java     |    2 +
 .../internal/AbstractPropertyProvider.java      |   11 +-
 .../BlueprintConfigurationProcessor.java        |    7 +-
 .../ClusterStackVersionResourceProvider.java    |    6 +-
 ...atibleRepositoryVersionResourceProvider.java |    3 -
 .../KerberosDescriptorResourceProvider.java     |  182 +
 .../PreUpgradeCheckResourceProvider.java        |   54 +-
 .../RepositoryVersionResourceProvider.java      |  102 +-
 .../internal/StackDefinedPropertyProvider.java  |   25 -
 .../internal/UpgradeResourceProvider.java       |  281 +-
 .../controller/jmx/JMXPropertyProvider.java     |    2 -
 .../metrics/timeline/AMSPropertyProvider.java   |   14 +-
 .../ambari/server/controller/spi/Resource.java  |   10 +-
 .../ambari/server/metadata/ActionMetadata.java  |    4 +-
 .../ambari/server/orm/dao/ClusterDAO.java       |   24 +
 .../server/orm/dao/ClusterVersionDAO.java       |   23 +
 .../apache/ambari/server/orm/dao/CrudDAO.java   |   15 +
 .../ambari/server/orm/dao/HostVersionDAO.java   |   42 +-
 .../server/orm/dao/KerberosDescriptorDAO.java   |  107 +
 .../server/orm/dao/RepositoryVersionDAO.java    |    7 +-
 .../ambari/server/orm/dao/UpgradeDAO.java       |   19 +-
 .../orm/entities/KerberosDescriptorEntity.java  |   56 +
 .../orm/entities/RepositoryVersionEntity.java   |   18 +-
 .../server/orm/entities/UpgradeEntity.java      |  102 +
 .../security/AbstractSecurityHeaderFilter.java  |  143 +
 .../AmbariServerSecurityHeaderFilter.java       |   37 +
 .../AmbariViewsSecurityHeaderFilter.java        |   37 +
 .../server/security/SecurityHeaderFilter.java   |  121 -
 .../kerberos/ADKerberosOperationHandler.java    |   28 +-
 .../kerberos/KerberosCredential.java            |  303 --
 .../kerberos/KerberosOperationHandler.java      |   79 +-
 .../kerberos/KerberosServerAction.java          |    3 +-
 .../kerberos/MITKerberosOperationHandler.java   |  182 +-
 .../serveraction/upgrades/ConfigureAction.java  |   23 +-
 .../upgrades/FinalizeUpgradeAction.java         |   82 +-
 .../upgrades/UpdateDesiredStackAction.java      |  139 +
 .../server/stack/ModuleFileUnmarshaller.java    |    4 +-
 .../server/stack/StackDefinitionDirectory.java  |    2 +
 .../ambari/server/stack/StackDirectory.java     |   52 +-
 .../ambari/server/stack/StackManager.java       |    2 +-
 .../apache/ambari/server/stack/StackModule.java |    2 +-
 .../apache/ambari/server/state/ServiceImpl.java |   19 +-
 .../apache/ambari/server/state/StackInfo.java   |   31 +-
 .../ambari/server/state/UpgradeContext.java     |   75 +-
 .../ambari/server/state/UpgradeHelper.java      |  157 +-
 .../server/state/stack/ConfigUpgradePack.java   |  192 +
 .../ambari/server/state/stack/Metric.java       |   11 +
 .../ambari/server/state/stack/UpgradePack.java  |  132 +-
 .../state/stack/upgrade/ClusterGrouping.java    |   27 +-
 .../upgrade/ConfigUpgradeChangeDefinition.java  |  420 ++
 .../state/stack/upgrade/ConfigureTask.java      |  335 +-
 .../server/state/stack/upgrade/ExecuteTask.java |   12 +
 .../server/state/stack/upgrade/Grouping.java    |   37 +-
 .../server/state/stack/upgrade/ManualTask.java  |    4 +
 .../stack/upgrade/RepositoryVersionHelper.java  |   43 +-
 .../state/stack/upgrade/RestartGrouping.java    |   36 +
 .../server/state/stack/upgrade/RestartTask.java |   14 +-
 .../state/stack/upgrade/ServerActionTask.java   |    4 +
 .../stack/upgrade/ServerSideActionTask.java     |    7 +
 .../stack/upgrade/ServiceCheckGrouping.java     |   46 +-
 .../state/stack/upgrade/ServiceCheckTask.java   |   12 +
 .../state/stack/upgrade/StageWrapper.java       |    6 +-
 .../stack/upgrade/StageWrapperBuilder.java      |   12 +-
 .../state/stack/upgrade/StartGrouping.java      |   36 +
 .../server/state/stack/upgrade/StartTask.java   |   53 +
 .../state/stack/upgrade/StopGrouping.java       |   36 +
 .../server/state/stack/upgrade/StopTask.java    |   53 +
 .../ambari/server/state/stack/upgrade/Task.java |   22 +-
 .../stack/upgrade/UpdateStackGrouping.java      |   36 +
 .../state/stack/upgrade/UpgradeFunction.java    |   26 +
 .../server/state/stack/upgrade/UpgradeType.java |   36 +
 .../svccomphost/ServiceComponentHostImpl.java   |    1 -
 .../server/state/theme/ConfigCondition.java     |   11 +
 .../server/topology/KerberosDescriptor.java     |   26 +
 .../topology/KerberosDescriptorFactory.java     |   30 +
 .../server/topology/KerberosDescriptorImpl.java |   50 +
 .../server/upgrade/AbstractUpgradeCatalog.java  |   14 +
 .../server/upgrade/SchemaUpgradeHelper.java     |    3 +
 .../server/upgrade/UpgradeCatalog210.java       |  168 +-
 .../server/upgrade/UpgradeCatalog213.java       |  232 +-
 .../server/utils/EventBusSynchronizer.java      |  139 +
 ambari-server/src/main/python/ambari-server.py  |    6 +-
 .../python/ambari_server/serverClassPath.py     |  115 +
 .../python/ambari_server/serverConfiguration.py |   42 +-
 .../main/python/ambari_server/serverSetup.py    |   10 +-
 .../main/python/ambari_server/serverUpgrade.py  |   27 +-
 .../main/python/ambari_server/setupSecurity.py  |   18 +-
 .../src/main/python/ambari_server_main.py       |   28 +-
 .../main/resources/Ambari-DDL-MySQL-CREATE.sql  |   11 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql |   11 +-
 .../resources/Ambari-DDL-Postgres-CREATE.sql    |   11 +-
 .../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql     |   12 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql |    8 +
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   |   11 +-
 .../src/main/resources/META-INF/persistence.xml |    1 +
 .../1.6.1.2.2.0/configuration/accumulo-env.xml  |    1 +
 .../package/scripts/accumulo_service.py         |    8 +-
 .../0.1.0/configuration/ams-env.xml             |    1 +
 .../0.1.0/configuration/ams-hbase-site.xml      |    2 +-
 .../0.1.0/package/scripts/params.py             |    2 +-
 .../ATLAS/0.1.0.2.3/configuration/atlas-env.xml |    1 +
 .../0.5.0.2.1/configuration/falcon-env.xml      |    1 +
 .../FLUME/1.4.0.2.0/configuration/flume-env.xml |    1 +
 .../FLUME/1.4.0.2.0/metrics.json                |   81 +-
 .../0.96.0.2.0/configuration/hbase-env.xml      |    1 +
 .../HBASE/0.96.0.2.0/metrics.json               |    2 +-
 .../HBASE/0.96.0.2.0/package/scripts/hbase.py   |    3 +
 .../0.96.0.2.0/package/scripts/hbase_upgrade.py |    6 +-
 .../0.96.0.2.0/package/scripts/params_linux.py  |    8 +
 .../HBASE/0.96.0.2.0/package/scripts/upgrade.py |    7 +-
 .../common-services/HDFS/2.1.0.2.0/alerts.json  |   25 +-
 .../HDFS/2.1.0.2.0/configuration/hadoop-env.xml |   10 +
 .../common-services/HDFS/2.1.0.2.0/metrics.json |   64 +-
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py  |   15 +
 .../2.1.0.2.0/package/scripts/params_linux.py   |    9 +-
 .../HDFS/2.1.0.2.0/package/scripts/utils.py     |  117 +-
 .../HIVE/0.12.0.2.0/configuration/hive-env.xml  |    3 +
 .../package/scripts/hive_metastore.py           |   30 +-
 .../0.12.0.2.0/package/scripts/params_linux.py  |   20 +-
 .../0.8.1.2.2/configuration/kafka-broker.xml    |    2 +-
 .../KAFKA/0.8.1.2.2/configuration/kafka-env.xml |    1 +
 .../KAFKA/0.8.1.2.2/package/scripts/kafka.py    |    5 +-
 .../KAFKA/0.8.1.2.2/package/scripts/params.py   |   10 -
 .../KNOX/0.5.0.2.2/configuration/knox-env.xml   |    2 +
 .../ranger-knox-plugin-properties.xml           |    6 +
 .../1.0.0.2.3/configuration/mahout-env.xml      |    1 +
 .../OOZIE/4.0.0.2.0/configuration/oozie-env.xml |    1 +
 .../4.0.0.2.0/package/scripts/params_linux.py   |    4 +-
 .../RANGER/0.4.0/configuration/ranger-env.xml   |  109 +
 .../RANGER/0.4.0/package/scripts/params.py      |   10 +
 .../0.4.0/package/scripts/service_check.py      |   19 +-
 .../0.4.0/package/scripts/setup_ranger_xml.py   |   10 +-
 .../0.5.0.2.3/configuration/kms-env.xml         |    2 +
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py |   22 +-
 .../SPARK/1.2.0.2.2/configuration/spark-env.xml |    2 +
 .../configurations/spark-hive-site-override.xml |   36 -
 .../configurations/spark-thrift-sparkconf.xml   |  125 -
 .../SQOOP/1.4.4.2.0/configuration/sqoop-env.xml |    1 +
 .../STORM/0.9.1.2.1/configuration/storm-env.xml |    1 +
 .../TEZ/0.4.0.2.1/configuration/tez-env.xml     |    1 +
 .../configuration-mapred/mapred-env.xml         |    1 +
 .../YARN/2.1.0.2.0/configuration/yarn-env.xml   |    1 +
 .../2.1.0.2.0/package/scripts/params_linux.py   |    3 +
 .../YARN/2.1.0.2.0/package/scripts/yarn.py      |   10 +-
 .../3.4.5.2.0/configuration/zookeeper-env.xml   |    1 +
 .../3.4.5.2.0/package/files/zkSmoke.sh          |   14 +
 .../system_action_definitions.xml               |   10 +
 .../custom_actions/scripts/update_repo.py       |   71 +
 .../src/main/resources/jmx_properties.json      | 4654 ++++++------------
 .../src/main/resources/key_properties.json      |    3 +
 .../src/main/resources/properties.json          |    8 +-
 .../BIGTOP/0.8/configuration/cluster-env.xml    |    2 +
 .../services/FLUME/configuration/flume-env.xml  |    1 +
 .../services/HBASE/configuration/hbase-env.xml  |    1 +
 .../services/HDFS/configuration/hadoop-env.xml  |    2 +
 .../services/HIVE/configuration/hive-env.xml    |    3 +
 .../services/OOZIE/configuration/oozie-env.xml  |    1 +
 .../YARN/configuration-mapred/mapred-env.xml    |    1 +
 .../services/YARN/configuration/yarn-env.xml    |    1 +
 .../ZOOKEEPER/configuration/zookeeper-env.xml   |    1 +
 .../GLUSTERFS/configuration/hadoop-env.xml      |    2 +
 .../services/YARN/configuration/yarn-env.xml    |    1 +
 .../HDP/2.0.6/configuration/cluster-env.xml     |    2 +
 .../2.0.6/hooks/after-INSTALL/scripts/params.py |    6 +-
 .../2.0.6/hooks/before-ANY/scripts/params.py    |    9 +-
 .../2.0.6/hooks/before-START/scripts/params.py  |    6 +-
 .../stacks/HDP/2.0.6/services/stack_advisor.py  |   72 +
 .../main/resources/stacks/HDP/2.0/metainfo.xml  |    2 +-
 .../FALCON/configuration/falcon-env.xml         |    1 +
 .../GLUSTERFS/configuration/hadoop-env.xml      |    2 +
 .../services/STORM/configuration/storm-env.xml  |    1 +
 .../services/TEZ/configuration/tez-env.xml      |    1 +
 .../services/YARN/configuration/yarn-env.xml    |    1 +
 .../HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml |  384 ++
 .../services/HBASE/configuration/hbase-env.xml  |    8 +-
 .../ranger-hbase-plugin-properties.xml          |    6 +
 .../services/HDFS/configuration/hadoop-env.xml  |    8 +
 .../ranger-hdfs-plugin-properties.xml           |    6 +
 .../services/HIVE/configuration/hive-env.xml    |    6 +
 .../stacks/HDP/2.2/services/RANGER/metainfo.xml |    6 +
 .../services/RANGER/themes/theme_version_1.json |  194 +
 .../ranger-storm-plugin-properties.xml          |    6 +
 .../stacks/HDP/2.2/services/stack_advisor.py    |  104 +-
 .../stacks/HDP/2.2/upgrades/config-upgrade.xml  |   55 +
 .../HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml |  469 ++
 .../stacks/HDP/2.2/upgrades/upgrade-2.2.xml     |  123 +-
 .../stacks/HDP/2.2/upgrades/upgrade-2.3.xml     |  751 +--
 .../GLUSTERFS/configuration/hadoop-env.xml      |    2 +
 .../services/HBASE/configuration/hbase-env.xml  |    9 +-
 .../HBASE/configuration/ranger-hbase-audit.xml  |   43 +-
 .../stacks/HDP/2.3/services/HBASE/metrics.json  |    2 +-
 .../services/HDFS/configuration/hadoop-env.xml  |    8 +
 .../HDFS/configuration/ranger-hdfs-audit.xml    |   43 +-
 .../HIVE/configuration/ranger-hive-audit.xml    |   43 +-
 .../KAFKA/configuration/ranger-kafka-audit.xml  |   45 +-
 .../ranger-kafka-plugin-properties.xml          |    8 +-
 .../KNOX/configuration/ranger-knox-audit.xml    |   43 +-
 .../RANGER/configuration/ranger-admin-site.xml  |   36 +-
 .../RANGER/configuration/ranger-env.xml         |  147 +-
 .../RANGER/configuration/ranger-ugsync-site.xml |   49 +-
 .../stacks/HDP/2.3/services/RANGER/metainfo.xml |    2 +-
 .../HDP/2.3/services/RANGER/themes/theme.json   | 1008 ----
 .../services/RANGER/themes/theme_version_2.json | 1537 ++++++
 .../configuration/spark-hive-site-override.xml  |   36 +
 .../configuration/spark-thrift-sparkconf.xml    |  125 +
 .../STORM/configuration/ranger-storm-audit.xml  |   43 +-
 .../YARN/configuration/ranger-yarn-audit.xml    |   43 +-
 .../ranger-yarn-plugin-properties.xml           |    6 +
 .../stacks/HDP/2.3/services/stack_advisor.py    |   73 +-
 .../stacks/HDP/2.3/upgrades/config-upgrade.xml  |  807 +++
 .../stacks/HDP/2.3/upgrades/upgrade-2.3.xml     |  143 +-
 .../HDPWIN/2.1/configuration/cluster-env.xml    |    2 +
 .../server/api/services/AmbariMetaInfoTest.java |  162 +-
 .../services/KerberosServiceMetaInfoTest.java   |    2 +-
 .../ambari/server/bootstrap/BootStrapTest.java  |    4 +-
 .../checks/ComponentsInstallationCheckTest.java |  245 +
 .../checks/ConfigurationMergeCheckTest.java     |   32 +-
 .../checks/HostsMasterMaintenanceCheckTest.java |   14 +-
 .../checks/HostsRepositoryVersionCheckTest.java |    5 +-
 .../SecondaryNamenodeDeletedCheckTest.java      |   16 +-
 ...vicesMapReduceDistributedCacheCheckTest.java |   14 +-
 ...rvicesNamenodeHighAvailabilityCheckTest.java |   10 +-
 .../ServicesNamenodeTruncateCheckTest.java      |   10 +-
 .../ServicesTezDistributedCacheCheckTest.java   |   15 +-
 .../server/checks/ServicesUpCheckTest.java      |    1 +
 .../ServicesYarnWorkPreservingCheckTest.java    |   10 +-
 .../checks/UpgradeCheckStackVersionTest.java    |  170 -
 .../controller/AmbariHandlerListTest.java       |    8 +-
 .../AmbariManagementControllerImplTest.java     |   48 +
 .../AmbariManagementControllerTest.java         |  132 +-
 .../server/controller/KerberosHelperTest.java   |  424 +-
 .../BlueprintConfigurationProcessorTest.java    |   26 +-
 ...leRepositoryVersionResourceProviderTest.java |   16 +
 .../KerberosDescriptorResourceProviderTest.java |  160 +
 .../RepositoryVersionResourceProviderTest.java  |  109 +-
 .../StackDefinedPropertyProviderTest.java       |   10 -
 .../UpgradeResourceProviderHDP22Test.java       |    3 +-
 .../internal/UpgradeResourceProviderTest.java   |  196 +-
 .../metrics/JMXPropertyProviderTest.java        |   95 -
 .../server/orm/InMemoryDefaultTestModule.java   |    2 +-
 .../ambari/server/orm/JdbcPropertyTest.java     |    2 +-
 .../apache/ambari/server/orm/OrmTestHelper.java |    2 +-
 .../ambari/server/orm/dao/CrudDAOTest.java      |    1 -
 .../orm/dao/KerberosDescriptorDAOTest.java      |   82 +
 .../orm/dao/RepositoryVersionDAOTest.java       |    8 +-
 .../ambari/server/orm/dao/UpgradeDAOTest.java   |   14 +-
 .../scheduler/ExecutionScheduleManagerTest.java |  169 +-
 .../AbstractSecurityHeaderFilterTest.java       |  329 ++
 .../AmbariServerSecurityHeaderFilterTest.java   |   51 +
 .../AmbariViewsSecurityHeaderFilterTest.java    |   52 +
 .../security/SecurityHeaderFilterTest.java      |  318 --
 .../authorization/AuthorizationTestModule.java  |    2 +-
 ...thorizationTestModuleForLdapDNWithSpace.java |    2 +-
 .../ADKerberosOperationHandlerTest.java         |   19 +-
 .../kerberos/KerberosCredentialTest.java        |  103 -
 .../kerberos/KerberosOperationHandlerTest.java  |   31 +-
 .../kerberos/KerberosServerActionTest.java      |   10 +-
 .../MITKerberosOperationHandlerTest.java        |   25 +-
 .../upgrades/ConfigureActionTest.java           |   39 +-
 .../upgrades/UpgradeActionTest.java             |   94 +-
 .../ambari/server/state/ConfigHelperTest.java   |    5 -
 .../ambari/server/state/UpgradeHelperTest.java  |  164 +-
 .../state/stack/ConfigUpgradePackTest.java      |  198 +
 .../server/state/stack/UpgradePackTest.java     |  190 +-
 .../stack/upgrade/StageWrapperBuilderTest.java  |    4 +-
 .../server/upgrade/UpgradeCatalog210Test.java   |   80 +-
 .../server/upgrade/UpgradeCatalog213Test.java   |  383 +-
 .../ambari/server/upgrade/UpgradeTest.java      |    3 +-
 .../server/utils/EventBusSynchronizer.java      |  139 -
 .../src/test/python/TestAmbariServer.py         |   73 +-
 .../src/test/python/TestBootstrap.py.orig       |  879 ----
 .../src/test/python/TestServerClassPath.py      |   89 +
 .../python/custom_actions/TestUpdateRepo.py     |   89 +
 .../python/stacks/2.0.6/FLUME/test_flume.py     |    8 +-
 .../stacks/2.0.6/HBASE/test_hbase_master.py     |    2 +-
 .../2.0.6/HBASE/test_hbase_regionserver.py      |  110 +
 .../python/stacks/2.0.6/HDFS/test_namenode.py   |   17 +-
 .../stacks/2.0.6/HIVE/test_hcat_client.py       |    8 +-
 .../stacks/2.0.6/HIVE/test_hive_metastore.py    |    8 +
 .../stacks/2.0.6/HIVE/test_webhcat_server.py    |   24 +-
 .../stacks/2.0.6/YARN/test_historyserver.py     |    6 +
 .../stacks/2.0.6/YARN/test_nodemanager.py       |    7 +-
 .../stacks/2.0.6/common/test_stack_advisor.py   |  169 +
 .../2.0.6/configs/hbase-rs-2.2-phoenix.json     |  754 +++
 .../2.0.6/configs/ranger-namenode-start.json    |    3 +
 .../stacks/2.1/HIVE/test_hive_metastore.py      |    8 +-
 .../2.1/configs/secured-storm-start.json.orig   |  374 --
 .../stacks/2.2/common/test_stack_advisor.py     |    2 +-
 .../2.2/configs/ranger-admin-default.json       |    3 +
 .../2.2/configs/ranger-admin-secured.json       |    3 +
 .../2.2/configs/ranger-admin-upgrade.json       |    5 +-
 .../2.2/configs/ranger-usersync-upgrade.json    |    5 +-
 .../services/HDFS/configuration/hadoop-env.xml  |    4 +
 .../services/FLUME/configuration/flume-env.xml  |    1 +
 .../services/FLUME/configuration/flume-env.xml  |    1 +
 .../HDP/2.1.1/upgrades/config-upgrade.xml       |  101 +
 .../HDP/2.1.1/upgrades/upgrade_bucket_test.xml  |   17 +-
 .../HDP/2.1.1/upgrades/upgrade_direction.xml    |    6 +-
 .../stacks/HDP/2.1.1/upgrades/upgrade_test.xml  |   61 +-
 .../HDP/2.1.1/upgrades/upgrade_test_checks.xml  |   30 +-
 .../2.1.1/upgrades/upgrade_test_nonrolling.xml  |  182 +
 .../HDP/2.1.1/upgrades/upgrade_to_new_stack.xml |   24 +-
 .../HDP/2.2.0/upgrades/config-upgrade.xml       |  101 +
 .../stacks/HDP/2.2.0/upgrades/upgrade_test.xml  |   21 +-
 .../HDP/2.2.0/upgrades/upgrade_test_checks.xml  |   30 +-
 .../upgrades/upgrade_test_skip_failures.xml     |    4 +-
 .../services/HDFS/configuration/hadoop-env.xml  |    3 +
 ambari-shell/ambari-groovy-shell/pom.xml        |    6 +-
 ambari-shell/ambari-python-shell/pom.xml        |    4 +-
 ambari-shell/pom.xml                            |    4 +-
 ambari-views/pom.xml                            |    8 +-
 .../assets/data/cluster_metrics/cpu_1hr.json    |   10 +-
 .../assets/data/cluster_metrics/load_1hr.json   |    8 +-
 .../assets/data/cluster_metrics/memory_1hr.json |   12 +-
 .../data/cluster_metrics/network_1hr.json       |    4 +-
 ambari-web/app/assets/test/tests.js             |    7 +-
 ambari-web/app/config.js                        |    4 +-
 ambari-web/app/controllers.js                   |    1 +
 .../controllers/global/cluster_controller.js    |    2 +
 .../global/user_settings_controller.js          |  166 +-
 ambari-web/app/controllers/main.js              |  110 +-
 .../nameNode/step3_controller.js                |   27 +-
 .../app/controllers/main/admin/kerberos.js      |    5 +
 .../main/admin/kerberos/step2_controller.js     |   10 +-
 .../main/admin/kerberos/wizard_controller.js    |    1 +
 .../main/admin/stack_and_upgrade_controller.js  |  309 +-
 .../alert_definitions_actions_controller.js     |    4 +-
 .../charts/heatmap_metrics/heatmap_metric.js    |    4 +-
 ambari-web/app/controllers/main/host/details.js |   26 +-
 .../controllers/main/service/info/configs.js    |    5 +-
 ambari-web/app/controllers/main/service/item.js |    4 +-
 .../service/manage_config_groups_controller.js  |    5 +-
 ambari-web/app/controllers/wizard.js            |    7 +
 .../step7/pre_install_checks_controller.js      |   95 +
 .../app/controllers/wizard/step7_controller.js  |  126 +-
 .../app/controllers/wizard/step8_controller.js  |    2 +-
 ambari-web/app/data/HDP2.3/site_properties.js   |   78 +
 ambari-web/app/data/HDP2/site_properties.js     |   22 +-
 ambari-web/app/mappers/cluster_mapper.js        |    4 +-
 ambari-web/app/mappers/configs/themes_mapper.js |   17 +-
 .../app/mappers/service_metrics_mapper.js       |    4 +-
 ambari-web/app/messages.js                      |   41 +-
 ambari-web/app/mixins.js                        |    1 +
 .../app/mixins/common/configs/configs_saver.js  |    2 +-
 .../mixins/common/configs/enhanced_configs.js   |    4 +-
 .../common/kdc_credentials_controller_mixin.js  |  145 +
 .../common/widgets/export_metrics_mixin.js      |   19 +-
 .../mixins/wizard/assign_master_components.js   |   76 +-
 .../app/models/alerts/alert_definition.js       |    2 +-
 ambari-web/app/models/alerts/alert_instance.js  |    2 +-
 ambari-web/app/models/cluster.js                |   10 +-
 .../app/models/configs/config_condition.js      |    5 +
 .../configs/objects/service_config_property.js  |   15 +
 .../models/configs/service_config_version.js    |    2 +-
 .../app/models/configs/theme/sub_section.js     |   10 +-
 .../app/models/configs/theme/sub_section_tab.js |    4 +-
 ambari-web/app/models/configs/theme/tab.js      |    5 +
 ambari-web/app/models/stack_service.js          |   10 +-
 ambari-web/app/router.js                        |  195 +-
 ambari-web/app/routes/installer.js              |   47 +
 ambari-web/app/routes/main.js                   |    3 +-
 ambari-web/app/routes/stack_upgrade_routes.js   |    2 +-
 ambari-web/app/styles/application.less          |  167 +-
 ambari-web/app/styles/common.less               |   18 +-
 .../app/styles/enhanced_service_dashboard.less  |   78 +-
 ambari-web/app/styles/stack_versions.less       |  119 +
 .../app/templates/common/chart/linear_time.hbs  |   15 +-
 .../common/configs/service_config_category.hbs  |   28 +-
 .../configs/service_config_layout_tab.hbs       |    3 +
 .../templates/common/export_metrics_menu.hbs    |   22 +
 .../common/form/manage_credentilas_form.hbs     |   58 +
 .../common/modal_popups/invalid_KDC_popup.hbs   |   14 +
 ambari-web/app/templates/common/settings.hbs    |    4 +-
 .../templates/common/widget/gauge_widget.hbs    |   14 +-
 .../templates/common/widget/graph_widget.hbs    |   25 +-
 .../templates/common/widget/number_widget.hbs   |    8 +-
 .../templates/common/widget/template_widget.hbs |   14 +-
 .../app/templates/main/admin/kerberos.hbs       |    3 +
 .../stack_upgrade/stack_upgrade_wizard.hbs      |    3 +
 .../admin/stack_upgrade/upgrade_options.hbs     |   55 +
 .../app/templates/main/charts/linear_time.hbs   |    9 +-
 .../app/templates/main/dashboard/widgets.hbs    |    7 -
 .../main/dashboard/widgets/cluster_metrics.hbs  |    9 +-
 ambari-web/app/templates/main/host/summary.hbs  |    9 -
 .../app/templates/main/service/info/summary.hbs |    3 -
 ambari-web/app/templates/wizard/step7.hbs       |    9 +-
 ambari-web/app/utils/ajax/ajax.js               |  115 +-
 .../app/utils/configs/config_property_helper.js |   26 +
 ambari-web/app/utils/credentials.js             |  282 ++
 ambari-web/app/utils/data_manipulation.js       |    2 +-
 ambari-web/app/utils/date.js                    |  242 -
 ambari-web/app/utils/date/date.js               |  215 +
 ambari-web/app/utils/date/timezone.js           |  226 +
 ambari-web/app/utils/db.js                      |    2 +-
 ambari-web/app/utils/file_utils.js              |    2 -
 ambari-web/app/utils/helper.js                  |   14 +-
 ambari-web/app/utils/host_progress_popup.js     |    2 +-
 ambari-web/app/views.js                         |    3 +
 .../app/views/common/chart/linear_time.js       |   46 +-
 .../configs/service_config_layout_tab_view.js   |   21 +-
 .../views/common/configs/service_config_view.js |   19 +-
 .../configs/widgets/config_widget_view.js       |   98 +-
 ambari-web/app/views/common/controls_view.js    |   18 +-
 .../views/common/export_metrics_menu_view.js    |   27 +
 .../common/form/manage_credentials_form_view.js |  206 +
 ambari-web/app/views/common/modal_popup.js      |   16 +-
 .../common/modal_popups/cluster_check_popup.js  |   55 +
 .../common/modal_popups/invalid_KDC_popup.js    |   56 +
 .../manage_kdc_credentials_popup.js             |   58 +
 .../views/common/widget/graph_widget_view.js    |   23 +-
 .../app/views/main/alert_definitions_view.js    |    2 +-
 ambari-web/app/views/main/alerts.js             |    2 +-
 .../views/main/charts/heatmap/heatmap_host.js   |    4 +-
 .../main/dashboard/cluster_metrics/memory.js    |   10 +-
 ambari-web/app/views/main/dashboard/widgets.js  |    7 -
 .../dashboard/widgets/cluster_metrics_widget.js |    7 +-
 .../main/dashboard/widgets/links_widget.js      |    2 +-
 .../widgets/resource_manager_uptime.js          |    2 +-
 .../views/main/dashboard/widgets/text_widget.js |    2 +-
 .../dashboard/widgets/uptime_text_widget.js     |    2 +-
 ambari-web/app/views/main/host.js               |    2 +-
 ambari-web/app/views/main/host/configs.js       |    2 +-
 ambari-web/app/views/main/host/details.js       |    2 +-
 ambari-web/app/views/main/host/summary.js       |    6 -
 .../app/views/main/service/info/summary.js      |   19 -
 .../views/main/service/reassign/step5_view.js   |   10 +-
 .../app/views/main/service/services/flume.js    |    4 +-
 .../app/views/main/service/services/hbase.js    |    2 +-
 .../app/views/main/service/services/hdfs.js     |    2 +-
 .../app/views/main/service/services/storm.js    |    2 +-
 .../app/views/main/service/services/yarn.js     |    2 +-
 ambari-web/app/views/main/views/details.js      |    1 +
 .../views/wizard/step9/hostLogPopupBody_view.js |    4 +-
 ambari-web/app/views/wizard/step9_view.js       |    2 +-
 ambari-web/pom.xml                              |    8 +-
 .../admin/stack_and_upgrade_controller_test.js  |   64 +-
 .../heatmap_metrics/heatmap_metric_test.js      |    2 +-
 .../test/controllers/main/host/details_test.js  |   18 +
 .../step7/pre_install_checks_controller_test.js |   84 +
 .../test/controllers/wizard/step7_test.js       |  148 +-
 .../mappers/alert_definitions_mapper_test.js    |    3 +-
 .../test/mappers/configs/themes_mapper_test.js  |    6 +-
 .../kdc_credentials_controller_mixin_test.js    |  167 +
 .../common/widgets/export_metrics_mixin_test.js |   74 +-
 ambari-web/test/router_test.js                  |  284 ++
 ambari-web/test/utils/ajax/ajax_test.js         |   33 +
 ambari-web/test/utils/date/date_test.js         |  185 +
 ambari-web/test/utils/date/timezone_test.js     |  175 +
 ambari-web/test/utils/date_test.js              |  185 -
 .../test/views/common/chart/linear_time_test.js |   58 +-
 .../form/manage_kdc_credentials_form_test.js    |  136 +
 .../common/widget/graph_widget_view_test.js     |  112 +
 .../dashboard/cluster_metrics/memory_test.js    |  197 +-
 .../widgets/cluster_metrics_widget_test.js      |   88 +
 .../test/views/main/dashboard/widgets_test.js   |   13 -
 .../moment-timezone-with-data-2010-2020.js      |  299 +-
 contrib/alert-snmp-mib/APACHE-AMBARI-MIB.txt    |  206 +
 contrib/alert-snmp-mib/README.md                |   73 +
 contrib/alert-snmp-mib/snmp_mib_script.sh       |   35 +
 contrib/views/capacity-scheduler/pom.xml        |    6 +-
 contrib/views/files/pom.xml                     |    6 +-
 contrib/views/hive/pom.xml                      |    8 +-
 .../browser/HiveBrowserService.java.orig        |  282 --
 .../view/hive/resources/files/FileService.java  |    3 +
 .../hive/resources/jobs/JobService.java.orig    |  476 --
 .../hive-web/app/components/typeahead-widget.js |    3 +
 .../ui/hive-web/app/controllers/query-tabs.js   |    5 -
 .../resources/ui/hive-web/app/styles/app.scss   |    5 +
 .../app/templates/components/navbar-widget.hbs  |    2 +-
 .../ui/hive-web/app/templates/databases.hbs     |    4 +-
 .../ui/hive-web/app/templates/query-tabs.hbs    |   31 +-
 .../ui/hive-web/app/utils/constants.js          |    2 +-
 contrib/views/jobs/pom.xml                      |    8 +-
 contrib/views/pig/pom.xml                       |    8 +-
 contrib/views/pom.xml                           |    8 +-
 contrib/views/slider/pom.xml                    |    6 +-
 contrib/views/storm/pom.xml                     |    4 +-
 contrib/views/tez/pom.xml                       |   10 +-
 contrib/views/utils/pom.xml                     |    9 +-
 .../view/utils/hdfs/ConfigurationBuilder.java   |   45 +-
 dev-support/test-patch.sh                       |    2 +-
 docs/pom.xml                                    |    2 +-
 pom.xml                                         |   10 +-
 579 files changed, 22015 insertions(+), 14274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
----------------------------------------------------------------------
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
index be78cb6,062b0cb..387e4cd
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
@@@ -51,8 -52,9 +51,10 @@@ import org.apache.ambari.server.orm.ent
  import org.apache.ambari.server.orm.entities.RepositoryEntity;
  import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
  import org.apache.ambari.server.orm.entities.StackEntity;
+ import org.apache.ambari.server.state.Cluster;
+ import org.apache.ambari.server.state.Clusters;
  import org.apache.ambari.server.state.OperatingSystemInfo;
 +import org.apache.ambari.server.state.RepositoryType;
  import org.apache.ambari.server.state.RepositoryVersionState;
  import org.apache.ambari.server.state.StackId;
  import org.apache.ambari.server.state.StackInfo;
@@@ -61,10 -64,8 +64,11 @@@ import org.apache.commons.lang.ObjectUt
  import org.apache.commons.lang.StringUtils;
  
  import com.google.common.collect.Lists;
 +import com.google.common.collect.Sets;
  import com.google.gson.Gson;
  import com.google.inject.Inject;
++import com.google.inject.Provider;
 +import com.google.inject.persist.Transactional;
  
  /**
   * Resource provider for repository versions resources.
@@@ -78,9 -79,6 +82,8 @@@ public class RepositoryVersionResourceP
    public static final String REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID      = PropertyHelper.getPropertyId("RepositoryVersions", "stack_version");
    public static final String REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId("RepositoryVersions", "repository_version");
    public static final String REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID       = PropertyHelper.getPropertyId("RepositoryVersions", "display_name");
-   public static final String REPOSITORY_VERSION_UPGRADE_PACK_PROPERTY_ID       = PropertyHelper.getPropertyId("RepositoryVersions", "upgrade_pack");
 +  public static final String REPOSITORY_VERSION_TYPE_PROPERTY_ID               = "RepositoryVersions/type";
 +  public static final String REPOSITORY_VERSION_COMPONENTS                     = "RepositoryVersions/components";
    public static final String SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID         = new OperatingSystemResourceDefinition().getPluralName();
    public static final String SUBRESOURCE_REPOSITORIES_PROPERTY_ID              = new RepositoryResourceDefinition().getPluralName();
  
@@@ -92,16 -90,16 +95,15 @@@
    };
  
    @SuppressWarnings("serial")
 -  public static Set<String> propertyIds = new HashSet<String>() {
 -    {
 -      add(REPOSITORY_VERSION_ID_PROPERTY_ID);
 -      add(REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID);
 -      add(REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID);
 -      add(REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID);
 -      add(REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID);
 -      add(SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID);
 -    }
 -  };
 +  public static Set<String> propertyIds = Sets.newHashSet(
 +      REPOSITORY_VERSION_ID_PROPERTY_ID,
 +      REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID,
 +      REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID,
 +      REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID,
 +      REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID,
-       REPOSITORY_VERSION_UPGRADE_PACK_PROPERTY_ID,
 +      SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID,
 +      REPOSITORY_VERSION_TYPE_PROPERTY_ID,
 +      REPOSITORY_VERSION_COMPONENTS);
  
    @SuppressWarnings("serial")
    public static Map<Type, String> keyPropertyIds = new HashMap<Type, String>() {
@@@ -220,24 -221,7 +225,23 @@@
        setResourceProperty(resource, REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID, entity.getStackName(), requestedIds);
        setResourceProperty(resource, REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID, entity.getStackVersion(), requestedIds);
        setResourceProperty(resource, REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, entity.getDisplayName(), requestedIds);
-       setResourceProperty(resource, REPOSITORY_VERSION_UPGRADE_PACK_PROPERTY_ID, entity.getUpgradePackage(), requestedIds);
        setResourceProperty(resource, REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID, entity.getVersion(), requestedIds);
 +      setResourceProperty(resource, REPOSITORY_VERSION_TYPE_PROPERTY_ID, entity.getType(), requestedIds);
 +
 +      if (isPropertyRequested(REPOSITORY_VERSION_COMPONENTS, requestedIds)) {
 +        Map<String, List<String>> map = new HashMap<>();
 +
 +        // !!! sort via ordering first?
 +
 +        for (RepositoryVersionEntity.Component comp : entity.getComponents()) {
 +          if (!map.containsKey(comp.getService())) {
 +            map.put(comp.getService(), new ArrayList<String>());
 +          }
 +          map.get(comp.getService()).add(comp.getComponent());
 +        }
 +
 +        setResourceProperty(resource, REPOSITORY_VERSION_COMPONENTS, map, requestedIds);
 +      }
  
        resources.add(resource);
      }
@@@ -469,32 -477,6 +497,30 @@@
        throw new AmbariException("Json structure for operating systems is incorrect", ex);
      }
      entity.setOperatingSystems(operatingSystemsJson);
-     entity.setUpgradePackage(repositoryVersionHelper.getUpgradePackageName(stackName, stackVersion, entity.getVersion()));
- 
 +
 +    List<RepositoryVersionEntity.Component> components = null;
 +    int i = 1;
 +
 +    for (Entry<String, Object> entry : properties.entrySet()) {
 +      if (entry.getKey().startsWith(REPOSITORY_VERSION_COMPONENTS)) {
 +        if (null == components) {
 +          components = new ArrayList<>();
 +        }
 +
 +        String serviceName = PropertyHelper.getPropertyName(entry.getKey());
 +        Collection<String> componentNames = (Collection<String>) entry.getValue();
 +
 +        for (String componentName : componentNames) {
 +          components.add(new RepositoryVersionEntity.Component(serviceName, componentName, i++));
 +        }
 +      }
 +    }
 +
 +    if (null != components) {
 +      entity.setType(RepositoryType.PATCH);
 +      entity.setComponents(components);
 +    }
 +
      return entity;
    }
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java
----------------------------------------------------------------------
diff --cc ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java
index 1e2b187,9f5f6f1..c7937f7
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java
@@@ -132,29 -133,9 +131,29 @@@ public class RepositoryVersionDAO exten
     * @return Returns the object created if successful, and throws an exception otherwise.
     * @throws AmbariException
     */
 +  public RepositoryVersionEntity create(StackEntity stackEntity,
-       String version, String displayName, String upgradePack,
++      String version, String displayName, 
 +      String operatingSystems) throws AmbariException {
-       return create(stackEntity, version, displayName, upgradePack, operatingSystems,
++      return create(stackEntity, version, displayName, operatingSystems,
 +          RepositoryType.STANDARD);
 +  }
 +
 +  /**
 +   * Validates and creates an object.
 +   * The version must be unique within this stack name (e.g., HDP, HDPWIN, BIGTOP).
 +   * @param stackEntity Stack entity.
 +   * @param version Stack version, e.g., 2.2 or 2.2.0.1-885
 +   * @param displayName Unique display name
 +   * @param upgradePack Optional upgrade pack, e.g, upgrade-2.2
 +   * @param operatingSystems JSON structure of repository URLs for each OS
 +   * @param type  the repository type
 +   * @return Returns the object created if successful, and throws an exception otherwise.
 +   * @throws AmbariException
 +   */
    @Transactional
    public RepositoryVersionEntity create(StackEntity stackEntity,
 -      String version, String displayName, String operatingSystems) throws AmbariException {
 +      String version, String displayName, String upgradePack,
 +      String operatingSystems, RepositoryType type) throws AmbariException {
  
      if (stackEntity == null || version == null || version.isEmpty()
          || displayName == null || displayName.isEmpty()) {
@@@ -181,8 -162,7 +180,8 @@@
      }
  
      RepositoryVersionEntity newEntity = new RepositoryVersionEntity(
-         stackEntity, version, displayName, upgradePack, operatingSystems);
+         stackEntity, version, displayName, operatingSystems);
 +    newEntity.setType(type);
      this.create(newEntity);
      return newEntity;
    }

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --cc ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 2b8958c,40ec758..819d97b
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@@ -541,9 -541,7 +541,8 @@@ CREATE TABLE repo_version 
    stack_id BIGINT NOT NULL,
    version VARCHAR(255) NOT NULL,
    display_name VARCHAR(128) NOT NULL,
-   upgrade_package VARCHAR(255) NOT NULL,
    repositories LONGTEXT NOT NULL,
 +  repo_type VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
    PRIMARY KEY(repo_version_id)
  );
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
diff --cc ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index 74f8675,f07aadf..53221ef
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@@ -530,9 -530,7 +530,8 @@@ CREATE TABLE repo_version 
    stack_id NUMBER(19) NOT NULL,
    version VARCHAR2(255) NOT NULL,
    display_name VARCHAR2(128) NOT NULL,
-   upgrade_package VARCHAR2(255) NOT NULL,
    repositories CLOB NOT NULL,
 +  repo_type VARCHAR2(255) DEFAULT 'STANDARD' NOT NULL,
    PRIMARY KEY(repo_version_id)
  );
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --cc ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index 7f03e6a,697bf3e..2e1316d
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@@ -535,9 -535,7 +535,8 @@@ CREATE TABLE repo_version 
    stack_id BIGINT NOT NULL,
    version VARCHAR(255) NOT NULL,
    display_name VARCHAR(128) NOT NULL,
-   upgrade_package VARCHAR(255) NOT NULL,
    repositories TEXT NOT NULL,
 +  repo_type VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
    PRIMARY KEY(repo_version_id)
  );
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --cc ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index 77f9563,caf1e9b..6bd645f
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@@ -602,9 -602,7 +602,8 @@@ CREATE TABLE ambari.repo_version 
    stack_id BIGINT NOT NULL,
    version VARCHAR(255) NOT NULL,
    display_name VARCHAR(128) NOT NULL,
-   upgrade_package VARCHAR(255) NOT NULL,
    repositories TEXT NOT NULL,
 +  repo_type VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
    PRIMARY KEY(repo_version_id)
  );
  GRANT ALL PRIVILEGES ON TABLE ambari.repo_version TO :username;

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
----------------------------------------------------------------------
diff --cc ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index 0d68790,089c2c5..a987f29
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@@ -641,9 -641,7 +641,8 @@@ CREATE TABLE repo_version 
    stack_id BIGINT NOT NULL,
    version VARCHAR(255) NOT NULL,
    display_name VARCHAR(128) NOT NULL,
-   upgrade_package VARCHAR(255) NOT NULL,
    repositories VARCHAR(MAX) NOT NULL,
 +  repo_type VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
    PRIMARY KEY CLUSTERED (repo_version_id)
    );
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/3265d0b8/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
----------------------------------------------------------------------