You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jl...@apache.org on 2018/07/07 07:59:34 UTC

[ambari] branch branch-feature-AMBARI-14714 updated (9630684 -> c210fe5)

This is an automated email from the ASF dual-hosted git repository.

jluniya pushed a change to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git.


    from 9630684  [AMBARI-22994] Completely Remove Upgrade Pack Target Information (#1698)
     add 93b0949  AMBARI-23364. Cannot stop logsearch/logfeeder properly after ambari upgrade (#788)
     add 504434e  AMBARI-23371. Update Log Search integration test framework to work with Solr7 API. (#793)
     add 2efd134  AMBARI-23338 blueprints with installed cluster should bw read-only (benyoka) (#764)
     add 1f8fdf1  AMBARI-23312 Regression : Adding Atlas Metadata server' for HA on an host takes forever.
     add b40a1af  AMBARI-23309 YARN cluster memory graph is not loading in Ambari 2.6
     add bd4c7e9  AMBARI-23261 Ambari web - Install wizard "Review" step does not show HDP-GPL repo
     add c251032  AMBARI-23233 Broken view of Configs after saving changes
     add 8362013  AMBARI-23346. Fixed Python unit test after changing default timeout to 90 seconds
     add 2712c2c  AMBARI-23313 JS error on service stop/restart after config changes. (ababiichuk)
     add 731852b  AMBARI-23363 Streamline Application manager's UI link is not visible in Ambari-2.7.0.0. (ababiichuk)
     add fbc785a  AMBARI-23304. Add namespace-specific layout for HDFS metrics (akovalenko)
     add 77a7587  AMBARI-23349 Add NameNode federation support for Host Details page. (ababiichuk)
     add 147b36a  AMBARI-23352. During ambari upgrade, DB backup choice default option should be n instead of y (#775)
     add f444580  AMBARI-23275. Upgrade jdeb and rpm-maven-plugin (#698)
     add 20deb54  AMBARI-23369 Livy server fails to start after Ambari upgrade due to missing argument for nameservice
     add be7b4d1  [AMBARI-23380] Fix intermittent "No such file or directory" error in TestHostCleanup
     add a8c5ce2  [AMBARI-23311] Use Ambari CLI to specify which services should be setup for SSO integration (#765)
     add 14c2a12  AMBARI-23241 Log Search UI: Routing for the UI
     add 193dc1d  AMBARI-23376. Create topic handler for small agent actions. Like restart_agent, clean_caches etc. (aonishuk)
     add c1faa6f  AMBARI-23376. Create topic handler for small agent actions. Like restart_agent, clean_caches etc. (mpapirkovskyy)
     add e5c11fa  AMBARI-23376. Create topic handler for small agent actions. Like restart_agent, clean_caches etc. (aonishuk)
     add 3163226  AMBARI-23322. Missing tooltips for two fields in 'Add User' page
     add 9a1e90b  Merge pull request #751 from hiveww/AMBARI-23322-trunk
     add 5c2f4fb  AMBARI-23378. Closing 'Add New HDFS Namespace' wizard shows confirmation for RM HA wizard (akovalenko)
     add 3b643bc  AMBARI-23363 Streamline Application manager's UI link is not visible in Ambari-2.7.0.0 (additional patch). (ababiichuk)
     add 508769f  AMBARI-23209 Kerberos 'Edit' Properties not conforming to the new style
     add dd5b34d  AMBARI-23372. Hosts not populated in Assign Master Page in Move Master Wizard
     add 3c63a27  Merge pull request #794 from hiveww/AMBARI-23372-trunk
     add 7a318d9  [AMBARI-23334] Using the proper regular expression to validate SSO provider URL (#760)
     add 074c01f  AMBARI-23386 HSI Jdbc URL should handle HA mode (mgergely)
     add c6ef58d  Revert "AMBARI-23275. Upgrade jdeb and rpm-maven-plugin (#698)"
     add d1df5d3  [AMBARI-23389]. Install Packages button on the versions screen fails if  there is a service installed which was removed (amagyar) (#813)
     add 4b247f2  [AMBARI-23384]. PQS start fails after Ambari upgrade due to Bad file descriptor (amagyar) (#810)
     add ffeda8c  AMBARI-23385. When Updating A Property in the UI, Both the Old and New Properties Are Visible After Saving
     add d3b2ced  Merge pull request #812 from hiveww/AMBARI-23385-trunk
     add 4727a74  AMBARI-23201 Integrate ViewService with Swagger (#701)
     add 0f569fb  AMBARI-23362 Log Search UI: filter dropdown lists fixes
     add 2525a2a  AMBARI-23392 Duplicate websocket subscription on Configs page
     add 533073b  AMBARI-23374 Add Service Wizard will not reset after adding a service
     add fd4176e  AMBARI-23358 Service page layout updates
     add 7df55ee  AMBARI-23345 Installer Wizard: Add a Cancel button to go back to Admin View.
     add 8a1f8e4  AMBARI-23342 Admin View: Users and Groups style tweaks
     add ff05ef6  AMBARI-23281 Enable Kerberos Wizard style edits
     add ae674b3   AMBARI-23348 - service advisor has the option to calculate colocatServices with more information from the services list (dili)
     add 68fdbef  AMBARI-23348 service advisor has the option to calculate colocatServices with more information from the services list - fix unit test failures(dili)
     add 264bfa8  Merge pull request #771 from dilica/AMBARI-23348-trunk
     add b6290ba  AMBARI-23402. Make nproc and nolimit values configurable through infra-solr-env config (#826)
     add fbc59ed  [AMBARI-23354] Enable or disable SSO for servces upon setting sso-configuration values
     add 8d1f100  [AMBARI-23397] Blueprint deployments for NameNode Federation Fail (#822)
     add 5b25bcd  AMBARI-23400. HDFS metrics data missing in Ambari 2.7.0 (amagyar) (#825)
     add 4fb18c7  AMBARI-23259 For Ranger Service /spnego reference principal is not getting updated in config
     add bafa182  AMBARI-23343. Server should acknowledge agent about received reports. (mpapirkovskyy)
     add 6f79c88  [AMBARI-23370] Download client configs fails due to 'clusterLevelParams' not found (#802)
     add 696083e  [AMBARI-23329] Ambari: set 'cloud storage' usage tracking properties for AWS, Azure object stores
     add cd7814a  AMBARI-23373. Fix formatZKFC (aonishuk)
     add f1afadc  AMBARI-23373. Fix formatZKFC (aonishuk)
     add 8c14b77  AMBARI-23404. Customize Services - when user is changed in accounts tab no warning shown to adjust other dependent properties , though shown when navigate to Misc Tab
     add 6329754  Merge pull request #829 from hiveww/AMBARI-23404-trunk
     add ed7d2ac  AMBARI-23403. Upgrade throws NullPointerException when configuration type is not selected (dlysnichenko)
     add 169e278  Merge pull request #828 from dlysnichenko/AMBARI-23403-trunk
     add 100fd03  AMBARI-22061. Solr Data Manager script should provide non-destructive archive download option.
     add 9a8b959  AMBARI-23406. NN Federation: replace start/stop operation with restart operation (akovalenko)
     add 926274d  AMBARI-23412. Knox service check fails if parameters from ambari-env.sh are necessary for python command (aonishuk)
     add 0880791  [AMBARI-23418] Fix and cleanup ClientConfigResourceProviderTest and TestHeartbeatHandler
     add bf7ce08  [AMBARI-23332] Recommend SSO configuration values for ATLAS and RANGER in the stack advisor
     add e60b106  AMBARI-21079. Add ability to sink Raw metrics to external system via Http. (swagle)
     add e10b5da  AMBARI-21106 : Ambari Metrics Anomaly detection prototype.(avijayan)
     add 485cdf4  AMBARI-21106 : Ambari Metrics Anomaly detection prototype (Commit 2). (avijayan)
     add b1ec22e  AMBARI-21106 : Ambari Metrics Anomaly detection prototype (Commit 3). (avijayan)
     add 58e8d4b  AMBARI-21079. Add ability to sink Raw metrics to external system via Http. Renamed files to fix build. (swagle)
     add d81c072  Fixing rat check failures and compilation issues. (avijayan)
     add 13dee7c  AMBARI-21079. Add ability to sink Raw metrics to external system via Http. Compilation error fix. (swagle)
     add 46c0af8  AMBARI-21214 : Use a uuid vs long row key for metrics in AMS schema. (avijayan)
     add 1e43864  AMBARI-21244 Add https support to local metrics aggregator application (dsen)
     add 935f332  AMBARI-17382 : Migrate AMS queries to use ROW_TIMESTAMP instead of native timerange hint. (avijayan)
     add 4efcf9d  AMBARI-21279 Handle scenario when host in-memory aggregation is not working (dsen)
     add 54e4a97  AMBARI-21458 Provide ability to shard Cluster second aggregation across appId. (dsen)
     add e466cc4  AMBARI-21686 : Implement a test driver that provides a set of metric series with different kinds of metric behavior. (avijayan)
     add 2fdf774  AMBARI-21106 : ML-Prototype: Detect timeseries anomaly for a metric. (Refine PIT & Trend subsystems, Integrate with AMS, Ambari Alerts.)
     add 73aee5c  Fixed compile errors from Merge trunk into branch-3.0-ams
     add 6830f00  Fixed compile errors from Merge trunk into branch-3.0-ams
     add 2eb160c  Fixed rat errors from Merge trunk into branch-3.0-ams
     add d991f3c  AMBARI-22077 : Create maven module and package structure for the anomaly detection engine. (avijayan)
     add fb75e61  AMBARI-22077 : Create maven module and package structure for the anomaly detection engine. (Commit 2) (avijayan)
     add 4d62937  AMBARI-22163 : Anomaly Storage: Design Metric anomalies schema. (avijayan)
     add 166fff6  AMBARI-22215 Refine cluster second aggregator by aligning sink publish times to 1 minute boundaries. (dsen)
     add 0c0c627  AMBARI-22192. Setup an application server for hosting the AD System Manager.
     add 6ffb35b  AMBARI-22192. Setup an application server for hosting the AD System Manager. (avijayan)
     add 64dcc02  AMBARI-22343. Add ability in AMS to tee metrics to a set of configured Kafka brokers. (swagle)
     add d580f27  AMBARI-22348 : Metric Definition Service V1 Implementation. (avijayan)
     add afa154b  AMBARI-22359 : Fix Serialization issues in Metric Definition Service (avijayan).
     add cc510d6  AMBARI-22365. Add storage support for storing metric definitions using LevelDB. (swagle)
     add 940b23a  AMBARI-22437 : Create an 'AD Manager' component in Ambari Metrics Service stack side. (avijayan)
     add 8357de8  AMBARI-22470 : Refine Metric Definition Service and AD Query service. (avijayan)
     add d46abc7  AMBARI-22567 : Integrate Spark lifecycle management into AMS AD Manager. (avijayan)
     add 6177221  AMBARI-22688. Fix AMS compilation issues and unit test with hbase,hadoop and phoenix upgraded. (swagle)
     add 541e2a5  AMBARI-22717 : Remove Anomaly Detection code from branch-3.0-ams. (avijayan)
     add 84f939d  AMBARI-22744. Fix issues with webapp deployment with new Hadoop common changes. (swagle)
     add a0b8d06  AMBARI-22744. Fix issues with webapp deployment with new Hadoop common changes. Addendum. (swagle)
     add 003c522  Fix AMS phoenix, hbase and hadoop versions in pom.xml
     add ca62ed0  AMBARI-23100 : Merge branch-3.0-ams onto trunk. (Remove logsearch-it pom change)
     add 01243e2  AMBARI-23225: Ambari Server login fails due to TimelineMetricsCacheSizeOfEngine error in AMS perf branch.
     add c5c9d03  AMBARI-23250 : Fix deployment issues in AMS perf branch.
     add ba21ebe  AMBARI-23250 : Fix deployment issues in AMS perf branch. (hbase-site change).
     add d1e4c4d  AMBARI-23393 Ambari Requests Too Much Data From Hosts When Logging In (#827)
     add 10731ea  Revert "[AMBARI-23370] Download client configs fails due to 'clusterLevelParams' not found (#802)"
     add eaeef19  Revert "[AMBARI-23418] Fix and cleanup ClientConfigResourceProviderTest and TestHeartbeatHandler"
     add e02a620  AMBARI-23112 : Some libraries are not relocated in ambari-metrics-common jar.
     add 3c4209e  AMBARI-22440. Log Feeder: wildcard support & checkpoint cleanup on trunk
     add 29dd230  AMBARI-23421. Add solr-to-solr archive operation for solrDataManager.py. (#849)
     add 95f9e81  AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko)
     add a7a34e4  AMBARI-23407 Issues for no NN federation case appearing after federation support implementation. (ababiichuk)
     add f7a5762  AMBARI-23401 Problems while selecting the property uniquely in Configurations screen while installation
     add c5596a8  AMBARI-23428. Log Search / Log Feeder: Set kerberos related solr properties through java opts. (#861)
     add 0824ed2  AMBARI-23434. Fix stack issues in HDFS to support Namenode Federation setup (aonishuk)
     add eef8f14  AMBARI-23074. Change the default datadir for Infra Solr. (#863)
     add 7dcff39  Revert "AMBARI-23112 : Some libraries are not relocated in ambari-metrics-common jar."
     add 4291cb4  [AMBARI-23439] Overflowing list of frozen hosts in Assign Slaves and Clients page. (#870)
     add 4a0a28d  AMBARI-23438 : Fix failing metrics unit tests on trunk.
     add d948ff0  AMBARI-23446. Fix connection drop on ambari-agent by locking the write code (aonishuk)
     add e2832d0  AMBARI-23080. Log Search: use compositeId instead of implicit routing by default for collections. (#866)
     add 31deb40  AMBARI-23361. Integrate RequestScheduleService to Swagger (#867)
     add 5df06c1  AMBARI-23279. Integrate HostComponentService with Swagger (#785)
     add 7292790  Update docker-compose files for Log Search dev env
     add 5d29248  AMBARI-23283 Install Wizard > Select Version page: the user cannot proceed with Redhat Satellite option
     add a6900dc  AMBARI-23357 Update combo filter style
     add 9e6add9  AMBARI-23379 UI loading stuck after deleting service
     add d000a59  [AMBARI-23240] Add "tag" property/column to widget (#664)
     add ed95d9a  [AMBARI-23449] Agent can not to connect to server during blueprint deploy (dsen)
     add 541953e  AMBARI-23450. NN Federation Wizard: infinite spinner on step3 with no Ranger installed (akovalenko)
     add e1d45a0  AMBARI-23440. Receiving HTTP error code of 404 when fetching sso-configuration from the DB is not a real error and should be handled
     add 768ee9a  [AMBARI-23433] Remove unnecessary properties from the Ranger SSO configuration updates via the stack advisor
     add 726080b  AMBARI-23420 Refine pre-check message to remove unsupported services before upgrade to HDP-3.0
     add 45076eb  AMBARI-23429 Added missing imports
     add af8d02c  AMBARI-23427 : Metrics Collector stops after starting.
     add f2839ad  AMBARI-23427 : Metrics Collector stops after starting. Fix Metadata load issue.
     add f95bb41  AMBARI-23453. Integrate ConfigurationService to Swagger (#883)
     add 62cbf68  AMBARI-23460. Ambari web modification for HSI HA Ambari integration
     add 3e02f27  Merge pull request #882 from hiveww/AMBARI-23460-trunk
     add 000333c  AMBARI-23462 NN federation related fixes for host details page. (ababiichuk)
     add 189e1c2  AMBARI-23464. Debian9 is not shown on UI Install Wizard Select Version page (amagyar)
     add d8f673f  AMBARI-23142 - Add AMS Metrics publisher to Infra Solr (#556)
     add e463122  AMBARI-23399. Disabled use case until it's fixed for any user
     add d57e4de  AMBARI-23451. Ambari web. UI does not throw any error message when server throws a 500 System Error
     add 7aa1cb5  Merge pull request #880 from hiveww/AMBARI-23451-trunk
     add 0f73761  AMBARI-23421. ADDENDUM: fix spaces before content type header
     add 5f9eb7c  AMBARI-23207 The tooltip for Overriden properties shown under manage Config Groups page has '<br/>' in the tooltip text
     add c656a23  AMBARI-23390 Dashboard: rationalize default widgets
     add d42c139  [AMBARI-23461] Fix TestHeartbeatHandler.testComponents NPE
     add c649e51  [AMBARI-23471] Ubuntu16: Install components exited with code '100' with message: debconf: delaying package configuration, since apt-utils is not installed (dgrinenko)
     add 3305199  [AMBARI-23467] Initial changes for Blueprint configuration processing of NameNode Federation Clusters (#890)
     add bd1b4e6  AMBARI-23454. Integrate ConfigGroupService to Swagger (#899)
     add b6b293a  AMBARI-23477. Utility to parse initial active namenode for blueprint deployment (#900)
     add 4a587b9  AMBARI-23421. solrDataManager.py: Add _version_ to exclude list by default
     add e5eb05b  AMBARI-23199. Infra Solr custom commands: disable host checks by default for unsecure env
     add 23f47a3  AMBARI-23490. NN Federation Wizard: Bootstrap NameNode failed (aonishuk)
     add 5b75125  AMBARI-23472 NameNode HA: QuickLinks section issues. (ababiichuk)
     add 3f6726f  AMBARI-23482. NN Federation: service summary widgets should show correct metrics data (akovalenko)
     add 49f93b1  AMBARI-23411 Invalid websocket client port when connected over https
     add 56c5d3a  AMBARI-23416 Background Operations: icons have incorrect color
     add d50333d  AMBARI-23405. Add ability to use latest configs for execution commands. (mpapirkovskyy)
     add 91fb8b6  AMBARI-23078. Log Search: redesign Solr schema (service/audits) - use better types (#915)
     add d693edc  AMBARI-23494. Incorrect servicerpc address configs being generated by NN Federation wizard (akovalenko)
     add 8c9b198  AMBARI-23463. Server should support saving configs with names which contains slash. (mpapirkovskyy)
     add 6fce9b1  [AMBARI-23484] Update Kerberos service documentation for Ambari 2.7.0
     add bbb1cdf  AMBARI-23495. Fix Ambari Infra Solr service advisor class name. (#918)
     add c48fb74  AMBARI-23492. Server should acknowledge api endpoint about host-component state before deletion. (mpapirkovskyy)
     add a0a0947  AMBARI-23499. Infra Solr - ambari commons - max_shard calculation can be wrong if shard or replica value is string. (#922)
     add 70d0c08  [AMBARI-23502] Format Namenode step in NN Fed wizard should pass in HDFS ClusterId as argument. (aonishuk) (#924)
     add e9bb069  [AMBARI-23497] NN Federation Wizard state not restored after closing session (akovalenko) (#919)
     add 580c9fa  AMBARI-23496. Disable Add New HDFS Namespace option if cluster has no NN HA (akovalenko)
     add 784089d  AMBARI-23498. Default shared edits location should be preserved (akovalenko) (#921)
     add 66c008b  AMBARI-23501 Fixes for NameNode widgets on dashboard. (ababiichuk)
     add 8df2fc7  AMBARI-23460. Ambari web modification for HSI HA Ambari integration
     add d29656b  AMBARI-23460. Ambari web modification for HSI HA Ambari integration (test)
     add 1fcd7da  Merge pull request #911 from hiveww/AMBARI-23460-trunk
     add 464ce88  AMBARI-23480. Error encountered while disabling Kerberos on HDF 3.2 using Ambari 2.7.0.0
     add 3195281  AMBARI-23511. Format ZKFC fails while adding new HDFS namespace through UI in secure environment (aonishuk)
     add 0958fca  AMBARI-23507 : AMS sinks should be compatible with both ambari metrics collector versions 2.6.x and 2.7.0.
     add e88c384  AMBARI-23436 - make swagger wrapper classes unique, otherwise not parsed correctly
     add 8673521  AMBARI-23436 - add SwaggerOverwriteNestedAPI annotation to handle special API cases
     add ab99b71  AMBARI-23436 - Integrate ServiceConfigVersion service to Swagger
     add e3b3971  [AMBARI-23509] Fix the unhandled http request promise error (#932)
     add aea0869  AMBARI-23505 - Cluster version is not updated after stack upgrade (#928)
     add fe17881  AMBARI-23513. Fix logsearch-performance.json file path. (#937)
     add 5a294a0  [AMBARI-23516] Ambari can not recognize slash in property name in xml file. (#940)
     add 674807e  [AMBARI-23382] Ambari-server sync-ldap: Sync event creation failed (#806)
     add 14aacbb  Update centos version in Dockerfile (logsearch dev)
     add e3e5621  [AMBARI-23370] Download client configs fails due to clusterLevelParam m… (#914)
     add 01ed631  AMBARI-23457 : Hive-server-interactive service needs to be started after Ranger-Admin.
     add 4b76017  Merge pull request #905 from vishalsuvagia/AMBARI-23457-trunk
     add c6b01c9  Investigate upgrade changes if any needed for federated NN cluster.
     add 09c959d  AMBARI-23445. Refactor metrics_alert to support multiple nameservices (#904)
     add 29abee9  AMBARI-23522. Revert AMBARI-23385
     add de12df0  Merge pull request #946 from hiveww/AMBARI-23522-trunk
     add 15cdec0  AMBARI-23336 Editing configurations usings configs.py doesnt have options to pass service config version note
     add 081dc84  AMBARI-23336 Editing configurations using configs.py doesn't have options to pass service config version note - review comments (asnaik)
     add 2d125c9  Tweak whitespace
     add 1017292  AMBARI-23423 JS error while deploying new service
     add 42ceadd  AMBARI-23473 UI option to stop HDFS service doesnt work - JS Error
     add 7e57944  AMBARI-23432 Cannot save edited repository urls in Ambari Version UI
     add fc2a1b4  AMBARI-23422 Dashboard: add Yarn Containers widget
     add 865af31  AMBARI-23523 Fix mysql-collector-java installation for HIVE (mgergely)
     add 1bcbcd4  [AMBARI-23481] Selected Hosts dropdown is disabled after navigating away and coming back to hosts page.
     add 05d08e0  [AMBARI-23483] Hosts Breadcrumb doesn't persist filters.
     add e53f6af  Merge pull request #903 from ishanbha/AMBARI-23481-trunk
     add d49f54d  [AMBARI-23487] Cannot tell which services are in maintenance mode. (#909)
     add 9b084bd  [AMBARI-23431] Removing hostId condition in order to process AMBARI identities even if there was an agent installed on the server's host (#897)
     add 82c9e3f  AMBARI-23386 HSI ADDENDUM Jdbc URL should handle HA mode (mgergely)
     add 686e506  AMBARI-23459. ServiceAdvisor KeyError during kerberization of OneFS (amagyar)
     add 04db2b4  AMBARI-23498. Default shared edits location should be preserved. Fixing issues after resolving merge confilcts. (akovalenko)
     add 85e7122  [AMBARI-23494] Incorrect servicerpc address configs being generated by NN Federation wizard. Second patch. (akovalenko) (#961)
     add 9d7e373  [AMBARI-23486] Move SSO-related properties from ambari.properties into the Ambari DB
     add 5db1048  [AMBARI-23531]. Debian9: Atlas client installation failed due to unsupported OS family error (amagyar) (#959)
     add 70edbb5  AMBARI-23541. Sometimes host checks never complete. (mpapirkovskyy)
     add 115def9  AMBARI-23525. Customize Services - SNameNodeHost label value is not shown in UI under All Configurations -> HDFS -> Advanced Tab
     add fcdc4da  Merge pull request #949 from hiveww/AMBARI-23525-trunk
     add 52a527e  AMBARI-23551. Disable system out for Logfeeder log (logfeeder.out) (#974)
     add 1ad21ee  AMBARI-23544 NameNode namespaces aren't displayed after HDFS page refresh. (ababiichuk)
     add cf86bfd  [AMBARI-23534] Log Search UI: service logs chart fixes
     add 4f93c3c  AMBARI-23514 Log Search UI: various fixes for History feature
     add e16bdec  AMBARI-23512 Log Search UI: search box fixes
     add 675ca9a  [AMBARI-23493] Decommission Datanode doesn't work (dsen)
     add 6885d87  AMBARI-23554 NN federation: switching namespaces for dashboard widgets doesn't work. (ababiichuk)
     add f913ba3  AMBARI-23527 Slash not unescaped in property name
     add 06424bd  AMBARI-23527 Slash not unescaped in property name
     add c7a83ae  AMBARI-23542 UI Performance Tuning
     add 4a344db  AMBARI-23543 Comparing config versions style tweaks
     add b6a3bbc  AMBARI-23561. Ambari (HSI HA): Missing option to add another 'Hiveserver Interactive' component under actions menu for Active/Passive HSI.
     add 7e17481  Merge pull request #982 from hiveww/AMBARI-23561-trunk
     add b7f4861  AMBARI-23550. Ambari Metrics references outdated jars (#973)
     add ad6c7b0  AMBARI-23142 - ADDENDUM Add AMS Metrics publisher to Infra Solr (#969)
     add 59eeafe  [AMBARI-23526] Make sure that we update topology cache on agent side when Kerberizing the cluster (#951)
     add 81a6957  AMBARI-23559. Journalnode restart step is required when edits dir is changed (akovalenko)
     add 81224a3  AMBARI-23560. Refactor base_alert to support multiple nameservices (aonishuk)
     add 9c5e834  AMBARI-23556. Fix constraint issue during logfeeder log entry testing. (#979)
     add 5ab0000  Revert "[AMBARI-23493] Decommission Datanode doesn't work (dsen)"
     add 6804d35  Revert "[AMBARI-23370] Download client configs fails due to clusterLevelParam m… (#914)"
     add 70c42f5  AMBARI-23529 : Utility function to get namenode logical hostname and namespace for a given hostname. (#954)
     add 73e7362  AMBARI-23539. Unable to install stacks without hdfs-site config (echekanskiy)
     add fff9b2b  AMBARI-23386 HSI ADDENDUM Jdbc URL should handle HA mode (mgergely)
     add 7a7ecdd  AMBARI-23566. Fix shipper config test entry mechanism (#996)
     add 3461d5c  AMBARI-23574. Log Feeder: fix startup issues (root logger + include lazy config) (#1000)
     add 306aa18  AMBARI-23583. Fix typo in apt-manager (ambari-common) (#1007)
     add 009972d  [AMBARI-23581] Fix permissions of logsarch/logfeeder scripts for debian packages. (#1005)
     add d0dd4b3  AMBARI-23470. Ambari views do not work due to X-Frame-Options: DENY header (#986)
     add a244d6a  AMBARI-23538. Not able to add a user in ambari. (mpapirkovskyy)
     add 73871e9  AMBARI-23565. Restore configs does not work. (mpapirkovskyy)
     add 26cd3cb  AMBARI-23577 NN Federation Service Pages Changes. (ababiichuk)
     add 22f92e3  AMBARI-23535 Log Search UI: refine log actions
     add a61386c  [AMBARI-23578] - Log Search UI: open the available search terms list in search box when the input got focus
     add 8f889e9  AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)
     add 4dd0e52  AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)
     add 4123c81  AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)
     add 867b3b9  AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)
     add e42b01a  Revert "AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)"
     add 589bc8b  AMBARI-23536. Fix TestCustomServiceOrchestrator.py and TestRegistration.py on branch-3.0-perf (aonishuk)
     add 9f5a8e8  AMBARI-23576. Modify federation wizard steps to Stop All services and Start ZK and JN (akovalenko)
     add 867f4dc  AMBARI-23579 Ambari shows invalid passwords as plaintext. (ababiichuk)
     add 08092ad  AMBARI-23571 Hosts page: Combo filter should use hostname as default filter
     add 113d4fd  AMBARI-23572 Navigation sub-menu style changes
     add 80fd0a3  AMBARI-23528 Usability: Generate blueprint should download a single Zip file and not 2 files.
     add 54d0f68  AMBARI-23563 Alerts Are Not Updated in the UI
     add 869f51a  AMBARI-23585. Register VDF failing for AmazonLinux2  (aonishuk)
     add ba2d028  AMBARI-22834. Fix Zeppelin service check pid file (#304)
     add 4f514e8  AMBARI-23537 Log Search UI: fix for Log Index Filter feature
     add a044354  AMBARI-23567 : Add ability to skip in memory cluster aggregation on certain metrics.
     add 1586c74  AMBARI-23580 : Failed to stop AMS components after Ambari-only upgrade.
     add 27a6dc6  [AMBARI-23415] Remove unwanted trailing slash at the end of hbase_pid_dir path in ams-hbase-env
     add 4f0fbd2  [Ambari 23549] Blueprint configuration processor updates for HDFS NameNode Federation (#985)
     add 629e79d  AMBARI-23294: Ambari files view throws 500 ERROR while trying to upload/download to/from HDFS encrypted zone (nitirajrathore) (#715)
     add 2eea69a  AMBARI-23438 : Fix failing metrics unit tests on trunk.
     add f24f152  [AMBARI-23582] UI reads service versions from base stack repo (#1006) (#1019)
     add c37a739  [AMBARI-23493] Decommission Datanode doesn't work (dsen)
     add cc50a36  AMBARI-23564 Start All Services Fails after ambari upgrade as Livy(Spark2) tries to access Namenode which is not yet started
     add 7b6e697  [AMBARI-23593] - Logsearch UI: Fix Log Feeder Config issues
     add 7195242  AMBARI-23587. Schema upgrade fails on Oracle (#1017)
     add 54b3106  AMBARI-23588. NN Federation Wizard Changes (akovalenko)
     add dcf5b84  AMBARI-23602 NN Federation Lower priority changes. (ababiichuk)
     add ae2e31e  AMBARI-23601. NN Federation Wizard: Format NameNode fails due to stopped NameNodes (akovalenko)
     add f3fcffb  AMBARI-23594 - LZO Libraries Are Not Installed Correctly During Upgrade
     add c867919  AMBARI-23470. None of the Ambari View works because of 'X-Frame-Options' to 'deny' error. (mpapirkovskyy)
     add 3768684  AMBARI-23585. Register VDF failing for AmazonLinux2  (aonishuk)
     add 5f6c403  AMBARI-23608 Unable to update credentials of a remotely registered cluster. (ababiichuk)
     add 7c288ec  AMBARI-23600. cluster name validation issue in ADMIN view
     add 415232a  Merge pull request #1026 from hiveww/AMBARI-23600-trunk
     add 8d5fa7e  AMBARI-23599. It is hectic whether or not a setting a property attribute in the service advisor gets into the recommendations
     add efa3ed3  Merge pull request #1025 from hiveww/AMBARI-23599-trunk
     add 725d35d  AMBARI-22740 : Rename ambari metrics collector package to org.apache.ambari.metrics.
     add c29159a  AMBARI-22740 : Rename ambari metrics collector package to org.apache.ambari.metrics. (Commit 2)
     add cb8e8d5  AMBARI-23610. Enable NameNode HA fails after Ambari upgrade (#1040)
     add a105455  [AMBARI-23510] FluentPropertyBeanIntrospector from CLI operation log output, when running hdfs commands (#933)
     add d34a5a7  AMBARI-23614 Move NameNode wizard is stuck on Review step after enabling federation. (ababiichuk)
     add 71816bc  [AMBARI-23370] Download client configs fails due to 'clusterLevelParams' not found (#1033)
     add e6cd5b1  AMBARI-23618 : Requesting non-existing metric (including wildcard) to AMS gets HTTP 500 error.
     add e9373fb  [AMBARI-23609] Credential store is not working (dsen)
     add edc9e34  AMBARI-23621. Ambari-server setup fails on Amazonlinux2 (aonishuk)
     add 2df67cc  AMBARI-23597 Config's tags should be cached
     add e5fbff1  AMBARI-23597 Config's tags should be cached
     add ec2c4d8  AMBARI-23596 Ambari web should escape slash in config names
     add 3ecdc55  [AMBARI-23606] Lifecycle-Bulk: Components can be added even when ambari agent is down. (#1034)
     add ba010cf  [AMBARI-23553]. Unable to delete Slider after Ambari upgrade, due to Hive dependency (amagyar) (#1039)
     add 8c03401  AMBARI-23624 Additional realm config change not working. (ababiichuk)
     add 7887a2f  [AMBARI-23622] JWT cookie name and audiences not queried for during ambari-server setup-sso
     add 5a6ef24  AMBARI-23613. View instances not created by default. (mpapirkovskyy)
     add ee83224  [AMBARI-23626] Progress bar is missing in UI during package install
     add 62941f8  AMBARI-23586. Cluster deployment fails if agent started after cluster creation request (#1014)
     add 94872ba  AMBARI-23615 Header missing in Step2 Select hosts page in NN Federation Wizard. (ababiichuk)
     add 391de63  [AMBARI-23515] : Rearranging configuration file creation for Ranger Plu… (#1038)
     add 55faaed  AMBARI-23623 Enable NameNode HA fails if Ranger is set up with Ambari-managed Hive MySQL DB instance
     add 0ad7020  AMBARI-23631. After ambari-server reset ambari-agent caches should be reset. (aonishuk)
     add 82243a3  AMBARI-23633 Missing tooltip/indicator for unsupported services in Versions page when HDP-3.0 VDF is registered. (ababiichuk)
     add 034199d  [AMBARI-23628] Enable Ambari SSO to be enabled without impacting other service sso configs
     add 658c93d  AMBARI-23634. NN Federation Wizard: should work fine for multiple runs (akovalenko)
     add dcdcb03  AMBARI-23646. Include commons-logging library for Infra Solr debian build. (#1062)
     add 86078c0  AMBARI-23649. Upgrade Solr version from 7.2.1 to 7.3.0
     add 1bf6771  AMBARI-23649. Remove remaining Trie fields from Log Search schema
     add 87e8daa  AMBARI-23649. _version_ fields for service / audit logs should not be stored.
     add 873c84b  Merge pull request #1064 from oleewere/AMBARI-23649-trunk
     add baff299  AMBARI-23652. LogFeeder: lowercase cluster name (writing docs & znode generation) (#1066)
     add 92630b7  AMBARI-23651. Infra Solr / Logsearch: debian9 support. (#1065)
     add abb0a05  AMBARI-23656 NameNode namespaces aren't sorted by name. (ababiichuk)
     add 4b22a9b  AMBARI-23658 No widgets displayed on dashboard after adding third NameNode namespace. (ababiichuk)
     add f9429ae  [AMBARI-23648] - Log Search UI: Various fixes for Shipper Configuration
     add b22d22c  AMBARI-23657. Ambari-agent should handle delivery status responses from server (aonishuk)
     add 18704c5  AMBARI-23632. Compatibility repository version wrong (amagyar) (#1058)
     add c9d9f03  AMBARI-23620. Moving DB condifuration related code to common Service Advisor so that both Hive and Oozie can reuse it (#1072)
     add c342120  AMBARI-23670 UI Styling Is Incorrect On Upgrade Repositories Page. (ababiichuk)
     add 906196b  [AMBARI-23653] Ensure URLs to Ambari server resources are valid
     add a064368  AMBARI-23660. Hosts topology can be incomplete for components install during blueprint deploy. (#1073)
     add eecb012  AMBARI-21858 Not able to enable hive Interactive Query (asnaik) (#1067)
     add f34c285  AMBARI-23677. Fix CVE issues for ambari-logsearch 2.7.0 (#1083)
     add 36fbc78  AMBARI-23677. ADDENDUM - Fix CVE issues for ambari-logsearch 2.7.0
     add b859302  [AMBARI-23678] Fix CVE issues for ambari-infra-solr 2.7.0 (#1084)
     add f5de3f2  AMBARI-23682. Ambari Metrics Service Check Fails Post Ambari Upgarde with error : Configuration parameter not found in configurations dictionary! (aonishuk)
     add 33e536d  AMBARI-23668 Heatmaps page style changes (atkach)
     add aea4d7a  AMBARI-23669 issue with service auto restart service categorization (atkach)
     add 8d455f4  AMBARI-23676 In Select Target Host page as part of Move Master wizard, the host holding the component is not present in list of options
     add 30b0db0  [AMBARI-23673] Available packages reader speed is to slow for ubuntu systems (dgrinenko)
     add 094a06e  AMBARI-23681. Capitalize API references for Swagger (#1089)
     add 5014752  AMBARI-23677. ADDENDUM - Update Swagger UI versions.
     add 720aced  AMBARI-23677. Fix rat issues (missing license)
     add b6b1361  AMBARI-23662 Log Search UI: subscription error on route changing
     add a9c8b07  AMBARI-23686 HDFS metrics page: list of namespaces is misaligned. (ababiichuk)
     add b7ce02f  AMBARI-23660. Hosts topology can be incomplete for components install during blueprint deploy (#1098)
     add 25c83cd  AMBARI-23688. Remove unsecure dependencies from ambari-server (amagyar) (#1095)
     add 5cc76a8  [AMBARI-23691] Fix CVE security issues in AMS dependencies. (#1097)
     add 7c3ccc1  AMBARI-23654. Install wizard issues
     add 7135087  Merge pull request #1080 from hiveww/AMBARI-23654-trunk
     add 7c36855  AMBARI-23700. Stack scripts should only try to reach corresponding Namenode pair in the context rather than all NNs (aonishuk)
     add 5550630  AMBARI-23699.SaveConfigsModificationHandler cannot find property dfs.permissions.superusergroup in HDFS configs and drops an error after changing hdfs configs in accounts tab
     add fd3784a  Merge pull request #1103 from hiveww/AMBARI-23699-trunk
     add 9d2f3c6  AMBARI-23701. Adding new namespace fails at Reconfigure Services (#1105)
     add 1e15cda  AMBARI-23683. dfs_ha_initial_* properties should be removed after installation (#1094)
     add cbf69a8  AMBARI-23705 Need better xpaths for quicklinks when multiple namespaces are present. (ababiichuk)
     add f269232  [AMBARI-23703] While adding HDFS Namespace from UI, Timeline service fails to start (#1108)
     add 2aa5e07  AMBARI-23698. Remove unsecure dependencies from ambari-utility (#1100)
     add 1f9c546  AMBARI-23710 : Ambari Metrics Service check fails on Ubuntu16.
     add 103a11f  AMBARI-23677. Update spring-data-commons dependency.
     add 0e111d8  AMBARI-23677. Update commons-compress dependency.
     add ebb00c4  AMBARI-23709. Agent uses compressed topology upon retry (#1115)
     add 3f155ae  AMBARI-23491. User information is missing in Upgrade wizard when checked in another session
     add 5f1ad26  Merge pull request #1106 from hiveww/AMBARI-23491-trunk
     add bab87d1  AMBARI-23707. NN Federation Wizard: move out of wizard create widgets operaions (akovalenko)
     add a890b8c  AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
     add 984bd4e  AMBARI-23011 Ranger LB URL is pointing to ranger port by default when we click on Quick link
     add 14c55d3  AMBARI-23716 Kafka Quick Links Shows all Views links. (ababiichuk)
     add 7765c69  AMBARI-23706 NameNode HA wizard style changes
     add 04a3e09  [AMBARI-23714] Log Feeder: use info level log instead of warn when a l… (#1120)
     add a9d17d6  AMBARI-23693. Log Search: Turn off spring boot actuator endpoints by default. (#1119)
     add 76d4e31  AMBARI-23689 Installing Packages Fails Silently When Dependencies Are Not Resolved (dgrinenko)
     add 9072284  [AMBARI-23718] Update repoinfo latest with the link from repository (dsen)
     add 9732d6d  AMBARI-23680 Installing hive with "New mysql database" fails
     add 981f627  Updated team page. (yusaku)
     add 1912a19  AMBARI-23719. hbase.zookeeper.property.clientPort config of AMS is empty after Ambari Upgrade (amagyar) (#1127)
     add f35b150  AMBARI-23713. Handling missing data in 'repositories' JSON (#1121)
     add 43cff24  AMBARI-23565. Restore configs does not work. (#1130)
     add 350086f  AMBARI-23692. Re-enable authorization for Infra Solr. (#1118)
     add 4851864  AMBARI-23661. Support POST for querying logs for Log Search REST API. (#1128)
     add dd04600  AMBARI-23721 Adding and deleting widgets of NameNode section on dashboard isn't persisted. (ababiichuk)
     add 2ba8e95  AMBARI-23688. Multiple versions of asm.jar found in classpath (#1124)
     add 0fb38a0  AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko)
     add 67ff53b  AMBARI-23720 Ambari UI trying to create GPL repo with empty base url for the rest repos
     add 12501aa  AMBARI-23715 Config Version Comparison tool shows diff text merging into each other if config values are long.
     add 9ccad63  AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko)
     add b90128b  [AMBARI-23530] Document enabling SSO via CLI
     add cab7384  AMBARI-23730 When Spark2 is selected in left pane, Spark also gets selected along with it. (ababiichuk)
     add 05bc12d  [AMBARI-23711] Customize Services - The selected service/Modified con… (#1117)
     add 145ff84  AMBARI-23627. Update Spring dependencies to fix CVE-2018-1270. (mpapirkovskyy) (#1135)
     add bf55629  Revert "AMBARI-23565. Restore configs does not work. (#1130)"
     add 154b361  [AMBARI-23727] Predicate evaluation does not work as expected for RequestResourceFilters. (swagle) (#1139)
     add 1834e7a  [AMBARI-23732] Increase default java stack size and make it configurable for Infra Solr (#1142)
     add 5c28f91  [AMBARI-23734] Customize Services - Tooltip issues on Accounts Tab and All Configuration Tabs (#1143)
     add 491a3a0  AMBARI-23465. Remove weather view example, no longer works (#893)
     add 23febb1  [AMBARI-23737] JS error adding Ranger to a cluster (#1146)
     add c49e770  AMBARI-23731. Restart required services results in restart NN twice (akovalenko)
     add b99f665  Updating Ambari docs for Ambari 2.6.2
     add fb178d2  initial
     add 010e4a7  AMBARI-23717 Stack installation command didn't fail properly when installed package didn't present in repository (dgrinenko)
     add a9ed081  fix UT and issues from review
     add 1b9055b  Revert "fix UT and issues from review"
     add caab480  Revert "AMBARI-23717 Stack installation command didn't fail properly when installed package didn't present in repository (dgrinenko)"
     add 737dfc7  Revert "initial"
     add 10e2c58  AMBARI-23717 Stack installation command didn't fail properly when installed package didn't present in repository (dgrinenko)
     add 1ab8001  AMBARI-23728 Group HDFS components into the components section of the ambari service summary page. (ababiichuk)
     add ff50198  AMBARI-23743. Log Feeder: security config bean is duplicated (#1157)
     add 751df8d  AMBARI-23739 Namespace names are converted to uppercase after selecting from dropdown. (ababiichuk)
     add 525923f  AMBARI-23744 : Fix UUID computation issues in AMS.
     add e6a1dcf  AMBARI-23744 : Fix UUID computation issues in AMS.
     add c1a9c7a  AMBARI-23744 : Fix UUID computation issues in AMS.
     add 0b4c486  AMBARI-23744 : Fix UUID computation issues in AMS. (Unit test failure fix)
     add ceb3e25  Clear security context in AuditEventCreatorTestBase (#1162)
     add c640ee6  AMBARI-23565. Restore configs does not work. (#1161)
     add 2ed2417  AMBARI-23749. Support POST on all service / audit logs endpoint. (#1166)
     add 43825aa  AMBARI-23750. Hitting esc during the Add Service exits the wizard without any "Are you sure?" confirmation
     add 9b03e87  AMBARI-23750. Add constant for deploy step
     add 05bb574  Merge pull request #1167 from hiveww/AMBARI-23750-trunk
     add cc72705  AMBARI-23562. Updating hadoop.proxyuser.HTTP.hosts in USER Kerberos descriptor when upgrading to 2.7 and make sure the new STACK Kerberos descriptors have the correct value (#1164)
     add dabd25d  AMBARI-23690 The UI should ignore Kerberos identity references when setting the user-supplied Kerberos descriptor
     add a163bc2  AMBARI-23740 JS error after installing Ranger from Install Wizard - Smart Configs are broken - page refresh fixed the issue
     add e7e44aa  AMBARI-23752 Hide SmartSense master components in HDF stack
     add 27d5a86  [AMBARI-23745] - Replace Multiple Matches Using Regex on Upgrades (#1160)
     add bd071a0  [AMBARI-23741] - Starting JHS Takes Too Long Due To Tarball Extraction (#1158)
     add 2df421a  [AMBARI-23685] Rename metric tables to support schema upgrade (dsen) (#1091)
     add 1beb0c4  Revert "AMBARI-23565. Restore configs does not work. (#1161)"
     add 8dfe69e  AMBARI-23667 - Cleanup/Fix Log Feeder patterns for HDP/HDF/smartsense… (#1174)
     add 6bcefac  [AMBARI-23751] Ambari ViewFS: Add ability to add XML inclusion node to a configuration file (dsen) (#1168)
     add 3eaed62  AMBARI-23565. Restore configs does not work. (#1176)
     add f6fbad8  AMBARI-23761. Add organization / license data to ambari-infra and ambari-logsearch. (#1177)
     add b674486  [AMBARI-23748] - [Logsearch UI] Logout button does not navigate user to login/logged out page
     add 115f746  AMBARI-23768 Icon for "start demo ldap" is missing. (ababiichuk)
     add fcc41f6  AMBARI-23097. ADDENDUM - Fix Log message for JWT authentication.
     add b0e5419  [AMBARI-23756] Ambari Infra Solr Service Check fails after Ambari Upgrade
     add f5d9145  AMBARI-23097. ADDENDUM - do not redirect after successful JWT authentication
     add 2365c1f  AMBARI-23766. Corrupt mapreduce/tez tar.gz may be uploaded to HDFS if parallel execution is enabled (#1181)
     add 4c49414  AMBARI-23045. ADDENDUM - Use OR operators as there default operatior is not working anymore.
     add eec1244  [AMBARI-23772] Background Ops modal breaks in some cases (#1187)
     add 004fd24  [AMBARI-22827] Loading hostTaskIds, hostRequestIds and topologyRequestIds in batches to avoid issues triggered by JDBC limitations on prepared statement parameter list size (#1179)
     add ded5af3  AMBARI-23773. Suppress FindBugs warnings for EclipseLink-generated code (#1189)
     add 63979c7  AMBARI-23687 Log Search UI: the UI does not load the initial data on logs screen loading
     add b207020  AMBARI-23741. Cannot install mpack due to No Environment present (#1183)
     add 01bdcc0  [AMBARI-23595] Generic method to replace HOSTGROUP variable in blueprints (#1074)
     add a729031  AMBARI-23742 Hive Service Summary View Links Need to be removed
     add 12084e8  AMBARI-23763 Subscriptions should be bound to WebSocket connection
     add dc078be  AMBARI-23760 Dropdowns in Host Details Page do not conform to the new UI
     add eb73b74  AMBARI-23755. Exception: Expected confdir /usr/hdp/3.0.0.0-1252/accumulo/conf to be a symlink (dlysnichenko)
     add b5659b4  Merge pull request #1170 from dlysnichenko/AMBARI-23755
     add 92649ee  [AMBARI-23777] Change viewfs mountable file and config type name (dsen) (#1192)
     add d3399bd  AMBARI-23775. Removed (or upgraded) unsecure libraries from ambari-agent (#1193)
     add e950f08  AMBARI-23703. While adding HDFS Namespace from UI, Timeline service fails to start (akovalenko)
     add 3593017  AMBARI-23769 Insert operation in upgrade pack extension (dgrinenko)
     add 1dea194  [AMBARI-23771] Customize Services - Alignment between Final/Set Recommended buttons and text boxes not proper in new tabs
     add c77399a  AMBARI-23758 Filter dropdown components not displayed properly
     add c4a125d  AMBARI-23782. Log Search: Cluster filter is not working on a few endpoints. (#1198)
     add a05762d  AMBARI-23103 Adding Stack feature constant for Ranger and Ranger KMS services (mugdha)
     add 7e1c33a  Merge remote-tracking branch 'upstream/trunk' into trunk
     add c07c2ca  Merge remote-tracking branch 'upstream/trunk' into trunk
     add 6d547f5  AMBARI-23762 Updating default Ranger Hdfs service name for NN Federation enabled cluster (mugdha)
     add d70dc6c  Merge pull request #1178 from fimugdha/trunk
     add 3304b8d  AMBARI-23784 Update upgrade-config.xsd to support new conditional statements for insert operation (dgrinenko)
     add 77cb8c3  AMBARI-23788. Make server/agent connection with no cert verification possible with agent python 2.7.5 (aonishuk)
     add bca92e3  AMBARI-23782. Fix top audit resource request.
     add e54a87a  AMBARI-23789 Regenerate keytabs on single host should be an experimental feature. (ababiichuk)
     add f7904ec  Fixing 2.7.0 as a part of code was missing from 2.6.0 causing Kafka to go down after restart post Ambari Upgrade causing java.lang.IllegalArgumentException
     add 88f5dc3  AMBARI-23776 Service summary style tweaks
     add 2d41316  AMBARI-23790 Manage Ambari UI issues
     add 88e1f32  AMBARI-23778 Ambari assigns /home for NameNode, DataNode and NodeManager directories (#1201)
     add 653f32a  AMBARI-23792. Need Ranger Tagsync component to be started at end during restart all services task for Federation wizard (akovalenko)
     add a1b30c9  [AMBARI-23795] Server Error while Bulk Deleting Hosts (#1214)
     add bc38be0  Revert "AMBARI-23778 Ambari assigns /home for NameNode, DataNode and NodeManager directories (#1201)" (#1215)
     add ab5da52  AMBARI-23783. Upgraded com.fasterxml.jackson.core:jackson-databind to 2.9.5 due to security concerns (#1211)
     add a83a4df  [AMBARI-23798] After adding Namespace, Some HDFS Quicklinks do not wo… (#1220)
     add fef6634  Revert "Revert "AMBARI-23778 Ambari assigns /home for NameNode, DataNode and NodeManager directories (#1201)" (#1215)" (#1224)
     add 5fea707  [AMBARI-23796] Allow Ranger and Ranger KMS installation via the Install Wizard.
     add 1b6a473  [AMBARI-23779] - [Log Search UI] limitation for number of URL paramater value length
     add 5969d60  AMBARI-23807. Add users to the group Is not working In group Creation UI
     add 1faa987  Merge pull request #1229 from hiveww/AMBARI-23807-trunk
     add 9457384  AMBARI-23759 [Logsearch UI] Log graph gets filled with log level icons on clicking inside the graph
     add 28d120f  AMBARI-23765. Remove topology info from non-blueprint commands. (#1213)
     add c9d5064  AMBARI-23785 Download client configs fails at Oozie client with AttributeError (dgrinenko)
     add cd82331  AMBARI-23808. Cannot turn off file cache update for Ambari Agent (aonishuk)
     add aefd00a  AMBARI-23809 Identical sets of capacity scheduler properties are displayed as unequal ones in configs comparison view. (ababiichuk)
     add 3d95ddd  AMBARI-23810 Alerts icon is absent in service page if no alerts present. (ababiichuk)
     add 5b0e11a  AMBARI-23800. Using the proper concatenation delimiter when using the 'append' variable replacement function in a Kerberized cluster
     add c1552d0  [AMBARI-23805] HBase deployment failed in Namenode Federated Environment (#1232)
     add 4f7b60d  AMBARI-23811. TimelineMetricsFilterTest fails if dir name contains @ (#1237)
     add 8419a1a  AMBARI-21816. test_kms_server timing issue (#1235)
     add 8bb3bca  AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work.
     add 5bae5c6  AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work (Pass hbase total heapsize to collector).
     add d4d2767  AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work (Refactor Split point computation. Allow only Murmur3Hash).
     add ad366eb  [AMBARI-23793]. MySQL Connector JAR distribution is broken (amagyar) (#1219)
     add ee18bba  AMBARI-23819. Ambari Agent registration task is failing  (aonishuk)
     add e0b6824  [AMBARI-23757] - [Logsearch UI] Component filter 'All' not refreshing logs after selecting an individual component
     add 3bd2ff7  AMBARI-23802 Action not shown immediately in the BG Operations window
     add aef1c50  AMBARI-22952 UI Install is unable to work with 'Redhat Satellite/Spacewalk' as local repository
     add 475b113  AMBARI-23801 Unable to add Hive Metastore from Host detail Page. (ababiichuk)
     add 9abe1a9  AMBARI-23826. Save button is inactive for changed filtered property after configs comparing
     add 2e47da7  Merge pull request #1246 from hiveww/AMBARI-23826-trunk
     add 7d215e0  Revert "AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work (Refactor Split point computation. Allow only Murmur3Hash)."
     add dd24931  Revert "AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work (Pass hbase total heapsize to collector)."
     add 4b8a6b2  Revert "AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work."
     add ef1103d  [AMBARI-23787] Log rotation for ambari metrics monitor log (#1204)
     add aa59d05  AMBARI-23754. UI Issues for HDFS Metrics when having multiple namespaces (akovalenko)
     add 1988821  AMBARI-23825 - Log feeder fails to parse date (#1248)
     add d15e9e0  AMBARI-23778 v3 Ambari assigns /home for NameNode, DataNode and NodeManager directories (#1249)
     add 7bedbef  AMBARI-23424. Need to add new property for Ranger-Tagsync when enabling federation for Namenode-HA via UI wizard (akovalenko)
     add a3c06c4  AMBARI-23822. Infra Solr: Migration script does not backup/restore all of the cores.
     add c17b9f8  AMBARI-23822. Infra Solr: Add restore support if index is on HDFS.
     add de78779  AMBARI-23097. Upgrade KNOX version to 1.0.0 for Log Search docker dev env
     add 1f6ebfe  AMBARI-23817 : Visualizing the Encrypted zones and Erasure coded zones in HDFS (nitirajrathore) (#1243)
     add 5bdad16  AMBARI-23813 Service actions (Stop, Start) not enabled when individual components are stopped
     add b623f07  AMBARI-23821 Remove hive and tez views from hive and tez page (mgergely)
     add ef86b0a  AMBARI-23821 ADDENDUM Remove hive and tez views from hive and tez page (mgergely)
     add e1f74d6  [AMBARI-23835] Port is not cleared for Superset Database type if Mysql is selected than SQLLite is selected in Installer Wizard (dsen) (#1258)
     add f472199  AMBARI-23822. Solr shards parameter should only be required for restore command.
     add 397d5d3  AMBARI-23822. Add README.md for Solr Migration
     add 9d7df89  AMBARI-23832 : Support Atlas HBase hook from Ambari (#1259)
     add f5cbc45  AMBARI-23822. Add license header for README.md
     add 8dde330  AMBARI-23822. Document Log Search / Atlas Solr collection migration as well
     add 8142e2c  AMBARI-23804 : Refine AMS HBase region splitting calculation based on UUID work.
     add f1d63e6  [AMBARI-23828] Provide a command line utility in AMS scripts to upgrade the schema using the collector's tool (dsen) (#1252)
     add 4c90384  Revert "AMBARI-23817 : Visualizing the Encrypted zones and Erasure coded zones in HDFS (nitirajrathore) (#1243)"
     add b9c2fbb  [AMBARI-23780] Implement an upgrade helper in Ambari Metrics collector that copies data from the old schema to the new  (dsen) (#1196)
     add 43a1270  AMBARI-23841. ambari-server setup throwing Error "/usr/lib/ambari-server/lib/ambari_commons/subprocess32.py:153: RuntimeWarning: The _posixsubprocess module is not being used" (aonishuk)
     add 1110548  AMBARI-23841. ambari-server setup throwing Error "/usr/lib/ambari-server/lib/ambari_commons/subprocess32.py:153: RuntimeWarning: The _posixsubprocess module is not being used" (aonishuk)
     add 5bc3f1d  AMBARI-23842. Timeline service is shown as stopped, while being started. (aonishuk)
     add ea67ea5  AMBARI-23822. Add anchor tags for migration documentation
     add 1890f5f  AMBARI-23822. Extend genrated security jsons with restored old Atlas collections
     add d1cb6f0  AMBARI-23843 unable to differentiate b/w new added service and existing service. (ababiichuk)
     add 368831b  AMBARI-23844. Infra Solr: support for manage security.json manually. (#1269)
     add 5b35787  AMBARI-23738 Need to add pre-upgrade check for Atlas service during stack upgrade (#1221)
     add 95e86e1  [AMBARI-23833] viewFS : Blueprint deployed clusters doesn't have xml include content in core-site.xml (#1256)
     add 14b9f6b  AMBARI-23847. User information is missing when upgrade wizard is launched by a custom user.
     add c26a425  Merge pull request #1272 from hiveww/AMBARI-23847-trunk
     add 4c09f53  [AMBARI-23839] Show Limited Functionality warning for Ranger and Atlas during installer wizard.
     add a8d4829  [AMBARI-23830] Enable Ranger Plugins for supported components if ranger is installed.
     add dbf99ff  AMBARI-23794 Fix WebHCat property in kerberize.json in HDP 2.5
     add 1b96587  AMBARI-23794 Fix WebHCat property in kerberize.json in HDP 2.5
     add 1b900a0  AMBARI-23794 Fix WebHCat property in kerberize.json in HDP 2.5
     add 3e32231  AMBARI-23815 NN Federation wizard: Restart Required Services should not restart JN and ZKFC. (ababiichuk)
     add a949b8a  AMBARI-23791. Agent is not notified about cluster delete in runtime. (#1274)
     add 7c26eb6  AMBARI-23854 NN Federation wizard is stuck on step 3. (ababiichuk)
     add 025c18d  AMBARI-23097. Remove '?doAs=' ending from login url.
     add 429f7bf  AMBARI-23794 Using the proper concatenation delimiter when using the 'each' variable replacement function in a Kerberized cluster
     add 7b1f403  AMBARI-23859. Fix Log Search / Ambari Infra CVE issues. (#1286)
     add 81ed7f4  AMBARI-23845 Manage Ambari UI style fixes
     add 06025fe  AMBARI-23849 Customise Services - All Configurations Tab - Issue with default dimensions of text box and toggle buttons colour
     add 6bf1db2  AMBARI-23855. Topology cache on agent side is not actual after unsupported services removal during stack upgrade. (mpapirkovskyy) (#1279)
     add d66b2ee  AMBARI-23822. Put write.lock back if it was deleted during Solr index migration.
     add aab2b77  AMBARI-23848. Next button on configure kerberos page enabled even when properties are missed
     add b8af6d0  AMBARI-23848. Next button on configure kerberos page enabled even when properties are missed (test)
     add 442573e  Merge pull request #1273 from hiveww/AMBARI-23848-trunk
     add af16f6a  AMBARI-23856. YARN TimelineReader and Registry DNS Are Not Able to be Added via the UI. (jaimin) (#1282)
     add f429f27  AMBARI-23863 : Fix issues in app aggregator in AMS memory cluster aggregation.
     add 817cc6f  AMBARI-23865. Upload Infra Solr to use Solr 7.3.1 (#1292)
     add 2458939  AMBARI-23867 : Remove dependency on org.gridgain:ignite-shmem 1.0.0 in Ambari Metrics Collector.
     add fb242ab  [AMBARI-23868] Log Search web alert gets 401 http status code if KNOX SSO is enabled. (#1294)
     add fc5aee4  AMBARI-23822. Migration Helper: handle if action option is missing
     add d8e400c  AMBARI-23872. New Alert JSON Is Invalid When Sent To Agents (aonishuk)
     add ee2aa4f  AMBARI-23875. Unnecessary popup appears while clicking Complete in Summary Page after add service completion
     add 4116774  AMBARI-23875. Unnecessary popup appears while clicking Complete in Summary Page after add service completion (close dialog fix)
     add 15909de  Merge pull request #1300 from hiveww/AMBARI-23875-trunk
     add da4733d  AMBARI-23873. Upgrade history arrow does not indicate downwards when expanded
     add 1c56307  AMBARI-23873. Upgrade history arrow does not indicate downwards when expanded (bootsrap migration fix)
     add ea078dd  Merge pull request #1299 from hiveww/AMBARI-23873-trunk
     add 6d413e3  AMBARI-23862. STOMP alert update was not sent when maintenance mode changed. (#1289)
     add 9671dd1  AMBARI-23879 Redo the Manage Journalnodes wizard in the context of federation changes. (ababiichuk)
     add d9bfcac  AMBARI-23838. Ambari Server NPE due to Agent failure during registration (#1285)
     add 69150f7  AMBARI-23880 Install Wizard: fix markup issues
     add 0460f44  AMBARI-23881 Remove dependency on marked.js 0.3.2 in Ambari Web. (ababiichuk)
     add 63688f9  [AMBARI-23869] Remove insecure dependencies from Ambari Server
     add 5e67052  [AMBARI-23883] Log Feeder: ambari services should be able to generate … (#1309)
     add d11c2b6  [AMBARI-23884] Remove webhcat server as co-hosted component for Hive.
     add c2239a1  AMBARI-22290: HDP + HDF installation fails (jluniya) (#1304)
     add c4c3149  [AMBARI-23834] Rebalance HDFS fails (dsen) (#1312)
     add 3f95121  AMBARI-23861 Service status is difficult to understand in the left nav of the new UI
     add b349c77  AMBARI-23861 Service status is difficult to understand in the left nav of the new UI
     add 2c57b45  AMBARI-23894. ZooKeepers Show As Down After EU to HDP 3.0 But They Are Not (aonishuk)
     add a1bc9ca  AMBARI-23851. No relationship between generic parameter and method argument (#1278)
     add eef11c3  AMBARI-23896. Issues with pagination in Upgrade History page
     add ced8677  Merge pull request #1318 from hiveww/AMBARI-23896-trunk
     add ec93d95  AMBARI-23878. Ambari (HSI HA): Disabling 'hive_interactive_option' does not remove both instances of HSI.
     add fe6aa87  AMBARI-23878. Ambari (HSI HA): Disabling 'hive_interactive_option' does not remove both instances of HSI. (part 2)
     add 4d34aff  AMBARI-23878. Ambari (HSI HA): Disabling 'hive_interactive_option' does not remove both instances of HSI.
     add 4b80887  Merge pull request #1301 from hiveww/AMBARI-23878-trunk
     add 0bae704  AMBARI-23895 Configuration Validation is throwing errors on correct configuration
     add 75e0c4a  AMBARI-23893. Using Configs.py throws <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579) error (dlysnichenko)
     add 087d035  Merge pull request #1314 from dlysnichenko/AMBARI-23893
     add 0d9fb4d  AMBARI-23892. OneFS Mpack to support HDP-3.0 (amagyar) (#1313)
     add 02146233 [AMBARI-23852] - Provide a Framework For Adding A Component During Upgrade (#1321)
     add e4bc80a  AMBARI-23898. Server posts numerous redundant metadata updates to agent. (#1325)
     add 37475b1  [Ambari-23850] Use trustore details for Atlas/Ranger during collection creation (#1276)
     add f26fa25  [AMBARI-23907] HDFS Prepare should not be called if there is no path to Downgrade
     add 537986c  [AMBARI-23906] - Topology Event Should Be Sent When Adding Host Components During Upgrade (#1327)
     add 9cecfae  AMBARI-23909. Cannot install PERF stack on centos7 (aonishuk)
     add 10664e3  AMBARI-23904 ZKFC fails to start while moving Namenode on a cluster with multiple namespaces. (ababiichuk)
     add d4f3ab8  AMBARI-23900 Heatmap Data Issues
     add 73a8c8a  AMBARI-23840 Log Search UI: Correct the links from Ambari to Log Search
     add 8b0f254  Remove .reviewboardrc file (#1331)
     add 30d9ce0  AMBARI-23911 Selection information not present in Hosts page filtering. (ababiichuk)
     add 69b0399  [AMBARI-23869] Inconsistent datatypes error when authenticating users when Oracle is the backend database for Ambari
     add 905c68f  add com.sun.jndi.ldap.connect.pool.* settings to AMBARI_JVM_ARGS
     add d5ccac0  AMBARI-23852. Provide a Framework For Adding A Component During Upgrade. (mpapirkovskyy) (#1338)
     add 1b7034e  AMBARI-23866 add retry to Kerberos service check kinit
     add 06e4a3a  [AMBARI-23908] Change config layout for service tabs in installer.
     add 488a8c1  [AMBARI-23916] [Logsearch UI] Rows per page drop down not working as expected
     add 940268f  [AMBARI-23918] [Logsearch UI] 'Component' option missing in the autofill in include filter
     add 80c4f89  AMBARI-23882. Service stop/start/restart times out when agent registration was not completed. (mpapirkovskyy) (#1343)
     add 1718ddc  AMBARI-23919 - Stack upgrade from 2.6.5 to 3.0.0 fails because WebHCat component doesn't exist
     add 50f1169  AMBARI-23822. Add --skip-generate-restore-host-cores option to migrationHelper.py (only read the json file, do not generate it)
     add ec030bc  AMBARI-21701. Check for org.apache.ambari.metrics.sink.relocated (#1346)
     add 2fd0d50  AMBARI-23913 New UI Makes it hard to see that a host is in a "Decommissioning" state
     add fe26d92  AMBARI-23912. Ambari should mark HSI hosts as ACTIVE or STANDBY
     add 4b48c05  AMBARI-23912. Ambari should mark HSI hosts as ACTIVE or STANDBY
     add 533229c  AMBARI-23912. Ambari should mark HSI hosts as ACTIVE or STANDBY (test review)
     add 5a1c1aa  Merge pull request #1340 from hiveww/AMBARI-23912-trunk
     add 64838b8  [AMBARI-23917] Infra Solr: show start/sop command output in ambari command. (#1339)
     add ceaf5cf  [AMBARI-23921] If Kerberos is enabled, then stack upgrade prerequisite check should ensure the KDC admin credential is persisted
     add 223cabc  AMBARI-23063. "Stale Alerts" alert has to be re-done properly (aonishuk)
     add 36c5955  AMBARI-23926. Phantom null request shows up on the bg ops for Stop All SCH. (#1350)
     add 7b89c5a  AMBARI-23927 Disabled alert status isn't "NONE"
     add 571dfe6  [AMBARI-23877] Service auto-start not working (dgrinenko)
     add 8464362  AMBARI-23928 Fixed Database scripts for Mysql
     add bc6bc7c  Revert "add com.sun.jndi.ldap.connect.pool.* settings to AMBARI_JVM_ARGS"
     add 8a5d252  Update team page. (yusaku)
     add 9e07d74  [AMBARI-23897] Log Search UI: login with invalid password – no error message is displayed
     add abb5295  [AMBARI-23897] Log Search UI: login with invalid password – no error message is displayed
     add a031dba  AMBARI-23935 ambari ui fails to load due to js error
     add 7b3aca8  [AMBARI-23930]q - Provide a Framework For Regenerating Keytabs During Upgrade (#1355)
     add e2ce601  [AMBARI-23864]  : Need to add new property for Ranger-Tagsync when enabl… (#1291)
     add 419bfc3  [AMBARI-23889] [Log Search UI] Exclude filter not working as expected.
     add 8453f1d  AMBARI-23937 Reassign Master Wizard issues. (ababiichuk)
     add 66badb9  AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster: {hive_server2_zookeeper_namespace} is not ready yet (aonishuk)
     add e4c7900  AMBARI-23914. Upgrade wizard text during patch revert indicates wrong version
     add f6d71c7  Merge pull request #1368 from hiveww/AMBARI-23914-trunk
     add b93bee5  AMBARI-23932 - Ambari Metrics reports incorrect values in aggregated host metric data when requesting avg.
     add 44ddda4  [AMBARI-23946]. Stack upgrade from 2.6.5 to 3.0.0 fails because WebHCat component doesn't exist
     add 6880f7d  AMBARI-23944. [Logsearch] Components filter does not have effect on g… (#1372)
     add a7ac282  [AMBARI-23942] Invalid repo url displayed on Ambari UI during service… (#1364)
     add e9374c9  Revert "AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster: {hive_server2_zookeeper_namespace} is not ready yet (aonishuk)" (#1373)
     add 3ea0ad1  AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster: {hive_server2_zookeeper_namespace} is not ready yet (aonishuk)
     add 34afc06  [AMBARI-23948] Proxy user settings are missing for livy in unsecured clusters.(vbrodetskyi) (#1374)
     add 9734170  Revert "[Ambari-23850] Use trustore details for Atlas/Ranger during collection creation (#1276)"
     add e5e29cd  AMBARI-23952. Blueprint export from Amin / Cluster Information is broken
     add 5f31c16  Merge pull request #1381 from hiveww/AMBARI-23952-trunk
     add 28e0fc6  AMBARI-23945. Infra Solr: Generate .ini file for migration helper. (#1382)
     add dd2b807  AMBARI-23922 - PERF 1.0 package not installed in the cluster (#1377)
     add 7b7d47c  AMBARI-23950 Next button enabled when invalid values entered. (ababiichuk)
     add 1af8731  AMBARI-23951 Selection information disappears when a filter is applied. (ababiichuk)
     add a7af9d7  AMBARI-23945. Migration Config generator: add backup base path options
     add a7a2bd7  AMBARI-23945. Migration Config generator: add zk details
     add fdf9a1c  Revert "AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster: {hive_server2_zookeeper_namespace} is not ready yet (aonishuk)" (#1383)
     add d9a0929  [AMBARI-23953] YARN start failed during EU with IllegalArgumentException
     add 91009d3  AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster: {hive_server2_zookeeper_namespace} is not ready yet (aonishuk)
     add b953a65  AMBARI-23945. Add new --delete-znode command for solrCloudClient.sh
     add 5ef331a  AMBARI-23945. Infra Solr: Add ranger managed-schema (new) for migration
     add 4773eb0  AMBARI-23945. Infra Solr Migration: create parent folders during backup folder creation
     add 59855d1  AMBARI-23945. Re-implement migration helper (use params from ini file)
     add cfb9efe  AMBARI-23945. Migration helper: add rolling-restart for Infra Solr instances
     add d41819d  AMBARI-23945. Migration helper: add ability to include/exclude solr hosts for commands
     add 9b94c2f  AMBARI-23945. Migration helper: support shared drive & hdfs base path
     add 51927cc  AMBARI-23945. Update migration docs & refactor
     add 70f95fa  AMBARI-23943. Hiveserver2 fails to start on viewFS enabled cluster (#1393)
     add 40eae54  AMBARI-23957. Spark2 Thrift Server fails to start if LLAP and parallel execution are enabled (#1392)
     add e410e8c  AMBARI-23963. Logfeeder errors out with OOM GC overhead limit exceeded (~500 MB LRU cache size) (#1394)
     add 36e41b9  [AMBARI-23920] Ambari 2way SSL does not work if CA signed certs are used
     add 9a728ff  [AMBARI-23962] Improvements for credential_store_helper to include all features (#1391)
     add 1af2604  AMBARI-23964. Disable Kerberos has the wrong styles
     add 79b2573  Merge pull request #1395 from hiveww/AMBARI-23964-trunk
     add 7b893f0  AMBARI-23967. Dashboard,component information for few componets is not able to load after Ambari Upgrade (akovalenko)
     add 575f126  AMBARI-23968. Log Search portal has too many open sessions with Ambari. (#1401)
     add 1fc1a55  AMBARI-23949. Accessing Swagger API when Ambari Server is configured for HTTPS. (jaimin) (#1375)
     add 8a92f37  [AMBARI-23966] Upgrade Spark/Zeppelin/Livy from HDP 2.6 to HDP 3.0.(vbrodetskyi) (#1397)
     add 453ac8c  Update team page. (yusaku)
     add 2c25dec  AMBARI-23976. Ambari changes required for YARN are missing (aonishuk)
     add f3d627d  AMBARI-23977. Slider service check fails with error "ValueError: need more than 3 values to unpack" after Ambari Upgrade (aonishuk)
     add d447ea5  [AMBARI-23929] Stack changes for AMS to help with HDP 2.6 to 3.0 EU (dsen) (#1353)
     add cb94997  AMBARI-23976. Ambari changes required for YARN are missing (aonishuk)
     add 8ad4557  AMBARI-20886. Make AzureDB schema generator work with Python 3 (#1407)
     add e9ef947  AMBARI-23978 Express Upgrade: Clicking on upgrade item shows no tasks on large clusters
     add 02da908  [AMBARI-23941] Updating serviceLevelParams and clusterLevelParams in server-side metadata holder both when adding and removing a service/property (#1366)
     add d1744d4  AMBARI-23945. Add upgrade & restart/stop hidden service component commands.
     add 1909c7b  AMBARI-23981. HDFS Summary widgets disappear after changing widgets order (akovalenko)
     add 8d724d7  [AMBARI-23982] - 'Start All' services call fails post EU as the state of Timeline Reader is INIT (#1415)
     add 395714e  AMBARI-23980. Agent can send too large websocket message with command output. (mpapirkovskyy) (#1413)
     add c935be3  AMBARI-23985. Change the default shard/replica numbers for Log Search collections. (#1418)
     add b337817  AMBARI-23826 Save button is inactive for changed filtered property after configs comparing - addendum (ababiichuk)
     add 4292cab  [AMBARI-23989] Provide Patch or Maint Flag to Command JSON
     add c8ab37d  [AMBARI-23990] credential_store_helper.get_password_from_credential_store does not return the correct password string
     add f2b946a  AMBARI-23979 Updating ownership and permission of .crc file for Ranger service and Ranger plugin supported services (mugdha) (#1411)
     add 4faec13  AMBARI-23991. Log Search: cleanup Ambari audits collection / schema. (#1422)
     add 6bf1206  AMBARI-23992. Log Feeder: NullPointer during file check in. (#1423)
     add c5ee7e5  Fix internal links in Infra Solr client README.md
     add ed1f013  AMBARI-23994. "Ambari persisted credential store" pre check appearing in Patch Upgrade. (amagyar) (#1425)
     add 17d5bd4  [AMBARI-23998] AMS collector RPM configs are empty (dsen) (#1428)
     add c345720  AMBARI-23995. stack advisor error : UnboundLocalError: local variable 'host' referenced before assignment (amagyar) (#1426)
     add 8d36d51  AMBARI-23980. Agent can send too large websocket message with command output. (mpapirkovskyy) (#1427)
     add b3f356d  AMBARI-24001. Recommission action doesn't appear for decommissioned component (akovalenko)
     add 7700ee8  [AMBARI-24002] - Set All Versions only on Upgrades which cannot be Downgraded (#1430)
     add 2d82dd8  AMBARI-24000. Fix ambari-web pom.xml (version not updated correctly). (yusaku)
     add f20beb6  AMBARI-24003 Duplicate data is showing up when enabling NN Federation. (ababiichuk)
     add 607fe42  AMBARI-23973 : Pre Upgrade check for AMS hadoop sink in HDP 2.6 to 3.0 EU. (#1405)
     add c043401  AMBARI-24007. Components are getting down immediately after autostart (#1437)
     add b79e4be  AMBARI-24010. Fix kafka_extended_sasl_support version check (echekanskiy)
     add 7b40c1c  AMBARI-23945. Fix migration scripts if ambari-server uses HTTPS.
     add cd9f0e3  [AMBARI-24009] - Logsearch: fix backend IT (#1440)
     add c9da7e2  [AMBARI-23975] Logsearch: do not save downloaded configuration to tmp file when comparing (#1441)
     add a6819a8  AMBARI-23550. Ambari Metrics references outdated jars (#1438)
     add b75a164  AMBARI-24012. Infra Solr start failed - Auth Failed on zk root (/) (#1444)
     add be65753  AMBARI-24013. Eliminate LogSearch / LogFeeder zk session/connection timeout warning. (#1445)
     add 00ffdc7  AMBARI-24016. Log Search: java.lang.RuntimeException: Could not create directory /etc/ambari-logsearch-portal/conf/keys (if SSL enabled) (#1448)
     add d34884e  AMBARI-23945. Infra Solr Migration: Fix Atlas edge index location.
     add 952a474  AMBARI-24017. Ambari-server protocol passed wrongly for Log Search if SSL is enabled. (#1449)
     add c4b8db5  AMBARI-24020 Remove HDFS Disk Usage widget from host summary page. (ababiichuk)
     add 5cdd641  [AMBARI-24023] Make "/hdp/apps/3.0.0.0-X/spark2/spark2-hdp-hive-archive.tar.gz"(vbrodetskyi) (#1454)
     add a9800b0  AMBARI-24019 Upgrade Task details is not loading in Upgrade History Details Window.
     add f5af2b4  AMBARI-24021. Atlas fails to start in an unsecure cluster after Ambari Upgrade . Error - Unable to run the custom hook script (amagyar) (#1453)
     add 0608999  AMBARI-24022. AutoStart Is not working for some of the components in the cluster  (aonishuk)
     add 68fd2c9  [AMBARI-24027] Missing name for the request related to EU pre-check for Hadoop sink version. (#1460)
     add aa134db  AMBARI-24034. Even though REST call to start Timeline Server was issued, start command was never sent to ambari-agent (aonishuk)
     add 9c908b5  AMBARI-24024 - Logsearch: service advisor does not set recommended number of shards (#1457)
     add fb30561  [AMBARI-24018] Log Search component log url does not work on Ambari web UI (#1458)
     add 5f113f2  AMBARI-24036. Config Group Names are converted to uppercase once selected on UI (akovalenko)
     add 3876e39  [AMBARI-23996] Changing column type from timestamp to long in users.create_time and user_authentication.[create|update]_time (#1456)
     add cc7fb90  [AMBARI-24035] - Autostart is not obeying Maintenance Mode (#1465)
     add 856a2fc  [AMBARI-24026] - Service deletion requests get queued up in Background Ops during Upgrade (#1468)
     add f7d398f  [AMBARI-24022] AutoStart Is not working for some of the components in the cluster  (aonishuk) (#1472)
     add ba46c8d  [AMBARI-24041] AMS truncates metric response quietly. (#1474)
     add 009cd2b  AMBARI-24037 Alerts label isn't clickable at the service page after turning on mm for service. (ababiichuk)
     add 2727730  AMBARI-24040. Infra Solr start/stop should be idempotent. (#1473)
     add 3bffd3c  AMBARI-24038 HDFS Metrics shows all blocks as 'Corrupt Replicas'. (ababiichuk)
     add 6482518  add com.sun.jndi.ldap.connect.pool.* settings to AMBARI_JVM_ARGS
     add 7ff9098  AMBARI-23945. Update Solr migration README.md (fix port flag)
     add 1bd7cdb  AMBARI-24042. Kafka Service Check failed on https enabled/WE cluster after Ambari Upgrade. Error : Failed to check that topic exists (amagyar) (#1477)
     add 17d1d4f  AMBARI-24043. Increase outbound message buffer size. (mpapirkovskyy) (#1478)
     add 269db6f  AMBARI-24044. Widget Browser add/hide functionality is not working correctly (akovalenko)
     add d08278d  AMBARI-24049. Ambari-agent should report when message is received (aonishuk)
     add d743faf  AMBARI-24049. Ambari-agent should report when message is received (aonishuk)
     add 78730df  AMBARI-24051 Save button is disabled after adding the custom property. (ababiichuk)
     add 8c0452e  AMBARI-24054. Making queries against kerberos_principal.principal_name and kerberos_keytab_principal.principal name case sensitive in MySQL/MariaDB (#1490)
     add d27b445  [AMBARI-24052] Add Kerberos-related configuration recommendations to the stack advisor
     add 0d2c63b  AMBARI-24055 - INFRA_SOLR START failed (#1491)
     add c48a231  AMBARI-24058 - Infra Solr: Add GC options properties (#1493)
     add b794b94  AMBARI-24056. Autostart is not working for TIMELINE_READER.  (aonishuk)
     add 43a777a  AMBARI-24056. Autostart is not working for TIMELINE_READER.  (aonishuk)
     add f996c06  AMBARI-23752 Hide SmartSense master components in HDF stack
     add 39f60f8  AMBARI-24061. Clicking on 'Details' button in Upgrade wizard shows no data (akovalenko)
     add 58a6760  AMBARI-24063. ZooKeeper Server Start fail during cluster deployment via api (amagyar) (#1498)
     add 5529b29  AMBARI-23945. Infra Solr migration - restored data can be deleted on Solr startup (if data on hdfs)
     add c314c5b  [AMBARI-24065] Ranger Kms service smart config tab - KMS HSM not shown after upgraded to Ambari-2.7.0.0.
     add 19b8f1c  [AMBARI-24060] Sys-prepped Hosts do not Install and Finalize correctly (#1495)
     add 60cf7c0  AMBARI-24064. Missing LdapFacade in HostUpdateHelper (dlysnichenko)
     add ad4a3d8  Merge pull request #1499 from dlysnichenko/AMBARI-24064
     add f154f68  AMBARI-24067. Log Search: indexed string field could be too large for audit_logs. (#1504)
     add 1662396  AMBARI-24062 Command retry on server when agent-server connection drops. (#1497)
     add 9462805  [AMBARI-24069] Fix the error setting of estring (#1505)
     add fc2537a  AMBARI-24072.  NN cannot start due do not have permission for creation of the folde (aonishuk)
     add fd81b0b  AMBARI-24071 Final flag (blue icon) is not set for Final properties in Settings tab
     add 1ab3bec  AMBARI-24073 Adding alerts to alert groups not working. (ababiichuk)
     add d450d69  [AMBARI-24066] Metrics Collector issues modify HTable descriptor calls every time it restarts. (#1503)
     add 6fb7289  [AMBARI-24050] Oozie service check failed during EU on unsecure clust… (#1483)
     add e534355  AMBARI-24075. Deploy button doesn't show in Review Page of Move Master Wizard (akovalenko)
     add ab70364  [AMBARI-24059] Ambari Views auto create instance should support matching to all known stacks (#1502)
     add ed0c26b  AMBARI-23945. Infra Solr migration - remove PYTHONHTTPSVERIFY=0 from migrationConfigGenerator.py
     add 6107459  [AMBARI-24077] Upgrade wizard shows incorrect host count if there is failure on some host during any upgrade step.
     add 5cda3d3  AMBARI-24070. Added missing 2-way SSL logs
     add 44748d9  AMBARI-24070. Changed the exception
     add f7fe7f9  AMBARI-24070. Removed raising specific exception
     add 1f4cbb1  AMBARI-24080. [UI] Ambari label do not navigate to Dashboard page (akovalenko)
     add 709b43b  [AMBARI-24078] Components Added During Upgrade Are Not Scheduled for Restart (#1512)
     add 62cf442  [AMBARI-24084] - The livy2 Package in stack_packages is Wrong for conf-select (#1518)
     add 1bc74fa  AMBARI-24081 Ambari UI isn't loading in IE. (ababiichuk)
     add 3fbc357  AMBARI-24082 Reordering of dashboard widgets doesn't work after enabling NN federation. (ababiichuk)
     add 92a3cc6  AMBARI-24086. Start of components fails if HDFS is not installed (aonishuk)
     add d623dd5  AMBARI-24076. Guarantee execution command retrying task completion. (mpapirkovskyy) (#1516)
     add 4c877c8  AMBARI-24074. Guarantee STOMP update contains not null hash/timestamp if exists. (mpapirkovskyy) (#1517)
     add dd2f435  AMBARI-24087. The alert "DataNode Unmounted Data Dir" did not appear (amagyar) (#1522)
     add 5a02c13  AMBARI-24089 Cannot add component to 25+ hosts
     add 58fdcab  [AMBARI-24090] - Resuming a Paused Upgrade Attempts To Retry Tasks Which Were Already Passed (#1526)
     add dbfc6a0  [AMBARI-24085] setup-sso in Ambari fails when SSL is enabled
     add 85c544c  [AMBARI-24092] Need xpaths for content/textarea to be unique.
     add 8d2336e  AMBARI-24094 Hive Upgrade in Atlantic
     add 3906975  [AMBARI-24088] Log Feeder dint start during cluster install because of java.net.ConnectException (#1525)
     add 5de78a9  AMBARI-24093 Delete Button not enabled on Druid Router component
     add 69f7bae  AMBARI-24098. Filter have incorrect name on host page (akovalenko)
     add e11bab6  AMBARI-23945. Embed migration config generation steps to README.md
     add f1334dc  AMBARI-24102 Update the Manage JN wizard step for multiple nameservice scenario. (ababiichuk)
     add 2d925a4  AMBARI-23945. Embed backup/migration/restore collection steps to README.md
     add 451cdac  AMBARI-24097. Canceling task during blueprint install results in agent not responding to any other tasks (aonishuk)
     add 484cd10  AMBARI-24097. Canceling task during blueprint install results in agent not responding to any other tasks (aonishuk)
     add 0536321  [AMBARI-24105] Jackson library version mismatch casue MR jobs to fail (#1540)
     add 81e51d3  AMBARI-24100. Websocket connection. Port is hardcoded
     add c227607  Merge pull request #1536 from hiveww/AMBARI-24100-trunk
     add 2eb647a  [AMBARI-24103] topology_script.py return incorrect data (dsen) (#1534)
     add b67a455  AMBARI-24099. Service check failure is not skipped during upgrade even though "Skip All Service Check Failures" options is selected before Upgrade Start (dlysnichenko)
     add 6176223  AMBARI-24099. Service check failure is not skipped during upgrade even though "Skip All Service Check Failures" options is selected before Upgrade Start. Fix review comments (dlysnichenko)
     add 2e31e81  Merge pull request #1532 from dlysnichenko/AMBARI-24099
     add ae72be1  AMBARI-24110 Add Ranger Kms Server doesn't not trigger Install request while enabling HA
     add 14e8bcd  AMBARI-24114 Ranger server password checks are not performed during Cluster Install Wizard. (ababiichuk)
     add 3b9a4cf  AMBARI-24113. Actions for components adding are absent at the Druid service page
     add 9204495  Merge pull request #1546 from hiveww/AMBARI-24113-trunk
     add 264347c  [AMBARI-24107] Ranger & Atlas initial install require additional properties to be explicitly configured in the UI.
     add acffdfc  AMBARI-24112. Requests failed after Ambari upgrade with exception while executing custom service command. (#1547)
     add 623834f  AMBARI-24094 ADDENDUM Hive Upgrade in Atlantic (#1553)
     add e691c7b  AMBARI-23945. Infra Solr migration: Add dump collections support & refactor.
     add 16a19c9  AMBARI-23945. Infra Solr migration - Update asciinema links
     add b1be203  AMBARI-24117. Ambari "assign masters" should display available hosts in sorted order (akovalenko)
     add 7690892  AMBARI-24108. Adding a New Component to a Host Doesn't Get Reflected Without a Hard Refresh
     add 9e1d6d6  AMBARI-24108. Adding a New Component to a Host Doesn't Get Reflected Without a Hard Refresh
     add 9675d3c  Merge pull request #1550 from hiveww/AMBARI-24108-trunk
     add e57478e  AMBARI-24126. Ambari setup-ldap does not prompt for ldaps cert path, even when use-ssl is set to true (amagyar) (#1559)
     add 5f6def1  AMBARI-24127. Username case changes from Cluster info page to install wizard (akovalenko)
     add 5cd6b30  AMBARI-24128 Add notification to the Alert Groups not working. (ababiichuk)
     add 172f673  AMBARI-23945. Fix broken upgrade solr-client/solr/logfeeder/logsearch-portal commands.
     add d5e8fbe  AMBARI-24129. Log Search - Logs histogram query is not filtered by include/exclude fields. (#1562)
     add 648fdaa  AMBARI-23524. There are no alerts for logfeeder (#1564)
     add cd98168  AMBARI-24112. Requests failed after Ambari upgrade with exception while executing custom service command. Additional fix (#1563)
     add 331d7d9  AMBARI-23945. Infra Solr migration - Add disable-solr-authorization command
     add 9f9042c  AMBARI-23945. Infra Solr migration - Add filter-cores support during restore
     add c28a1ca  AMBARI-23945. Infra Solr migration - Add shard replica check command
     add d9b7a28  AMBARI-24116 Web Client Pulls Back Too Much Information in Upgrade Wizard
     add 543dc9f  AMBARI-24125. Infra Solr: set hdfs kerberos principal in infra-solr-env. (#1558)
     add f066336  AMBARI-24132. Manage Config groups option is missing in add service wizard
     add 3eeeaa5  Merge pull request #1567 from hiveww/AMBARI-24132-trunk
     add de66866  AMBARI-24133. Deleting and adding the same host fails in Ambari (akovalenko)
     add 0f7994c  AMBARI-24135. Stop of Knox Gateway fails after deleting Hive from cluster post upgrade. (dlysnichenko)
     add a5d4dea  Merge pull request #1570 from dlysnichenko/AMBARI-24135
     add 8c78a1c  AMBARI-24134 Failure of component install leave ambari ui with inactive Customize Services
     add 8a80ada  AMBARI-24125. Infra Solr migration: fix config set + node name in restore command.
     add 4cbd969  AMBARI-23945. Create dump collections file even if no available collections.
     add 4635cbb  [AMBARI-24131] Unable to Perform Rolling Restarts Because of Outdated Postgres Driver (#1566)
     add d22f30e  AMBARI-24136 Components Filter in "Manage ConfigGroup at Customize Services page" doesn't list hosts correctly
     add 34919e2  AMBARI-23871 : Removal of huetoview migration, jobs view, hawq view, storm view from ambari (nitirajrathore) (#1523)
     add 3ba2ce3  AMBARI-24138 Customer cannot back from step 4 to step 3 during adding a new host to cluster
     add 7b6c3bc  AMBARI-24145. Ambari Master selection page breaks when you have large number of hosts (akovalenko)
     add 24244f6  [AMBARI-24130] Ranger/Atlas Default Install Changes. (#1565)
     add 166d3a6  AMBARI-23945. Infra Solr migration - Update docs
     add 9ff13b2  [AMBARI-24142] Show/Hide config-section not working for Ranger and Ra… (#1577)
     add 5273ffc  AMBARI-23945. Infra Solr migration - remove 'solr_skip_generate_restore_host_cores' usages.
     add f7cafb8  AMBARI-23945. Infra Solr migration - Add --skip-json-dump-files flag
     add 690295b  AMBARI-23945. Infra Solr migration - Add core filter & skip-json-dump-files to the doc
     add 35f6d16  AMBARI-23945. Get Logfeeder hosts for migrationHelper.py to upgrade Logfeeders
     add b2db89c  AMBARI-24143 - Logs not indexed with default configuration for many components when custom service accounts are used (#1579)
     add f858525  [AMBARI-24150] Install wizard stuck at Assign Slaves and Clients page.
     add 087d4db  [AMBARI-24141] Rolling restarts not working when Kerberos Auto sign in is enabled for Ambari
     add 5ec9348  [AMBARI-24121] Saving request's end time when its status changes to a completed one (FAILED, COMPLETED, etc...) (#1575)
     add 6cef8cb  AMBARI-24155 Ranger and KMS tab still present in Customize ServicesPage even after going back and deselecting them from Choose ServicesPage. (ababiichuk)
     add 7aba3bf  AMBARI-24154. DB Connectivity Warnings for oozie & hive show up even after tests are passed
     add 804bfa0  AMBARI-24154. DB Connectivity Warnings for oozie & hive show up even after tests are passed (review)
     add b72fc2f  AMBARI-24153 Customize Service step issues
     add 8f7bffc  AMBARI-24153 Customize Service step issues
     add c3ccc4e  AMBARI-23945. Infra Solr Client - add number of docs to collection dump
     add 5960d2a  AMBARI-23945. Infra Solr Migration - check collections are empty or not
     add 303ba2e  [AMBARI-24160] Inaccurate error message showed during service removal in some circumstances (dgrinenko)
     add 736722d  [AMBARI-24146] Metrics migrated during AMS upgrade are not saved into… (#1580)
     add fa1542d  AMBARI-24157 Backup External Metastore Database Task should communicate properly with the user
     add 9ce3191  AMBARI-23945. Infra Solr Migration: add number of docs check.
     add c492689  AMBARI-24147. Make STOMP updates immutable. (#1584)
     add 939a33c  AMBARI-24163. Infra Solr: solrDataManager.py should support transport data without timestamp field. (#1594)
     add 368a42b  AMBARI-24167. Files View Is Not Properly Displayed (pallavkul)
     add e6b407e  Merge pull request #1598 from pallavkul/AMBARI-24167-trunk
     add 00207e3  AMBARI-23945. Add some new restart/rolling-restart commands for ATLAS/RANGER/INFRA_SOLR components.
     add e72db1d  AMBARI-23945. Infra Solr migration - Update README.md
     add 00274d4  AMBARI-24166. Metric Collector goes down after HDFS restart post EU
     add 9de1314  AMBARI-24169 Hive Upgrade should run kinit before table conversion if needed
     add b3fc86d  AMBARI-24170 Test Connection button not working in Database Tab
     add 55679e5   AMBARI-23945. Infra Solr migration: Add transfer data asciicinema links to README.md
     add 30b6602  AMBARI-23945. Fix typo in asciinema video
     add 2357dd2  Revert "AMBARI-24147. Make STOMP updates immutable. (#1584)" (#1606)
     add f439ce8  AMBARI-24174. Agent failed to process execution command (aonishuk)
     add a45643d  AMBARI-23945. Add script for migration happy path.
     add 97e5134  AMBARI-23945. Infra Solr Migration - update README.md + add check index size step
     add b71d73f  AMBARI-23945. Infra Solr Migration - helper command to enable/disable/fix solr kerberos config.
     add 99c74ef  AMBARI-23945. Infra Solr Migration - do not use solr hosts which are not related with the right collection
     add 6e849e9  AMBARI-22734. Wrong placeholder in format string (#1436)
     add 0396923  AMBARI-23945. Infra Solr migration - fix batch interval argument usage.
     add ea9eb5b  [AMBARI-24171] Fix issues in AMS aggregation and writes. (#1603)
     add 305a1c0  AMBARI-22012. Improve ManagedThreadPoolExecutorTest (#1608)
     add 934a18d  AMBARI-23945. Infra Solr Migration - add --keep-backup to automation script + use elapsed time as well
     add 60e080f  AMBARI-23945. ADDENDUM: --keep-backup was not added to restore command
     add e6460b1  AMBARI-24178 Database tab disabled if Setup Database and Database User
     add 2c7fa51  [AMBARI-24004] [Logsearch UI] Add hosts link in log index filter popup is not working (#1614)
     add 5460e89  AMBARI-24177. Ambari gets stuck at host checks (after successful registration) when installing more number of nodes via UI. (#1613)
     add 8fb5e54  AMBARI-24087. Fix test_missing_configs (#1611)
     add 8b2484e  [AMBARI-24181] Build failure due to bower version deprecation.
     add c7ca22a  AMBARI-24186 Run Hive PreUpgradeTool with propert user
     add df5bc5c  AMBARI-24189. Remove reference to JDK 1.7 in ambari-server setup (aonishuk)
     add 4992284  [AMBARI-24193] - Upgrade Packs Do Not Allow Downgrade by Default (#1625)
     add 9fabbe9  AMBARI-24176. Deleting a service fails to remove keytabs (amagyar) (#1624)
     add dc97711  AMBARI-24191. Typo in div class name at CustomizeServicespage - Accounts tab (akovalenko)
     add 5b08b29  [AMBARI-24168]. Express Upgrade Blocked on Missing OS in repo_version (… (#1602)
     add 6da4163  [AMBARI-24180] Ambari metrics Service Check fails. (#1615)
     add cf17293  AMBARI-23945. Add warning for migration config generation (if wrong host is used)
     add fbc0b10  AMBARI-24182. Assign Slaves and Clients Page missing warning message when no slave/client is selected (dlysnichenko)
     add ac0e2ac  AMBARI-24182. Assign Slaves and Clients Page missing warning message when no slave/client is selected - add tests (dlysnichenko)
     add ef128df  Merge pull request #1617 from dlysnichenko/AMBARI-24182
     add 781b4bf  AMBARI-24201. Command reschedule does not work causing blueprint deployments to timeout   (aonishuk)
     add d10f8cc0 AMBARI-23945. Simplify old Solr data transport
     add e556011  AMBARI-23945. Infra Solr migration - README fixes
     add c4b06db  AMBARI-24200 Unable to filter on the alerts in dashboard page
     add d6d38ba  AMBARI-24188 Adding data-qa attribute for Keberos wizard
     add a8184e8  [AMBARI-24198] Ranger KMS Database Connection Test hangs with JS error.
     add 896c86e  AMBARI-24122. Added scrolling for services in collapsed navigation
     add d6e74e5  AMBARI-24122 Moved the fix to bootstrap_overrides.less
     add 497ec4d  AMBARI-24122 added correct format of the rule
     add c2400f8  [AMBARI-24202] - Allow Conditional Upgrade Elements Based on KDC Type (#1634)
     add f5b53c6  AMBARI-24206 LDAP user with admin privileges doesn't have option to manage Ambari
     add 40da07e  AMBARI-24205. Disable flaky test: TestHeartbeatHandler.testComponents (#1638)
     add cc5e30c  [AMBARI-24005] [Logsearch UI] "Open log" context menu navigates user to default 'last 1 hour' filtered logs (#1612)
     add 98da21f  BUG-105479. Ranger Storm plugin toggle behavior changes under different scenarios. (jaimin) (#1636)
     add 5919d5d  [AMBARI-24210] Provide Button to Download CSV of Keytabs From Kerbero… (#1643)
     add e07b99f  AMBARI-24214. Log Search: config api validator in Configuration Editor throws 'IllegalArgumentException' (#1644)
     add bbcc1b8  AMBARI-24216 Updating admin user password field value for Ranger and Atlas (mugdha) (#1645)
     add effd430  AMBARI-24221 Add Service Wizard: Next Button is not enabled while adding Ranger after fixing an erroneous property. (ababiichuk)
     add 7b268e0  AMBARI-24222. Ambari setup-ldap fails with "internal server error" after upgrade (amagyar) (#1648)
     add 6bf4a5a  AMBARI-24223. Component with recovery Enabled are not coming up when autostart is enabled  (aonishuk)
     add 83f7227  AMBARI-24224. Do not filter out /clusters/*/widgets*; we do check authorization later on in the resource provider based on user name (#1650)
     add 2a3e49b  AMBARI-24226. Ambari ldap integration has inconsistent behavior in Group Object Class definition after upgrade (amagyar) (#1651)
     add 80d511b  AMBARI-23550. Ambari Metrics references outdated jars (#1655)
     add fb6bde2  [AMBARI-24228] Agent-side command-*.json files should optionally be deleted when no longer needed by the command
     add 789e4ec  AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko)
     add dfbf724  AMBARI-24213. Enabling RM HA should not be allowed if YARN is stopped (akovalenko)
     add f8f46de  AMBARI-24232 Alert definitions have not updated after stack upgrade (dgrinenko)
     add 2737952  AMBARI-24232 Hive DB Backup during upgrade should handle exceptions properly (mgergely)
     add 60e54750 [AMBARI-24203] - Check for under-replicated partitions in Kafka service check (#1635)
     new 220450b  Merge remote-tracking branch 'origin/trunk' into branch-feature-AMBARI-14714
     new a8bae2c  Merge branch 'branch-feature-AMBARI-14714' of https://github.com/apache/ambari into branch-feature-AMBARI-14714
     new 65903f3  Fix compilation issue (jluniya)
     new c210fe5  Fix imports (jluniya)

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .reviewboardrc                                     |    19 -
 .../controllers/ambariViews/ViewsEditCtrl.js       |     7 +-
 .../controllers/ambariViews/ViewsListCtrl.js       |     7 +-
 .../controllers/clusters/ClusterInformationCtrl.js |     4 +-
 .../remoteClusters/RemoteClustersEditCtrl.js       |     2 +-
 .../stackVersions/StackVersionsCreateCtrl.js       |    28 +-
 .../stackVersions/StackVersionsEditCtrl.js         |    22 +-
 .../controllers/userManagement/GroupCreateCtrl.js  |    19 +-
 .../controllers/userManagement/GroupEditCtrl.js    |    46 -
 .../controllers/userManagement/GroupsListCtrl.js   |     5 +-
 .../controllers/userManagement/UserEditCtrl.js     |    45 -
 .../controllers/userManagement/UsersListCtrl.js    |     5 +-
 .../app/scripts/directives/comboSearch.js          |     2 +-
 .../app/scripts/directives/editableList.js         |    82 +-
 .../ui/admin-web/app/scripts/i18n.config.js        |    18 +-
 .../app/scripts/services/ConfirmationModal.js      |     6 +-
 .../ui/admin-web/app/scripts/services/Filters.js   |     6 +-
 .../ui/admin-web/app/scripts/services/Stack.js     |     1 +
 .../admin-web/app/styles/bootstrap-overrides.css   |    21 +
 .../resources/ui/admin-web/app/styles/main.css     |    49 +-
 .../ui/admin-web/app/styles/stack-versions.css     |    74 +
 .../ui/admin-web/app/styles/user-management.css    |    12 +-
 .../resources/ui/admin-web/app/styles/views.css    |     4 +
 .../ui/admin-web/app/views/ambariViews/edit.html   |     2 +-
 .../app/views/ambariViews/modals/create.html       |     8 -
 .../app/views/clusters/clusterInformation.html     |     3 +-
 .../app/views/directives/editableList.html         |    11 +-
 .../app/views/modals/ConfirmationModal.html        |     2 +-
 .../ui/admin-web/app/views/stackVersions/list.html |     2 +-
 .../app/views/stackVersions/stackVersionPage.html  |    32 +-
 .../app/views/userManagement/groupEdit.html        |    23 +-
 .../views/userManagement/modals/userCreate.html    |    12 +-
 .../app/views/userManagement/userEdit.html         |    12 +-
 ambari-agent/conf/unix/ambari-agent.ini            |     4 +-
 ambari-agent/conf/windows/ambari-agent.ini         |     2 +-
 ambari-agent/pom.xml                               |    41 +-
 .../src/main/python/ambari_agent/ActionQueue.py    |    49 +-
 .../python/ambari_agent/AlertStatusReporter.py     |    22 +-
 .../src/main/python/ambari_agent/AmbariAgent.py    |     3 +-
 .../src/main/python/ambari_agent/AmbariConfig.py   |    73 +-
 .../python/ambari_agent/ClusterMetadataCache.py    |    18 +
 .../python/ambari_agent/ClusterTopologyCache.py    |    31 +-
 .../main/python/ambari_agent/CommandStatusDict.py  |    80 +-
 .../python/ambari_agent/ComponentStatusExecutor.py |    83 +-
 .../python/ambari_agent/ConfigurationBuilder.py    |     6 +-
 .../src/main/python/ambari_agent/Constants.py      |     7 +-
 .../ambari_agent/CustomServiceOrchestrator.py      |    99 +-
 .../src/main/python/ambari_agent/ExitHelper.py     |     7 +-
 ambari-agent/src/main/python/ambari_agent/Grep.py  |    14 +
 .../src/main/python/ambari_agent/Hardware.py       |     4 +-
 .../main/python/ambari_agent/HeartbeatThread.py    |    50 +-
 .../src/main/python/ambari_agent/HostCleanup.py    |     9 +-
 .../src/main/python/ambari_agent/HostInfo.py       |     4 +-
 .../main/python/ambari_agent/HostStatusReporter.py |    16 +-
 .../main/python/ambari_agent/InitializerModule.py  |    47 +-
 .../src/main/python/ambari_agent/NetUtil.py        |     6 +-
 .../src/main/python/ambari_agent/PythonExecutor.py |     7 +-
 .../main/python/ambari_agent/RecoveryManager.py    |   421 +-
 ambari-agent/src/main/python/ambari_agent/Utils.py |     8 +-
 .../main/python/ambari_agent/alerts/base_alert.py  |    51 +-
 .../ambari_agent/listeners/AgentActionsListener.py |    66 +
 .../listeners/AlertDefinitionsEventListener.py     |     7 +-
 .../listeners/CommandsEventListener.py             |     5 +-
 .../listeners/ConfigurationEventListener.py        |    15 +-
 .../listeners/HostLevelParamsEventListener.py      |    11 +-
 .../listeners/MetadataEventListener.py             |    22 +-
 .../listeners/ServerResponsesListener.py           |    26 +-
 .../listeners/TopologyEventListener.py             |     5 +-
 .../main/python/ambari_agent/listeners/__init__.py |    42 +-
 ambari-agent/src/main/python/ambari_agent/main.py  |    40 +-
 .../src/main/python/ambari_agent/security.py       |    21 +-
 .../test/python/ambari_agent/TestActionQueue.py    |   218 +-
 .../test/python/ambari_agent/TestAmbariConfig.py   |    29 +
 .../python/ambari_agent/TestCommandStatusDict.py   |    78 +
 .../ambari_agent/TestConfigurationBuilder.py       |    34 +
 .../ambari_agent/TestCustomServiceOrchestrator.py  |   182 +-
 .../src/test/python/ambari_agent/TestFileCache.py  |     4 +-
 .../src/test/python/ambari_agent/TestGrep.py       |    31 +
 .../test/python/ambari_agent/TestPythonExecutor.py |    14 +-
 .../python/ambari_agent/TestRecoveryManager.py     |   175 +-
 .../test/python/ambari_agent/TestRegistration.py   |    17 +-
 .../stomp/metadata_after_registration.json         |     6 +-
 .../python/resource_management/TestTarArchive.py   |    66 +
 .../resource_management/TestXmlConfigResource.py   |    36 +-
 .../src/main/python/ambari_commons/constants.py    |     3 +
 .../ambari_commons/credential_store_helper.py      |    49 +-
 .../src/main/python/ambari_commons/firewall.py     |     2 +-
 .../src/main/python/ambari_commons/inet_utils.py   |    20 +-
 .../main/python/ambari_commons/libs/__init__.py    |    19 +
 .../python/ambari_commons/libs/ppc64le/__init__.py |    19 +
 .../libs/ppc64le/_posixsubprocess.so               |   Bin 0 -> 115672 bytes
 .../python/ambari_commons/libs/x86_64/__init__.py  |    19 +
 .../{ => libs/x86_64}/_posixsubprocess.so          |   Bin
 .../src/main/python/ambari_commons/os_check.py     |     4 +-
 .../python/ambari_commons/repo_manager/__init__.py |    18 +-
 .../ambari_commons/repo_manager/apt_manager.py     |    39 +-
 .../ambari_commons/repo_manager/generic_manager.py |     6 +
 .../repo_manager/repo_manager_helper.py            |    54 +
 .../ambari_commons/repo_manager/yum_manager.py     |    17 +-
 .../ambari_commons/repo_manager/zypper_manager.py  |    23 +-
 .../python/ambari_commons/resources/os_family.json |    16 +-
 .../src/main/python/ambari_commons/shell.py        |    12 +-
 .../src/main/python/ambari_commons/subprocess32.py |     7 +-
 .../src/main/python/ambari_stomp/transport.py      |     4 +-
 .../src/main/python/ambari_ws4py/websocket.py      |    54 +-
 .../resource_management/core/providers/accounts.py |    14 +-
 .../resource_management/core/providers/system.py   |     3 +-
 .../main/python/resource_management/core/shell.py  |    22 +-
 .../execution_command/execution_command.py         |     2 +-
 .../libraries/functions/copy_tarball.py            |    37 +-
 .../functions/generate_logfeeder_input_config.py   |    44 +
 .../libraries/functions/install_windows_msi.py     |     3 +-
 .../libraries/functions/namenode_ha_utils.py       |   185 +-
 .../libraries/functions/package_conditions.py      |     9 +
 .../libraries/functions/ranger_functions_v2.py     |    87 +-
 .../libraries/functions/reload_windows_env.py      |     2 +-
 .../libraries/functions/repository_util.py         |     2 +-
 .../libraries/functions/setup_atlas_hook.py        |     2 +-
 .../libraries/functions/setup_ranger_plugin_xml.py |    76 +-
 .../libraries/functions/solr_cloud_util.py         |    67 +-
 .../libraries/functions/stack_select.py            |     3 +-
 .../libraries/functions/tar_archive.py             |    53 +-
 .../libraries/functions/upgrade_summary.py         |     8 +-
 .../libraries/providers/hdfs_resource.py           |    96 +-
 .../libraries/providers/xml_config.py              |    10 +-
 .../libraries/resources/hdfs_resource.py           |     3 +
 .../libraries/resources/xml_config.py              |     1 +
 .../resource_management/libraries/script/script.py |    84 +-
 .../2.0.7/services/HIVE/package/scripts/hive.py    |     2 +-
 ambari-infra/ambari-infra-assembly/pom.xml         |     8 +
 ambari-infra/ambari-infra-manager-it/pom.xml       |    57 +
 .../test/java/org/apache/ambari/infra/Solr.java    |   107 +
 .../java/org/apache/ambari/infra/TestUtil.java     |    82 +
 .../ambari/infra/solr/metrics/MetricsIT.java       |   142 +
 .../infra/solr/metrics/MockMetricsServer.java      |    75 +
 .../ambari/infra/steps/AbstractInfraSteps.java     |   133 +-
 .../apache/ambari/infra/steps/ExportJobsSteps.java |    65 +-
 .../ambari-infra-manager/docker/docker-compose.yml |     3 +-
 .../docker/infra-manager-docker-compose.sh         |     4 +-
 ambari-infra/ambari-infra-manager/pom.xml          |    21 +-
 .../src/main/resources/swagger/swagger.html        |    75 +-
 ambari-infra/ambari-infra-solr-client/README.md    |  1056 +
 ambari-infra/ambari-infra-solr-client/build.xml    |     8 +
 .../ambari/infra/solr/AmbariSolrCloudCLI.java      |    65 +-
 .../ambari/infra/solr/AmbariSolrCloudClient.java   |    28 +
 .../infra/solr/AmbariSolrCloudClientBuilder.java   |    12 +
 .../infra/solr/commands/DeleteZnodeZkCommand.java  |    37 +
 .../solr/commands/DumpCollectionsCommand.java      |   157 +
 .../infra/solr/domain/json/SolrCollection.java     |    89 +
 .../infra/solr/domain/json/SolrCoreData.java       |    57 +
 .../ambari/infra/solr/domain/json/SolrShard.java   |    55 +
 .../src/main/python/migrationConfigGenerator.py    |   513 +
 .../src/main/python/migrationHelper.py             |  1900 +-
 .../src/main/python/solrDataManager.py             |   398 +-
 .../src/main/resources/ambariSolrMigration.sh      |   322 +
 .../resources/data/security-without-authr.json     |     6 +
 .../src/main/resources/managed-schema              |    93 +
 .../src/main/resources/solrIndexHelper.sh          |    16 +-
 ambari-infra/ambari-infra-solr-plugin/.gitignore   |     3 +
 .../ambari-infra-solr-plugin/docker/Dockerfile     |    46 +
 .../docker/docker-compose.yml                      |    54 +
 .../docker/infra-solr-docker-compose.sh            |   122 +
 .../ambari-infra-solr-plugin/docker/infra-solr.sh  |    69 +
 .../ambari-infra-solr-plugin/docker/solr.xml       |   108 +
 ambari-infra/ambari-infra-solr-plugin/pom.xml      |    27 +
 .../solr/metrics/reporters/AMSCacheReporter.java   |    51 +
 .../infra/solr/metrics/reporters/AMSProtocol.java  |    24 +
 .../infra/solr/metrics/reporters/AMSReporter.java  |   104 +
 .../solr/metrics/reporters/GaugeConverter.java     |    29 +
 .../infra/solr/metrics/reporters/MetricsUtils.java |    79 +
 .../metrics/reporters/ScheduledAMSReporter.java    |   117 +
 .../reporters/ScheduledAMSReporterBuilder.java     |   101 +
 .../solr/metrics/reporters/SimpleAMSReporter.java  |    38 +
 .../reporters/SolrMetricsSecurityConfig.java       |    44 +
 .../solr/metrics/reporters/SolrMetricsSink.java    |   103 +
 ambari-infra/pom.xml                               |    52 +-
 ambari-logsearch/README.md                         |     2 +-
 .../config/api/LogSearchConfigFactory.java         |     2 +-
 .../model/inputconfig/FilterGrokDescriptor.java    |     4 +
 .../api/model/inputconfig/InputDescriptor.java     |     2 +
 .../api/model/inputconfig/InputFileDescriptor.java |     7 +
 .../ambari-logsearch-config-zookeeper/pom.xml      |     1 -
 .../config/zookeeper/LogSearchConfigZK.java        |    54 +-
 .../inputconfig/impl/FilterGrokDescriptorImpl.java |    38 +
 .../inputconfig/impl/InputDescriptorImpl.java      |    21 +
 .../inputconfig/impl/InputFileDescriptorImpl.java  |    83 +
 ambari-logsearch/ambari-logsearch-it/log4j.dtd     |   230 +
 ambari-logsearch/ambari-logsearch-it/pom.xml       |    81 +-
 .../ambari/logsearch/domain/StoryDataRegistry.java |     9 +
 .../patterns/AmbariInfraSolrLogPatternIT.java      |    39 +
 .../logsearch/patterns/AmbariLogPatternIT.java     |   255 +
 .../logsearch/patterns/AtlasLogPatternIT.java      |    42 +
 .../logsearch/patterns/HBaseLogPatternIT.java      |    45 +
 .../logsearch/patterns/HDFSLogPatternIT.java       |    42 +
 .../logsearch/patterns/HdfsAuditLogPatternIT.java  |    80 +
 .../logsearch/patterns/HiveLogPatterntIT.java      |   116 +
 .../ambari/logsearch/patterns/JinjaFunctions.java  |    27 +
 .../logsearch/patterns/KafkaLogPatternIT.java      |    90 +
 .../logsearch/patterns/KnoxLogPatternIT.java       |    59 +
 .../ambari/logsearch/patterns/LayoutQuery.java     |    23 +
 .../ambari/logsearch/patterns/ListAppender.java    |    59 +
 .../ambari/logsearch/patterns/Log4jContent.java    |    25 +
 .../ambari/logsearch/patterns/Log4jProperties.java |    65 +
 .../apache/ambari/logsearch/patterns/Log4jXml.java |    74 +
 .../logsearch/patterns/Log4jXmlProperties.java     |    45 +
 .../logsearch/patterns/MetricsLogPatternIT.java    |    67 +
 .../ambari/logsearch/patterns/PatternITBase.java   |   153 +
 .../logsearch/patterns/RangerLogPatternIT.java     |    77 +
 .../logsearch/patterns/SmartSenseLogPatternIT.java |   145 +
 .../logsearch/patterns/Spark2LogPatternIT.java     |    62 +
 .../ambari/logsearch/patterns/StackDefContent.java |    61 +
 .../logsearch/patterns/StormLogPatternIT.java      |    90 +
 .../logsearch/patterns/YarnLogPatternIT.java       |   159 +
 .../logsearch/patterns/ZeppelinLogPatternIT.java   |    45 +
 .../logsearch/patterns/ZookeeperLogPatternIT.java  |    43 +
 .../logsearch/steps/AbstractLogSearchSteps.java    |    34 +-
 .../logsearch/steps/LogSearchDockerSteps.java      |     2 +-
 .../stories/backend/logfeeder_parsing_tests.story  |     2 +-
 .../input.config-smartsense.json.j2                |    85 +
 .../service-log-level-counts-values.json           |     8 +-
 .../ambari/logfeeder/plugin/common/ConfigItem.java |     3 +-
 .../plugin/common/LogFeederProperties.java         |     3 +-
 .../ambari/logfeeder/plugin/common/MetricData.java |     4 +-
 .../ambari/logfeeder/plugin/filter/Filter.java     |     4 +
 .../ambari/logfeeder/plugin/input/Input.java       |    15 +-
 .../logfeeder/plugin/input/cache/LRUCache.java     |    31 +-
 .../ambari-logsearch-logfeeder/build.xml           |     4 +-
 .../ambari-logsearch-logfeeder/pom.xml             |    11 +-
 .../ambari/logfeeder/common/ConfigHandler.java     |    16 +-
 .../logfeeder/common/LogEntryParseTester.java      |    12 +-
 .../logfeeder/common/LogFeederConstants.java       |     1 +
 .../ambari/logfeeder/conf/InputSimulateConfig.java |     2 +
 .../ambari/logfeeder/conf/LogEntryCacheConfig.java |     2 +
 .../ambari/logfeeder/conf/LogFeederProps.java      |    20 +-
 .../logfeeder/conf/LogFeederSecurityConfig.java    |     2 -
 .../logfeeder/conf/MetricsCollectorConfig.java     |     2 +
 .../apache/ambari/logfeeder/filter/FilterGrok.java |    25 +-
 .../apache/ambari/logfeeder/input/InputFile.java   |   220 +-
 .../ambari/logfeeder/input/InputFileMarker.java    |     2 +-
 .../ambari/logfeeder/input/InputManagerImpl.java   |    12 +
 .../logfeeder/input/file/FileCheckInHelper.java    |     4 +-
 .../input/monitor/AbstractLogFileMonitor.java      |    64 +
 .../input/monitor/CheckpointCleanupMonitor.java    |    48 +
 .../input/monitor/LogFileDetachMonitor.java        |    79 +
 .../input/monitor/LogFilePathUpdateMonitor.java    |    74 +
 .../loglevelfilter/LogLevelFilterHandler.java      |     4 +
 .../logfeeder/metrics/LogFeederAMSClient.java      |     5 +
 .../ambari/logfeeder/output/OutputManagerImpl.java |    22 +-
 .../apache/ambari/logfeeder/output/OutputSolr.java |    27 +-
 .../org/apache/ambari/logfeeder/util/FileUtil.java |   137 +-
 .../ambari/logfeeder/util/LogFeederUtil.java       |    24 +
 .../src/main/scripts/logfeeder-env.sh~HEAD         |    40 -
 .../src/main/scripts/logfeeder-env.sh~trunk        |    40 -
 .../src/main/scripts/logfeeder.sh                  |     9 +-
 ambari-logsearch/ambari-logsearch-server/build.xml |     4 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   |    25 +-
 .../main/configsets/audit_logs/conf/managed-schema |    60 +-
 .../main/configsets/audit_logs/conf/solrconfig.xml |     2 +-
 .../configsets/hadoop_logs/conf/managed-schema     |   116 +-
 .../configsets/hadoop_logs/conf/solrconfig.xml     |     2 +-
 .../main/configsets/history/conf/managed-schema    |    47 +-
 .../main/configsets/history/conf/solrconfig.xml    |     2 +-
 .../logsearch/auth/filter/AbstractJWTFilter.java   |     9 +-
 .../logsearch/common/LogSearchConstants.java       |     4 +-
 .../ambari/logsearch/conf/SecurityConfig.java      |     7 +-
 .../logsearch/conf/SolrAuditLogPropsConfig.java    |    20 +
 .../logsearch/conf/SolrConnectionPropsConfig.java  |    20 +
 .../ambari/logsearch/conf/SolrPropsConfig.java     |     4 +
 .../configurer/SolrCollectionConfigurer.java       |     8 +-
 .../AbstractOperationHolderConverter.java          |    57 +-
 .../AuditBarGraphRequestQueryConverter.java        |     2 +
 .../BaseServiceLogRequestQueryConverter.java       |     4 +-
 ...viceLogLevelDateRangeRequestQueryConverter.java |     6 +
 .../apache/ambari/logsearch/doc/DocConstants.java  |     4 +
 .../handler/AbstractSolrConfigHandler.java         |    60 +-
 .../logsearch/handler/CreateCollectionHandler.java |     6 +-
 .../handler/UploadConfigurationHandler.java        |    37 +-
 .../logsearch/manager/ServiceLogsManager.java      |     2 +-
 .../logsearch/manager/ShipperConfigManager.java    |     7 +-
 .../logsearch/model/common/LSServerFilterGrok.java |    25 +-
 .../logsearch/model/common/LSServerInput.java      |     8 +
 .../logsearch/model/common/LSServerInputFile.java  |    52 +
 .../model/request/LogParamDefinition.java          |     8 +-
 .../model/request/ShipperConfigTestParams.java     |    16 +-
 .../model/request/impl/AuditBarGraphRequest.java   |    33 +-
 .../model/request/impl/AuditComponentRequest.java  |    16 +-
 .../model/request/impl/AuditLogRequest.java        |    33 +-
 .../request/impl/AuditServiceLoadRequest.java      |    18 +-
 .../model/request/impl/BaseLogRequest.java         |   111 +-
 .../model/request/impl/BaseServiceLogRequest.java  |    85 +-
 .../model/request/impl/CommonSearchRequest.java    |   121 +-
 .../model/request/impl/EventHistoryRequest.java    |    33 +-
 .../request/impl/FieldAuditBarGraphRequest.java    |    33 +-
 .../model/request/impl/FieldAuditLogRequest.java   |    33 +-
 .../model/request/impl/HostLogFilesRequest.java    |    50 +-
 .../model/request/impl/ServiceAnyGraphRequest.java |    60 +-
 .../model/request/impl/ServiceGraphRequest.java    |    20 +-
 .../impl/ServiceLogAggregatedInfoRequest.java      |     2 +-
 .../impl/ServiceLogComponentHostRequest.java       |     2 +-
 .../impl/ServiceLogComponentLevelRequest.java      |     2 +-
 .../request/impl/ServiceLogExportRequest.java      |    31 +-
 .../impl/ServiceLogHostComponentRequest.java       |    20 +-
 .../request/impl/ServiceLogLevelCountRequest.java  |     2 +-
 .../model/request/impl/ServiceLogRequest.java      |    72 +-
 .../request/impl/ServiceLogTruncatedRequest.java   |    46 +-
 .../request/impl/ShipperConfigTestRequest.java     |    18 +-
 .../request/impl/TopFieldAuditLogRequest.java      |    34 +-
 .../model/request/impl/UserExportRequest.java      |    33 +-
 .../impl/body/AuditBarGraphBodyRequest.java        |    51 +
 .../impl/body/AuditComponentBodyRequest.java       |    37 +
 .../request/impl/body/AuditLogBodyRequest.java     |    52 +
 .../impl/body/AuditServiceLoadBodyRequest.java     |    38 +
 .../request/impl/body/BaseLogBodyRequest.java      |   129 +
 .../impl/body/BaseServiceLogBodyRequest.java       |   103 +
 .../request/impl/body/ClusterBodyRequest.java      |    42 +
 .../request/impl/body/CommonSearchBodyRequest.java |   143 +
 .../impl/body/FieldAuditBarGraphBodyRequest.java   |    51 +
 .../impl/body/FieldAuditLogBodyRequest.java        |    51 +
 .../request/impl/body/HostLogFilesBodyRequest.java |    69 +
 .../impl/body/ServiceAnyGraphBodyRequest.java      |    77 +
 .../request/impl/body/ServiceGraphBodyRequest.java |    38 +
 .../body/ServiceLogAggregatedInfoBodyRequest.java  |    26 +
 .../request/impl/body/ServiceLogBodyRequest.java   |    90 +
 .../body/ServiceLogComponentHostBodyRequest.java   |    26 +
 .../body/ServiceLogComponentLevelBodyRequest.java  |    26 +
 .../impl/body/ServiceLogExportBodyRequest.java     |    51 +
 .../body/ServiceLogHostComponentBodyRequest.java   |    39 +
 .../impl/body/ServiceLogLevelCountBodyRequest.java |    26 +
 .../impl/body/ServiceLogTruncatedBodyRequest.java  |    64 +
 .../impl/body/TopFieldAuditLogBodyRequest.java     |    37 +
 .../request/impl/body/UserExportBodyRequest.java   |    51 +
 .../impl/query/AuditBarGraphQueryRequest.java      |    52 +
 .../impl/query/AuditComponentQueryRequest.java     |    38 +
 .../request/impl/query/AuditLogQueryRequest.java   |    53 +
 .../impl/query/AuditServiceLoadQueryRequest.java   |    40 +
 .../request/impl/query/BaseLogQueryRequest.java    |   130 +
 .../impl/query/BaseServiceLogQueryRequest.java     |   104 +
 .../impl/query/CommonSearchQueryRequest.java       |   143 +
 .../impl/query/EventHistoryQueryRequest.java       |    53 +
 .../impl/query/FieldAuditBarGraphQueryRequest.java |    52 +
 .../impl/query/FieldAuditLogQueryRequest.java      |    52 +
 .../impl/query/HostLogFilesQueryRequest.java       |    69 +
 .../impl/query/ServiceAnyGraphQueryRequest.java    |    79 +
 .../impl/query/ServiceGraphQueryRequest.java       |    39 +
 .../ServiceLogAggregatedInfoQueryRequest.java      |    26 +
 .../query/ServiceLogComponentHostQueryRequest.java |    26 +
 .../ServiceLogComponentLevelQueryRequest.java      |    26 +
 .../impl/query/ServiceLogExportQueryRequest.java   |    52 +
 .../query/ServiceLogHostComponentQueryRequest.java |    40 +
 .../query/ServiceLogLevelCountQueryRequest.java    |    26 +
 .../request/impl/query/ServiceLogQueryRequest.java |    92 +
 .../query/ServiceLogTruncatedQueryRequest.java     |    65 +
 .../impl/query/TopFieldAuditLogQueryRequest.java   |    53 +
 .../request/impl/query/UserExportQueryRequest.java |    52 +
 .../ambari/logsearch/rest/AuditLogsResource.java   |   129 +-
 .../logsearch/rest/EventHistoryResource.java       |     4 +-
 .../ambari/logsearch/rest/ServiceLogsResource.java |   276 +-
 .../logsearch/rest/ShipperConfigResource.java      |     4 +-
 .../apache/ambari/logsearch/util/DownloadUtil.java |     8 +-
 .../org/apache/ambari/logsearch/util/SolrUtil.java |    22 +-
 .../filters/LogsearchKRBAuthenticationFilter.java  |    67 +-
 .../src/main/resources/default.properties          |    12 +-
 .../src/main/resources/swagger/swagger.html        |    77 +-
 .../src/main/scripts/logsearch-env.sh~HEAD         |    40 -
 .../src/main/scripts/logsearch-env.sh~trunk        |    40 -
 .../src/main/scripts/logsearch.sh                  |     7 +-
 .../AuditBarGraphRequestQueryConverterTest.java    |    12 +-
 .../AuditComponentRequestQueryConverterTest.java   |     5 +-
 .../converter/AuditLogRequestConverterTest.java    |     9 +-
 .../AuditServiceLoadRequestQueryConverterTest.java |     9 +-
 .../BaseServiceLogRequestQueryConverterTest.java   |    15 +-
 .../EventHistoryRequestQueryConverterTest.java     |     3 +-
 .../FieldAuditLogRequestQueryConverterTest.java    |    11 +-
 .../HostLogFilesRequestQueryConverterTest.java     |     5 +-
 .../ServiceLogAnyGraphRequestConverterTest.java    |     9 +-
 ...LogComponentLevelRequestQueryConverterTest.java |    13 +-
 ...LogComponentRequestFacetQueryConverterTest.java |    15 +-
 ...viceLogLevelCountRequestQueryConverterTest.java |    11 +-
 ...LogLevelDateRangeRequestQueryConverterTest.java |    12 +-
 ...rviceLogTreeRequestFacetQueryConverterTest.java |    16 +-
 ...rviceLogTruncatedRequestQueryConverterTest.java |    10 +-
 .../TopFieldAuditLogRequestQueryConverterTest.java |    11 +-
 .../UserExportRequestQueryConverterTest.java       |    11 +-
 ambari-logsearch/ambari-logsearch-web/package.json |     1 -
 .../src/app/app-routing.module.ts                  |    27 +-
 .../ambari-logsearch-web/src/app/app.module.ts     |    20 +-
 .../classes/components/graph/graph.component.ts    |   125 +-
 .../components/graph/time-graph.component.less     |     2 +-
 .../components/graph/time-graph.component.ts       |    57 +-
 .../src/app/classes/list-item.ts                   |     1 +
 .../src/app/classes/models/app-state.ts            |     4 +-
 .../src/app/classes/models/log-type-tab.ts         |    51 +
 .../src/app/classes/models/logs-state.ts           |    25 +
 .../src/app/classes/models/store.ts                |    18 +-
 .../src/app/classes/models/tab.ts                  |    48 -
 .../ambari-logsearch-web/src/app/classes/string.ts |     8 +
 .../action-menu/action-menu.component.html         |    12 +-
 .../action-menu/action-menu.component.less         |    70 +
 .../action-menu/action-menu.component.spec.ts      |    14 +-
 .../action-menu/action-menu.component.ts           |    20 +-
 .../src/app/components/app.component.html          |    12 +-
 .../src/app/components/app.component.less          |    18 +-
 .../src/app/components/app.component.ts            |    25 +-
 .../audit-logs-entries.component.spec.ts           |    14 +-
 .../audit-logs-entries.component.ts                |     6 +-
 .../audit-logs-table.component.spec.ts             |    14 +-
 .../breadrumbs/breadcrumbs.component.less          |     7 +
 .../components/breadrumbs/breadcrumbs.component.ts |    32 +-
 .../cluster-filter.component.spec.ts               |    14 +-
 .../cluster-filter/cluster-filter.component.ts     |    34 +-
 .../context-menu/context-menu.component.spec.ts    |    16 +-
 .../filter-button/filter-button.component.ts       |    56 +-
 .../filters-panel/filters-panel.component.html     |    21 +-
 .../filters-panel/filters-panel.component.less     |     6 +
 .../filters-panel/filters-panel.component.spec.ts  |    16 +-
 .../filters-panel/filters-panel.component.ts       |   101 +-
 .../log-context/log-context.component.html         |    19 +-
 .../log-context/log-context.component.less         |    17 +-
 .../log-context/log-context.component.spec.ts      |    14 +-
 .../log-context/log-context.component.ts           |    40 +-
 .../log-index-filter.component.html                |     6 +-
 .../log-index-filter.component.less                |     5 +
 .../log-index-filter.component.spec.ts             |    14 +-
 .../log-index-filter/log-index-filter.component.ts |    37 +-
 .../components/log-level/log-level.component.ts    |    18 +-
 .../login-form/login-form.component.html           |     4 +-
 .../login-form/login-form.component.spec.ts        |    27 +-
 .../components/login-form/login-form.component.ts  |    78 +-
 .../logs-container/logs-container.component.html   |     8 +-
 .../logs-container/logs-container.component.less   |     1 -
 .../logs-container.component.spec.ts               |    14 +-
 .../logs-container/logs-container.component.ts     |   296 +-
 .../main-container/main-container.component.less   |    21 -
 .../main-container/main-container.component.ts     |    23 +-
 .../menu-button/menu-button.component.html         |     3 +-
 .../menu-button/menu-button.component.less         |    10 +
 .../menu-button/menu-button.component.ts           |    81 +-
 .../search-box/search-box.component.html           |    14 +-
 .../search-box/search-box.component.less           |    16 +-
 .../components/search-box/search-box.component.ts  |    74 +-
 .../service-logs-table.component.spec.ts           |    14 +-
 .../service-logs-table.component.ts                |    22 +-
 .../src/app/components/tabs/tabs.component.html    |    24 +-
 .../src/app/components/tabs/tabs.component.spec.ts |    22 +-
 .../src/app/components/tabs/tabs.component.ts      |    71 +-
 .../time-histogram/time-histogram.component.ts     |    11 +-
 .../time-range-picker.component.spec.ts            |    14 +-
 .../time-range-picker.component.ts                 |    19 +-
 .../timezone-picker.component.spec.ts              |    14 +-
 .../components/top-menu/top-menu.component.spec.ts |    12 +-
 .../src/app/modules/app-load/app-load.module.ts    |    14 +-
 .../src/app/modules/app-load/app-load.service.ts   |    73 -
 .../models/data-availability-state.model.ts        |    32 +
 .../modules/app-load/services/app-load.service.ts  |   256 +
 .../app-load/stores/data-avaibility-state.store.ts |    34 +
 .../src/app/modules/shared/animations.less         |    33 +
 .../data-loading-indicator.component.html          |    50 +
 .../data-loading-indicator.component.less          |   157 +
 .../data-loading-indicator.component.spec.ts       |    56 +
 .../data-loading-indicator.component.ts            |    84 +
 .../dropdown-button.component.spec.ts              |     8 +-
 .../dropdown-button/dropdown-button.component.ts   |    36 +-
 .../dropdown-list/dropdown-list.component.html     |    69 +-
 .../dropdown-list/dropdown-list.component.less     |    42 +-
 .../dropdown-list/dropdown-list.component.spec.ts  |    16 +-
 .../dropdown-list/dropdown-list.component.ts       |   142 +-
 .../filter-dropdown.component.spec.ts              |    16 +-
 .../filter-dropdown/filter-dropdown.component.ts   |     2 +-
 .../shared/components/modal/modal.component.html   |     3 +-
 .../shared/components/modal/modal.component.less   |    13 +
 .../shared/components/modal/modal.component.ts     |     3 +
 .../src/app/modules/shared/main.less               |     1 +
 .../src/app/modules/shared/mixins.less             |     2 +-
 .../src/app/modules/shared/notifications.less      |    66 +
 .../shared/services/notification.service.ts        |    41 +-
 .../src/app/modules/shared/shared.module.ts        |    12 +-
 .../src/app/modules/shared/variables.less          |     9 +-
 .../shipper-configuration.component.less           |     4 +
 .../shipper-configuration.component.ts             |    50 +-
 ...ipper-service-configuration-form.component.html |    16 +-
 ...shipper-service-configuration-form.component.ts |    56 +-
 .../shipper/directives/validator.directive.ts      |    14 +
 .../services/shipper-configuration.service.ts      |    13 +-
 .../app/modules/shipper/services/shipper.guard.ts  |    83 +
 .../app/modules/shipper/shipper-routing.module.ts  |    10 +-
 .../src/app/modules/shipper/shipper.module.ts      |     4 +-
 .../src/app/pipes/component-label.ts               |     2 +-
 .../src/app/services/auth-guard.service.ts         |     2 +-
 .../src/app/services/auth.service.spec.ts          |    11 +-
 .../src/app/services/auth.service.ts               |    80 +-
 .../services/component-generator.service.spec.ts   |    14 +-
 .../app/services/history-manager.service.spec.ts   |    16 +-
 .../src/app/services/history-manager.service.ts    |   296 +-
 .../src/app/services/http-client.service.ts        |    62 +-
 .../src/app/services/login-screen-guard.service.ts |    42 +
 .../logs-breadcrumbs-resolver.service.spec.ts      |    72 +
 .../services/logs-breadcrumbs-resolver.service.ts  |    42 +
 .../app/services/logs-container.service.spec.ts    |    14 +-
 .../src/app/services/logs-container.service.ts     |   961 +-
 .../services/logs-filtering-utils.service.spec.ts  |    71 +
 .../app/services/logs-filtering-utils.service.ts   |   553 +
 .../src/app/services/mock-api-data.service.spec.ts |    14 +-
 .../src/app/services/mock-api-data.service.ts      |    62 +-
 .../src/app/services/storage/logs-state.service.ts |    33 +
 .../src/app/services/storage/reducers.service.ts   |     8 +-
 .../src/app/services/storage/tabs.service.ts       |     2 +-
 .../src/app/services/tab.guard.spec.ts             |    78 +
 .../src/app/services/tab.guard.ts                  |    51 +
 .../src/app/services/user-settings.service.spec.ts |    14 +-
 .../src/app/services/user-settings.service.ts      |    60 +-
 .../src/app/services/utils.service.ts              |     4 +-
 .../src/app/test-config.spec.ts                    |     4 +-
 .../ambari-logsearch-web/src/assets/i18n/en.json   |    44 +-
 .../src/assets/images}/ambari-logo.png             |   Bin
 .../ambari-logsearch-web/src/index.html            |    18 +-
 .../src/mockdata/mock-data-common.ts               |   118 +-
 .../src/mockdata/mock-data-get.ts                  |    88 +-
 .../src/mockdata/mock-data-post.ts                 |  1649 +-
 .../ambari-logsearch-web/src/styles.less           |     5 +-
 .../src/vendor/css/bootstrap-logsearch.min.css     |     2 +-
 .../src/vendor/css/fonts/Roboto-Bold-webfont.eot   |   Bin 0 -> 36098 bytes
 .../src/vendor/css}/fonts/Roboto-Bold-webfont.svg  |     0
 .../src/vendor/css/fonts/Roboto-Bold-webfont.ttf   |   Bin 0 -> 35912 bytes
 .../src/vendor/css}/fonts/Roboto-Bold-webfont.woff |   Bin
 .../src/vendor/js/bootstrap-logsearch.min.js       |     4 +-
 ambari-logsearch/ambari-logsearch-web/yarn.lock    |     4 -
 ambari-logsearch/docker/Dockerfile                 |     6 +-
 ambari-logsearch/docker/all.yml                    |     2 +-
 ambari-logsearch/docker/docker-compose.yml         |     4 +-
 .../docker/knox/logsearch/1.0.0/service.xml        |    12 +-
 ambari-logsearch/docker/logsearch-docker.sh        |    16 +-
 ambari-logsearch/docker/solr.yml                   |     4 +-
 ambari-logsearch/docker/sso.yml                    |     6 +-
 .../test-config/logfeeder/logfeeder.properties     |     2 +-
 .../shipper-conf/input.config-ambari.json          |   641 +-
 .../logfeeder/shipper-conf/input.config-storm.json |    75 +
 .../streamline-1-TestAgg-2-3/6700/worker.log       |     5 +
 .../streamline-1-TestAgg-2-3/6701/worker.log       |     5 +
 ambari-logsearch/pom.xml                           |    31 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml     |     8 +-
 .../src/main/assembly/collector.xml                |     1 +
 ambari-metrics/ambari-metrics-common/pom.xml       |    41 +-
 .../sink/timeline/AbstractTimelineMetricsSink.java |   108 +-
 .../hadoop/metrics2/sink/timeline/Precision.java   |     1 -
 .../sink/timeline/SingleValuedTimelineMetric.java  |    22 +-
 .../metrics2/sink/timeline/TimelineMetric.java     |    28 +-
 .../sink/timeline/TimelineMetricMetadata.java      |    41 +-
 .../sink/timeline/TimelineMetricUtils.java         |    65 +
 .../metrics2/sink/timeline/TimelineMetrics.java    |    11 +-
 .../availability/MetricCollectorHAHelper.java      |     8 +-
 .../timeline/AbstractTimelineMetricSinkTest.java   |   240 +
 .../AbstractTimelineMetricSinkTest.java            |   108 -
 .../availability/MetricCollectorHATest.java        |     5 +
 .../timeline/cache/HandleConnectExceptionTest.java |    10 +
 .../src/main/conf/flume-metrics2.properties.j2     |     8 +-
 .../sink/flume/FlumeTimelineMetricsSink.java       |    13 +-
 .../ambari-metrics/datasource.js                   |   111 +
 ambari-metrics/ambari-metrics-hadoop-sink/pom.xml  |     5 +-
 .../sink/timeline/HadoopTimelineMetricsSink.java   |    15 +-
 .../timeline/HadoopTimelineMetricsSinkTest.java    |     8 +-
 .../ambari-metrics-host-aggregator/pom.xml         |    12 +-
 .../host/aggregator/AggregatorApplication.java     |   328 +-
 .../host/aggregator/TimelineMetricsHolder.java     |   137 +-
 .../sink/timeline/AbstractMetricPublisher.java     |    12 +-
 .../sink/timeline/AggregatedMetricsPublisher.java  |     5 +
 .../sink/timeline/RawMetricsPublisher.java         |     5 +
 .../host/aggregator/TimelineMetricsHolderTest.java |     5 +-
 .../timeline/AggregatedMetricsPublisherTest.java   |     3 +-
 .../sink/timeline/RawMetricsPublisherTest.java     |     4 +-
 .../src/main/python/amhm_service.py                |     6 +-
 .../src/main/python/core/aggregator.py             |     6 +-
 .../src/main/python/core/application_metric_map.py |    52 +-
 .../src/main/python/core/config_reader.py          |    25 +-
 .../src/main/python/core/emitter.py                |    42 +-
 .../src/main/python/core/host_info.py              |     1 -
 .../src/main/python/core/stop_handler.py           |     4 +-
 .../src/main/python/main.py                        |    19 +-
 .../test/python/core/TestApplicationMetricMap.py   |    38 +-
 ambari-metrics/ambari-metrics-kafka-sink/pom.xml   |     2 +-
 .../sink/kafka/KafkaTimelineMetricsReporter.java   |    10 +-
 .../sink/storm/StormTimelineMetricsReporter.java   |    16 +-
 .../sink/storm/StormTimelineMetricsSink.java       |    13 +-
 .../sink/storm/StormTimelineMetricsReporter.java   |    13 +-
 .../sink/storm/StormTimelineMetricsSink.java       |    13 +-
 .../conf/unix/ambari-metrics-collector             |    78 +-
 .../conf/unix/ams-env.sh                           |    17 +
 .../conf/unix/ams-site.xml                         |   360 +
 .../conf/unix/hbase-site.xml                       |   280 +
 .../conf/unix/sqlline/phoenix_utils.py             |     7 +-
 .../conf/unix/sqlline/sqlline.py                   |     4 +-
 .../ambari-metrics-timelineservice/pom.xml         |   287 +-
 .../ambari/metrics/AMSApplicationServer.java       |   143 +
 .../metrics/core/loadsimulator/LoadRunner.java     |   154 +
 .../core/loadsimulator/MetricsLoadSimulator.java   |   138 +
 .../core/loadsimulator/MetricsSenderWorker.java    |    60 +
 .../metrics/core/loadsimulator/data/AppID.java     |    45 +
 .../core/loadsimulator/data/AppMetrics.java        |    47 +
 .../loadsimulator/data/ApplicationInstance.java    |    58 +
 .../loadsimulator/data/HostMetricsGenerator.java   |    61 +
 .../metrics/core/loadsimulator/data/Metric.java    |    71 +
 .../data/MetricsGeneratorConfigurer.java           |    93 +
 .../core/loadsimulator/net/MetricsSender.java      |    31 +
 .../core/loadsimulator/net/RestMetricsSender.java  |    92 +
 .../loadsimulator/net/StdOutMetricsSender.java     |    56 +
 .../metrics/core/loadsimulator/net/UrlService.java |   100 +
 .../metrics/core/loadsimulator/util/Json.java      |    62 +
 .../loadsimulator/util/RandomMetricsProvider.java  |    39 +
 .../core/loadsimulator/util/TimeStampProvider.java |    51 +
 .../metrics/core/timeline/FunctionUtils.java       |    47 +
 .../core/timeline/HBaseTimelineMetricsService.java |   567 +
 .../core/timeline/MetricsCacheCommitterThread.java |    38 +
 .../MetricsSystemInitializationException.java      |    41 +
 .../core/timeline/PhoenixHBaseAccessor.java        |  2046 +
 .../core/timeline/TimelineMetricConfiguration.java |   741 +
 .../timeline/TimelineMetricDistributedCache.java   |    32 +
 .../timeline/TimelineMetricServiceSummary.java     |    74 +
 .../timeline/TimelineMetricSplitPointComputer.java |   240 +
 .../metrics/core/timeline/TimelineMetricStore.java |   125 +
 .../core/timeline/TimelineMetricStoreWatcher.java  |   126 +
 .../timeline/TimelineMetricsAggregatorSink.java    |    60 +
 .../core/timeline/TimelineMetricsFilter.java       |   198 +
 .../core/timeline/TimelineMetricsIgniteCache.java  |   326 +
 .../core/timeline/TransientMetricReadHelper.java   |   139 +
 .../aggregators/AbstractTimelineAggregator.java    |   474 +
 .../core/timeline/aggregators/AggregatorUtils.java |   255 +
 .../timeline/aggregators/CustomDownSampler.java    |    44 +
 .../timeline/aggregators/DownSamplerUtils.java     |   122 +
 .../aggregators/EventMetricDownSampler.java        |    84 +
 .../core/timeline/aggregators/Function.java        |   213 +
 .../aggregators/TimelineClusterMetric.java         |    97 +
 .../aggregators/TimelineMetricAggregator.java      |    59 +
 .../TimelineMetricAggregatorFactory.java           |   529 +
 .../aggregators/TimelineMetricAppAggregator.java   |   192 +
 .../TimelineMetricClusterAggregator.java           |   152 +
 .../TimelineMetricClusterAggregatorSecond.java     |   287 +
 ...tricClusterAggregatorSecondWithCacheSource.java |   104 +
 .../TimelineMetricFilteringHostAggregator.java     |    94 +
 .../aggregators/TimelineMetricHostAggregator.java  |   125 +
 .../aggregators/TimelineMetricReadHelper.java      |   184 +
 .../core/timeline/aggregators/TopNDownSampler.java |   112 +
 .../v2/TimelineMetricClusterAggregator.java        |    93 +
 .../v2/TimelineMetricFilteringHostAggregator.java  |   119 +
 .../v2/TimelineMetricHostAggregator.java           |    77 +
 .../availability/AggregationTaskRunner.java        |   141 +
 .../timeline/availability/CheckpointManager.java   |    95 +
 .../availability/MetricCollectorHAController.java  |   330 +
 .../OnlineOfflineStateModelFactory.java            |    69 +
 .../discovery/TimelineMetricHostMetadata.java      |    60 +
 .../discovery/TimelineMetricMetadataKey.java       |    80 +
 .../discovery/TimelineMetricMetadataManager.java   |   852 +
 .../discovery/TimelineMetricMetadataSync.java      |   227 +
 ...ractTimelineMetricsSeriesAggregateFunction.java |    98 +
 .../timeline/function/SeriesAggregateFunction.java |    42 +
 .../TimelineMetricsSeriesAggregateFunction.java    |    25 +
 ...elineMetricsSeriesAggregateFunctionFactory.java |    41 +
 .../TimelineMetricsSeriesAvgAggregateFunction.java |    39 +
 .../TimelineMetricsSeriesMaxAggregateFunction.java |    41 +
 .../TimelineMetricsSeriesMinAggregateFunction.java |    41 +
 .../TimelineMetricsSeriesSumAggregateFunction.java |    39 +
 .../metrics/core/timeline/query/Condition.java     |    52 +
 .../core/timeline/query/ConditionBuilder.java      |   156 +
 .../core/timeline/query/ConnectionProvider.java    |    29 +
 .../core/timeline/query/DefaultCondition.java      |   322 +
 .../timeline/query/DefaultPhoenixDataSource.java   |    90 +
 .../core/timeline/query/EmptyCondition.java        |   174 +
 .../timeline/query/PhoenixConnectionProvider.java  |    31 +
 .../core/timeline/query/PhoenixTransactSQL.java    |  1106 +
 .../query/SplitByMetricNamesCondition.java         |   194 +
 .../metrics/core/timeline/query/TopNCondition.java |   162 +
 .../timeline/query/TransientMetricCondition.java   |   206 +
 .../core/timeline/sink/DefaultFSSinkProvider.java  |   153 +
 .../core/timeline/sink/ExternalMetricsSink.java    |    48 +
 .../core/timeline/sink/ExternalSinkProvider.java   |    35 +
 .../core/timeline/sink/HttpSinkProvider.java       |   231 +
 .../core/timeline/sink/KafkaSinkProvider.java      |   118 +
 .../DefaultInternalMetricsSourceProvider.java      |    42 +
 .../timeline/source/InternalMetricsSource.java     |    30 +
 .../timeline/source/InternalSourceProvider.java    |    39 +
 .../core/timeline/source/RawMetricsSource.java     |    85 +
 .../source/cache/InternalMetricCacheKey.java       |   109 +
 .../source/cache/InternalMetricCacheValue.java     |    37 +
 .../source/cache/InternalMetricsCache.java         |   229 +
 .../source/cache/InternalMetricsCacheProvider.java |    48 +
 .../cache/InternalMetricsCacheSizeOfEngine.java    |   148 +
 .../upgrade/core/AbstractPhoenixMetricsCopier.java |   164 +
 .../upgrade/core/MetricsDataMigrationLauncher.java |   331 +
 .../upgrade/core/PhoenixClusterMetricsCopier.java  |    74 +
 .../upgrade/core/PhoenixHostMetricsCopier.java     |    77 +
 .../timeline/uuid/HashBasedUuidGenStrategy.java    |   225 +
 .../core/timeline/uuid/MD5UuidGenStrategy.java     |    60 +
 .../core/timeline/uuid/MetricUuidGenStrategy.java  |    40 +
 .../timeline/uuid/Murmur3HashUuidGenStrategy.java  |    54 +
 .../core/timeline/uuid/TimelineMetricUuid.java     |    55 +
 .../records/ApplicationAttemptFinishData.java      |    95 +
 .../records/ApplicationAttemptHistoryData.java     |   171 +
 .../records/ApplicationAttemptStartData.java       |    82 +
 .../metrics/records/ApplicationFinishData.java     |    94 +
 .../metrics/records/ApplicationHistoryData.java    |   213 +
 .../metrics/records/ApplicationStartData.java      |   106 +
 .../metrics/records/ContainerFinishData.java       |    90 +
 .../metrics/records/ContainerHistoryData.java      |   182 +
 .../ambari/metrics/records/ContainerStartData.java |    92 +
 .../pb/ApplicationAttemptFinishDataPBImpl.java     |   239 +
 .../impl/pb/ApplicationAttemptStartDataPBImpl.java |   208 +
 .../impl/pb/ApplicationFinishDataPBImpl.java       |   226 +
 .../impl/pb/ApplicationStartDataPBImpl.java        |   229 +
 .../records/impl/pb/ContainerFinishDataPBImpl.java |   204 +
 .../records/impl/pb/ContainerStartDataPBImpl.java  |   258 +
 .../metrics/timeline/GenericObjectMapper.java      |   135 +
 .../ambari/metrics/timeline/NameValuePair.java     |    59 +
 .../ambari/metrics/timeline/TimelineReader.java    |   155 +
 .../ambari/metrics/timeline/TimelineStore.java     |    29 +
 .../ambari/metrics/timeline/TimelineWriter.java    |    46 +
 .../ambari/metrics/webapp/AMSController.java       |    37 +
 .../apache/ambari/metrics/webapp/AMSWebApp.java    |    42 +
 .../ambari/metrics/webapp/JAXBContextResolver.java |    64 +
 .../ambari/metrics/webapp/TimelineWebServices.java |   539 +
 .../ApplicationHistoryClientService.java           |   215 -
 .../ApplicationHistoryManager.java                 |   146 -
 .../ApplicationHistoryManagerImpl.java             |   250 -
 .../ApplicationHistoryReader.java                  |   117 -
 .../ApplicationHistoryServer.java                  |   203 -
 .../ApplicationHistoryStore.java                   |    37 -
 .../ApplicationHistoryWriter.java                  |   112 -
 .../FileSystemApplicationHistoryStore.java         |   784 -
 .../MemoryApplicationHistoryStore.java             |   274 -
 .../NullApplicationHistoryStore.java               |   127 -
 .../metrics/loadsimulator/LoadRunner.java          |   159 -
 .../loadsimulator/MetricsLoadSimulator.java        |   139 -
 .../metrics/loadsimulator/MetricsSenderWorker.java |    65 -
 .../metrics/loadsimulator/data/AppID.java          |    46 -
 .../metrics/loadsimulator/data/AppMetrics.java     |    48 -
 .../loadsimulator/data/ApplicationInstance.java    |    59 -
 .../loadsimulator/data/HostMetricsGenerator.java   |    63 -
 .../metrics/loadsimulator/data/Metric.java         |    71 -
 .../data/MetricsGeneratorConfigurer.java           |    95 -
 .../metrics/loadsimulator/net/MetricsSender.java   |    31 -
 .../loadsimulator/net/RestMetricsSender.java       |    93 -
 .../loadsimulator/net/StdOutMetricsSender.java     |    56 -
 .../metrics/loadsimulator/net/UrlService.java      |   101 -
 .../metrics/loadsimulator/util/Json.java           |    63 -
 .../loadsimulator/util/RandomMetricsProvider.java  |    40 -
 .../loadsimulator/util/TimeStampProvider.java      |    52 -
 .../metrics/timeline/HBaseTimelineMetricStore.java |   516 -
 .../timeline/MetricsCacheCommitterThread.java      |    38 -
 .../MetricsSystemInitializationException.java      |    42 -
 .../metrics/timeline/PhoenixHBaseAccessor.java     |  1829 -
 .../timeline/TimelineMetricConfiguration.java      |   537 -
 .../metrics/timeline/TimelineMetricStore.java      |   106 -
 .../timeline/TimelineMetricStoreWatcher.java       |   127 -
 .../timeline/TimelineMetricsAggregatorSink.java    |    60 -
 .../metrics/timeline/TimelineMetricsFilter.java    |   177 -
 .../aggregators/AbstractTimelineAggregator.java    |   496 -
 .../timeline/aggregators/AggregatorUtils.java      |    62 -
 .../timeline/aggregators/CustomDownSampler.java    |    44 -
 .../timeline/aggregators/DownSamplerUtils.java     |   122 -
 .../aggregators/EventMetricDownSampler.java        |    83 -
 .../metrics/timeline/aggregators/Function.java     |   212 -
 .../aggregators/TimelineClusterMetric.java         |   101 -
 .../aggregators/TimelineMetricAggregator.java      |    59 -
 .../TimelineMetricAggregatorFactory.java           |   446 -
 .../aggregators/TimelineMetricAppAggregator.java   |   188 -
 .../TimelineMetricClusterAggregator.java           |   144 -
 .../TimelineMetricClusterAggregatorSecond.java     |   472 -
 .../aggregators/TimelineMetricHostAggregator.java  |   122 -
 .../aggregators/TimelineMetricReadHelper.java      |   167 -
 .../timeline/aggregators/TopNDownSampler.java      |   112 -
 .../v2/TimelineMetricClusterAggregator.java        |    93 -
 .../v2/TimelineMetricHostAggregator.java           |    76 -
 .../availability/AggregationTaskRunner.java        |   145 -
 .../timeline/availability/CheckpointManager.java   |    98 -
 .../availability/MetricCollectorHAController.java  |   320 -
 .../OnlineOfflineStateModelFactory.java            |    69 -
 .../discovery/TimelineMetricMetadataKey.java       |    60 -
 .../discovery/TimelineMetricMetadataManager.java   |   278 -
 .../discovery/TimelineMetricMetadataSync.java      |   226 -
 ...ractTimelineMetricsSeriesAggregateFunction.java |    97 -
 .../timeline/function/SeriesAggregateFunction.java |    42 -
 .../TimelineMetricsSeriesAggregateFunction.java    |    25 -
 ...elineMetricsSeriesAggregateFunctionFactory.java |    41 -
 .../TimelineMetricsSeriesAvgAggregateFunction.java |    39 -
 .../TimelineMetricsSeriesMaxAggregateFunction.java |    41 -
 .../TimelineMetricsSeriesMinAggregateFunction.java |    41 -
 .../TimelineMetricsSeriesSumAggregateFunction.java |    39 -
 .../metrics/timeline/query/Condition.java          |    48 -
 .../metrics/timeline/query/ConditionBuilder.java   |   137 -
 .../metrics/timeline/query/ConnectionProvider.java |    29 -
 .../metrics/timeline/query/DefaultCondition.java   |   384 -
 .../timeline/query/DefaultPhoenixDataSource.java   |    90 -
 .../metrics/timeline/query/EmptyCondition.java     |   153 -
 .../timeline/query/PhoenixConnectionProvider.java  |    31 -
 .../metrics/timeline/query/PhoenixTransactSQL.java |   928 -
 .../query/SplitByMetricNamesCondition.java         |   189 -
 .../metrics/timeline/query/TopNCondition.java      |   196 -
 .../records/ApplicationAttemptFinishData.java      |    95 -
 .../records/ApplicationAttemptHistoryData.java     |   171 -
 .../records/ApplicationAttemptStartData.java       |    82 -
 .../records/ApplicationFinishData.java             |    94 -
 .../records/ApplicationHistoryData.java            |   213 -
 .../records/ApplicationStartData.java              |   106 -
 .../records/ContainerFinishData.java               |    90 -
 .../records/ContainerHistoryData.java              |   182 -
 .../records/ContainerStartData.java                |    92 -
 .../pb/ApplicationAttemptFinishDataPBImpl.java     |   239 -
 .../impl/pb/ApplicationAttemptStartDataPBImpl.java |   208 -
 .../impl/pb/ApplicationFinishDataPBImpl.java       |   226 -
 .../impl/pb/ApplicationStartDataPBImpl.java        |   229 -
 .../records/impl/pb/ContainerFinishDataPBImpl.java |   204 -
 .../records/impl/pb/ContainerStartDataPBImpl.java  |   258 -
 .../timeline/EntityIdentifier.java                 |   100 -
 .../timeline/GenericObjectMapper.java              |   135 -
 .../timeline/LeveldbTimelineStore.java             |  1473 -
 .../timeline/MemoryTimelineStore.java              |   360 -
 .../timeline/NameValuePair.java                    |    59 -
 .../timeline/TimelineReader.java                   |   155 -
 .../timeline/TimelineStore.java                    |    29 -
 .../timeline/TimelineWriter.java                   |    46 -
 .../timeline/package-info.java                     |    20 -
 .../webapp/AHSController.java                      |    55 -
 .../webapp/AHSLogsPage.java                        |    55 -
 .../applicationhistoryservice/webapp/AHSView.java  |    90 -
 .../webapp/AHSWebApp.java                          |    66 -
 .../webapp/AHSWebServices.java                     |   162 -
 .../webapp/AppAttemptPage.java                     |    69 -
 .../applicationhistoryservice/webapp/AppPage.java  |    71 -
 .../webapp/ContainerPage.java                      |    41 -
 .../webapp/JAXBContextResolver.java                |    64 -
 .../applicationhistoryservice/webapp/NavBlock.java |    51 -
 .../webapp/TimelineWebServices.java                |   648 -
 .../src/main/python/main.py                        |     4 +-
 .../main/resources/metrics_def/AMBARI_SERVER.dat   |    40 +
 .../resources/metrics_def/AMSSMOKETESTFAKE.DAT     |     1 +
 .../resources/metrics_def/AMSSMOKETESTFAKE.dat     |     1 +
 .../main/resources/metrics_def/HBASE_MASTER.dat    |   253 +
 .../resources/metrics_def/HBASE_REGIONSERVER.dat   |   600 +
 .../src/main/resources/metrics_def/HOST.dat        |     6 +
 .../resources/metrics_def/JOBHISTORYSERVER.dat     |    58 +
 .../main/resources/metrics_def/KAFKA_BROKER.dat    |     1 -
 .../main/resources/metrics_def/MASTER_HBASE.dat    |    69 -
 .../src/main/resources/metrics_def/NAMENODE.dat    |     2 +
 .../src/main/resources/metrics_def/SLAVE_HBASE.dat |   178 -
 .../metrics_def/TIMELINE_METRIC_STORE_WATCHER.DAT  |     1 +
 .../metrics_def/TIMELINE_METRIC_STORE_WATCHER.dat  |     1 +
 .../core/loadsimulator/data/TestAppMetrics.java    |   134 +
 .../core/loadsimulator/data/TestMetric.java        |    80 +
 .../jmetertest/jmetertest/AMSJMeterLoadTest.java   |   198 +
 .../jmetertest/jmetertest/AppGetMetric.java        |    57 +
 .../jmetertest/GetMetricRequestInfo.java           |    61 +
 .../jmetertest/jmetertest/JmeterTestPlanTask.java  |   276 +
 .../loadsimulator/net/TestRestMetricsSender.java   |    75 +
 .../loadsimulator/net/TestStdOutMetricsSender.java |    37 +
 .../util/TestRandomMetricsProvider.java            |    36 +
 .../loadsimulator/util/TestTimeStampProvider.java  |    51 +
 .../timeline/AbstractMiniHBaseClusterTest.java     |   313 +
 .../AbstractPhoenixConnectionlessTest.java         |   111 +
 .../ambari/metrics/core/timeline/FunctionTest.java |    62 +
 .../timeline/HBaseTimelineMetricsServiceTest.java  |   136 +
 .../core/timeline/ITPhoenixHBaseAccessor.java      |   556 +
 .../metrics/core/timeline/MetricTestHelper.java    |   119 +
 .../core/timeline/PhoenixHBaseAccessorTest.java    |   292 +
 .../metrics/core/timeline/TestClusterSuite.java    |    34 +
 .../core/timeline/TestMetricHostAggregate.java     |    65 +
 .../core/timeline/TestPhoenixTransactSQL.java      |   659 +
 .../core/timeline/TestTimelineMetricStore.java     |   133 +
 .../TimelineMetricSplitPointComputerTest.java      |   141 +
 .../timeline/TimelineMetricStoreWatcherTest.java   |   108 +
 .../TimelineMetricsAggregatorMemorySink.java       |   141 +
 .../core/timeline/TimelineMetricsFilterTest.java   |   259 +
 .../timeline/TimelineMetricsIgniteCacheTest.java   |   237 +
 .../metrics/core/timeline/TopNConditionTest.java   |   105 +
 .../AbstractTimelineAggregatorTest.java            |   181 +
 .../core/timeline/aggregators/DownSamplerTest.java |   117 +
 .../timeline/aggregators/ITClusterAggregator.java  |   711 +
 .../timeline/aggregators/ITMetricAggregator.java   |   355 +
 .../TimelineMetricClusterAggregatorSecondTest.java |   405 +
 ...ClusterAggregatorSecondWithCacheSourceTest.java |   115 +
 .../MetricCollectorHAControllerTest.java           |   106 +
 .../timeline/discovery/TestMetadataManager.java    |   280 +
 .../core/timeline/discovery/TestMetadataSync.java  |   126 +
 ...TimelineMetricsSeriesAggregateFunctionTest.java |   188 +
 .../core/timeline/query/DefaultConditionTest.java  |   172 +
 .../core/timeline/source/RawMetricsSourceTest.java |   142 +
 .../timeline/uuid/MetricUuidGenStrategyTest.java   |   216 +
 .../metrics/timeline/TestGenericObjectMapper.java  |   102 +
 .../metrics/webapp/TestTimelineWebServices.java    |   118 +
 .../ApplicationHistoryStoreTestUtils.java          |    84 -
 .../TestApplicationHistoryClientService.java       |   209 -
 .../TestApplicationHistoryManagerImpl.java         |    76 -
 .../TestApplicationHistoryServer.java              |   266 -
 .../TestFileSystemApplicationHistoryStore.java     |   233 -
 .../TestMemoryApplicationHistoryStore.java         |   206 -
 .../metrics/loadsimulator/data/TestAppMetrics.java |   134 -
 .../metrics/loadsimulator/data/TestMetric.java     |    80 -
 .../jmetertest/jmetertest/AMSJMeterLoadTest.java   |   198 -
 .../jmetertest/jmetertest/AppGetMetric.java        |    57 -
 .../jmetertest/GetMetricRequestInfo.java           |    61 -
 .../jmetertest/jmetertest/JmeterTestPlanTask.java  |   276 -
 .../loadsimulator/net/TestRestMetricsSender.java   |    76 -
 .../loadsimulator/net/TestStdOutMetricsSender.java |    37 -
 .../util/TestRandomMetricsProvider.java            |    36 -
 .../loadsimulator/util/TestTimeStampProvider.java  |    51 -
 .../timeline/AbstractMiniHBaseClusterTest.java     |   297 -
 .../AbstractPhoenixConnectionlessTest.java         |   111 -
 .../metrics/timeline/FunctionTest.java             |    62 -
 .../timeline/HBaseTimelineMetricStoreTest.java     |   136 -
 .../metrics/timeline/ITPhoenixHBaseAccessor.java   |   442 -
 .../metrics/timeline/MetricTestHelper.java         |   121 -
 .../metrics/timeline/PhoenixHBaseAccessorTest.java |   321 -
 .../metrics/timeline/TestClusterSuite.java         |    34 -
 .../metrics/timeline/TestMetricHostAggregate.java  |    66 -
 .../metrics/timeline/TestPhoenixTransactSQL.java   |   661 -
 .../metrics/timeline/TestTimelineMetricStore.java  |   115 -
 .../timeline/TimelineMetricStoreWatcherTest.java   |   109 -
 .../TimelineMetricsAggregatorMemorySink.java       |   141 -
 .../timeline/TimelineMetricsFilterTest.java        |   223 -
 .../metrics/timeline/TopNConditionTest.java        |   105 -
 .../AbstractTimelineAggregatorTest.java            |   179 -
 .../timeline/aggregators/DownSamplerTest.java      |   115 -
 .../timeline/aggregators/ITClusterAggregator.java  |   683 -
 .../timeline/aggregators/ITMetricAggregator.java   |   363 -
 .../TimelineMetricClusterAggregatorSecondTest.java |   407 -
 .../MetricCollectorHAControllerTest.java           |   105 -
 .../timeline/discovery/TestMetadataManager.java    |   156 -
 .../timeline/discovery/TestMetadataSync.java       |   128 -
 ...TimelineMetricsSeriesAggregateFunctionTest.java |   188 -
 .../timeline/query/DefaultConditionTest.java       |   116 -
 .../timeline/TestGenericObjectMapper.java          |   102 -
 .../timeline/TestLeveldbTimelineStore.java         |   253 -
 .../timeline/TestMemoryTimelineStore.java          |    83 -
 .../timeline/TimelineStoreTestUtils.java           |   789 -
 .../webapp/TestAHSWebApp.java                      |   199 -
 .../webapp/TestAHSWebServices.java                 |   302 -
 .../webapp/TestTimelineWebServices.java            |   391 -
 .../src/test/resources/loadsimulator/README        |     2 +-
 .../test/resources/test_data/full_whitelist.dat    |  1615 +
 .../test/resources/test_data/metric_blacklist.dat  |     2 +
 ambari-metrics/pom.xml                             |    45 +-
 ambari-project/pom.xml                             |    39 +-
 ambari-server/checkstyle.xml                       |     2 +-
 ambari-server/conf/unix/ambari-env.sh              |     4 +-
 ambari-server/conf/unix/ambari.properties          |     9 +-
 ambari-server/conf/unix/log4j.properties           |     3 +-
 ambari-server/docs/api/generated/index.html        | 57194 ++++++++++++-------
 ambari-server/docs/api/generated/swagger.json      |  4257 +-
 ambari-server/docs/configuration/index.md          |     6 -
 .../docs/security/kerberos/enabling_kerberos.md    |    94 +-
 .../docs/security/kerberos/kerberos_service.md     |   100 +-
 ambari-server/docs/security/sso/index.md           |   541 +
 ambari-server/findbugs.exclude.xml                 |    25 +
 ambari-server/pom.xml                              |    47 +-
 ambari-server/src/main/assemblies/server.xml       |     5 -
 .../ambari/annotations/ExperimentalFeature.java    |    13 +-
 .../MessageDestinationIsNotDefinedException.java   |     6 +-
 .../server/actionmanager/ActionDBAccessorImpl.java |    11 +-
 .../actionmanager/ExecutionCommandWrapper.java     |    27 +-
 .../ambari/server/agent/AgentReportsProcessor.java |    61 +-
 .../ambari/server/agent/CommandRepository.java     |    56 +
 .../ambari/server/agent/ExecutionCommand.java      |    41 +-
 .../ambari/server/agent/HeartBeatHandler.java      |    45 +-
 .../ambari/server/agent/HeartBeatResponse.java     |     4 +-
 .../ambari/server/agent/HeartbeatMonitor.java      |    83 +-
 .../apache/ambari/server/agent/RecoveryConfig.java |    90 +-
 .../server/agent/RecoveryConfigComponent.java      |   118 +
 .../ambari/server/agent/RecoveryConfigHelper.java  |    59 +-
 .../ambari/server/agent/RegistrationResponse.java  |     3 +-
 .../apache/ambari/server/agent/StatusCommand.java  |     4 +-
 .../server/agent/stomp/AgentClusterDataHolder.java |    62 +-
 .../server/agent/stomp/AgentConfigsHolder.java     |     6 +-
 .../ambari/server/agent/stomp/AgentDataHolder.java |    21 +-
 .../server/agent/stomp/AgentHostDataHolder.java    |    64 +-
 .../server/agent/stomp/AgentReportsController.java |    32 +-
 .../server/agent/stomp/AlertDefinitionsHolder.java |    21 +-
 .../server/agent/stomp/HostLevelParamsHolder.java  |    93 +-
 .../ambari/server/agent/stomp/MetadataHolder.java  |    58 +-
 .../ambari/server/agent/stomp/ReportsResponse.java |    24 +
 .../ambari/server/agent/stomp/StompResponse.java   |    42 +
 .../ambari/server/agent/stomp/TopologyHolder.java  |    40 +-
 .../ambari/server/agent/stomp/dto/AckReport.java   |    64 +
 .../server/agent/stomp/dto/AlertCluster.java       |    11 +-
 .../agent/stomp/dto/ComponentStatusReport.java     |     3 +-
 .../stomp/dto/HashAndTimestampIgnoreMixIn.java     |    32 +
 .../server/agent/stomp/dto/HashIgnoreMixIn.java    |    29 +
 .../server/agent/stomp/dto/HostRepositories.java   |    16 +-
 .../server/agent/stomp/dto/MetadataCluster.java    |    96 +-
 .../agent/stomp/dto/MetadataServiceInfo.java       |    24 +-
 .../server/agent/stomp/dto/TopologyCluster.java    |    31 +-
 .../server/agent/stomp/dto/TopologyComponent.java  |    16 +-
 .../ambari/server/api/AmbariErrorHandler.java      |    30 +-
 .../api/query/render/ClusterBlueprintRenderer.java |    18 +-
 .../ambari/server/api/services/AmbariMetaInfo.java |    46 +-
 .../ambari/server/api/services/ClusterService.java |     5 +-
 .../server/api/services/ConfigGroupService.java    |    96 +-
 .../server/api/services/ConfigurationService.java  |    56 +-
 .../server/api/services/HostComponentService.java  |   182 +-
 .../ambari/server/api/services/HostService.java    |     7 +-
 .../api/services/RequestScheduleService.java       |    84 +-
 .../server/api/services/RootServiceService.java    |     6 +-
 .../api/services/ServiceConfigVersionService.java  |    48 +-
 .../ambari/server/api/services/ServiceService.java |     4 +-
 .../ambari/server/api/services/SettingService.java |     2 +-
 .../server/api/services/ViewUrlsService.java       |   140 -
 .../mpackadvisor/commands/MpackAdvisorCommand.java |    11 +-
 .../services/parsers/JsonRequestBodyParser.java    |     6 +-
 .../services/stackadvisor/StackAdvisorHelper.java  |     9 +-
 .../services/stackadvisor/StackAdvisorRequest.java |     1 +
 .../ConfigurationRecommendationCommand.java        |    23 +-
 ...leSignOnConfigurationRecommendationCommand.java |   121 -
 .../stackadvisor/commands/StackAdvisorCommand.java |    22 +-
 .../commands/StackAdvisorCommandType.java          |     2 +
 .../services/views/ViewDataMigrationService.java   |    17 +-
 .../api/services/views/ViewInstanceService.java    |   161 +-
 .../api/services/views/ViewPermissionService.java  |    54 +-
 .../api/services/views/ViewPrivilegeService.java   |   143 +-
 .../server/api/services/views/ViewService.java     |    53 +-
 .../server/api/services/views/ViewUrlsService.java |   214 +
 .../api/services/views/ViewVersionService.java     |    56 +-
 .../eventcreator/ComponentEventCreator.java        |    18 +-
 .../request/eventcreator/HostEventCreator.java     |     2 +-
 .../eventcreator/PrivilegeEventCreator.java        |     6 +-
 .../eventcreator/ViewInstanceEventCreator.java     |    20 +-
 .../eventcreator/ViewPrivilegeEventCreator.java    |    12 +-
 .../ambari/server/checks/CheckDescription.java     |    62 +-
 .../server/checks/ComponentsExistInRepoCheck.java  |    14 +-
 .../KerberosAdminPersistedCredentialCheck.java     |   132 +
 .../server/checks/MissingOsInRepoVersionCheck.java |   107 +
 .../ambari/server/cleanup/CleanupDriver.java       |     3 +-
 .../AmbariServerConfigurationKey.java              |    14 +-
 .../ambari/server/configuration/Configuration.java |   203 +-
 .../server/configuration/SingleFileWatch.java      |    95 +
 .../configuration/spring/AgentStompConfig.java     |    13 +-
 .../configuration/spring/ApiSecurityConfig.java    |     1 +
 .../configuration/spring/ApiStompConfig.java       |     7 +-
 .../configuration/spring/GuiceBeansConfig.java     |     6 +
 .../configuration/spring/RootStompConfig.java      |    17 +-
 .../server/controller/ActionExecutionContext.java  |    67 +
 .../AmbariCustomCommandExecutionHelper.java        |   104 +-
 .../server/controller/AmbariHandlerList.java       |     1 +
 .../controller/AmbariManagementController.java     |    53 +-
 .../controller/AmbariManagementControllerImpl.java |   154 +-
 .../ambari/server/controller/AmbariServer.java     |    20 +-
 .../server/controller/ConfigGroupRequest.java      |    13 +
 .../server/controller/ConfigGroupResponse.java     |    18 +
 .../server/controller/ConfigurationRequest.java    |    12 +
 .../server/controller/ConfigurationResponse.java   |    12 +
 .../server/controller/DeleteIdentityHandler.java   |     1 -
 .../controller/HostComponentProcessResponse.java   |     7 +
 .../server/controller/HostComponentSwagger.java    |    88 +
 .../ambari/server/controller/HostResponse.java     |     2 +-
 .../ambari/server/controller/KerberosDetails.java  |    89 +
 .../ambari/server/controller/KerberosHelper.java   |    21 +
 .../server/controller/KerberosHelperImpl.java      |   250 +-
 .../controller/OrderedRequestStageContainer.java   |     4 -
 .../server/controller/PrivilegeResponse.java       |    25 +-
 .../controller/RequestScheduleRequestSwagger.java  |   113 +
 .../controller/RequestScheduleResponseSwagger.java |   140 +
 .../controller/ServiceComponentHostResponse.java   |    20 +-
 .../controller/ServiceConfigVersionRequest.java    |    13 +-
 .../controller/ServiceConfigVersionResponse.java   |    21 +-
 .../server/controller/ViewInstanceRequest.java     |    23 +-
 .../server/controller/ViewInstanceResponse.java    |    21 +-
 .../server/controller/ViewPermissionResponse.java  |    14 +-
 .../server/controller/ViewPrivilegeRequest.java    |    12 +-
 .../server/controller/ViewPrivilegeResponse.java   |    12 +-
 .../ambari/server/controller/ViewResponse.java     |     6 +-
 .../server/controller/ViewUrlResponseSwagger.java  |    50 +
 .../server/controller/ViewVersionResponse.java     |    23 +-
 .../ambari/server/controller/WidgetResponse.java   |    10 +
 .../internal/AbstractProviderModule.java           |    12 +-
 .../ActiveWidgetLayoutResourceProvider.java        |    13 +-
 .../internal/AlertGroupResourceProvider.java       |     6 +-
 .../internal/AmbariPrivilegeResourceProvider.java  |    43 +-
 .../internal/AmbariServerConfigurationHandler.java |   123 +-
 .../AmbariServerLDAPConfigurationHandler.java      |    48 +-
 .../AmbariServerSSOConfigurationHandler.java       |   249 +
 .../internal/BlueprintConfigurationProcessor.java  |   696 +-
 .../internal/BlueprintResourceProvider.java        |    34 +-
 .../internal/ClientConfigResourceProvider.java     |   104 +-
 .../internal/ClusterPrivilegeResourceProvider.java |    31 +-
 .../internal/ClusterResourceProvider.java          |    14 +-
 .../internal/ComponentResourceProvider.java        |   259 +-
 .../internal/ConfigGroupResourceProvider.java      |   160 +-
 .../internal/ConfigurationResourceProvider.java    |   130 +-
 .../DeleteHostComponentStatusMetaData.java         |    17 +-
 .../internal/ExportBlueprintRequest.java           |     6 +-
 .../internal/GroupPrivilegeResourceProvider.java   |    77 +-
 .../HostComponentProcessResourceProvider.java      |    57 +-
 .../internal/HostComponentResourceProvider.java    |   372 +-
 .../controller/internal/HostResourceProvider.java  |    44 +-
 .../internal/PrivilegeResourceProvider.java        |    48 +-
 .../internal/RequestResourceProvider.java          |    93 +-
 .../internal/RequestScheduleResourceProvider.java  |   259 +-
 .../RootServiceComponentConfigurationHandler.java  |    11 +-
 ...erviceComponentConfigurationHandlerFactory.java |    16 +-
 ...viceComponentConfigurationResourceProvider.java |    10 +-
 .../ServiceConfigVersionResourceProvider.java      |   120 +-
 .../internal/ServiceResourceProvider.java          |    47 +-
 .../internal/StackAdvisorResourceProvider.java     |     2 +-
 .../internal/UpgradeResourceProvider.java          |   132 +-
 .../UserAuthenticationSourceResourceProvider.java  |     5 +-
 .../UserAuthorizationResourceProvider.java         |    30 +-
 .../internal/UserPrivilegeResourceProvider.java    |    77 +-
 .../controller/internal/UserResourceProvider.java  |     3 +-
 .../internal/ViewInstanceResourceProvider.java     |   184 +-
 .../internal/ViewPermissionResourceProvider.java   |    51 +-
 .../internal/ViewPrivilegeResourceProvider.java    |    56 +-
 .../controller/internal/ViewResourceProvider.java  |    20 +-
 .../internal/ViewURLResourceProvider.java          |    60 +-
 .../internal/ViewVersionResourceProvider.java      |   114 +-
 .../internal/WidgetResourceProvider.java           |    11 +
 .../metrics/timeline/MetricsRequestHelper.java     |     6 +-
 .../cache/TimelineMetricsCacheSizeOfEngine.java    |     3 +-
 .../utilities/KerberosIdentityCleaner.java         |    24 +-
 .../controller/utilities/RemovableIdentities.java  |     3 +
 .../ambari/server/events/AgentActionEvent.java     |    55 +
 .../server/events/AgentConfigsUpdateEvent.java     |     2 +-
 .../events/AlertDefinitionsAgentUpdateEvent.java   |     2 +-
 .../events/AlertDefinitionsUIUpdateEvent.java      |     2 +-
 .../server/events/AlertGroupsUpdateEvent.java      |     2 +-
 .../ambari/server/events/AlertUpdateEvent.java     |     2 +-
 .../apache/ambari/server/events/AmbariEvent.java   |    28 +-
 .../server/events/AmbariHostUpdateEvent.java       |    37 -
 .../events/AmbariPropertiesChangedEvent.java       |    31 +
 .../ambari/server/events/AmbariUpdateEvent.java    |    78 -
 .../server/events/ClusterProvisionedEvent.java     |    35 +
 .../ambari/server/events/ConfigsUpdateEvent.java   |     2 +-
 .../server/events/DefaultMessageEmitter.java       |    93 +-
 .../server/events/ExecutionCommandEvent.java       |     2 +-
 .../server/events/HostComponentsUpdateEvent.java   |     2 +-
 .../server/events/HostLevelParamsUpdateEvent.java  |     6 +-
 .../ambari/server/events/HostRegisteredEvent.java  |     9 +-
 .../ambari/server/events/HostUpdateEvent.java      |     2 +-
 .../ambari/server/events/HostsRemovedEvent.java    |    56 +-
 .../ambari/server/events/MessageEmitter.java       |   281 +-
 .../ambari/server/events/MessageNotDelivered.java  |    32 +
 .../ambari/server/events/MetadataUpdateEvent.java  |    18 +-
 .../ambari/server/events/RequestUpdateEvent.java   |     6 +-
 .../apache/ambari/server/events/STOMPEvent.java    |    79 +
 .../ambari/server/events/STOMPHostEvent.java       |    37 +
 .../ServiceComponentRecoveryChangedEvent.java      |    19 +-
 .../events/ServiceCredentialStoreUpdateEvent.java  |    52 +
 .../ambari/server/events/ServiceUpdateEvent.java   |     2 +-
 .../server/events/TopologyAgentUpdateEvent.java    |     2 +-
 .../ambari/server/events/TopologyUpdateEvent.java  |    16 +-
 .../ambari/server/events/UpdateEventType.java      |     1 -
 .../ambari/server/events/UpgradeUpdateEvent.java   |     2 +-
 .../alerts/AlertDefinitionsUIUpdateListener.java   |    23 +-
 .../alerts/AlertGroupsUpdateListener.java          |    20 +-
 .../alerts/AlertMaintenanceModeListener.java       |    35 +-
 .../listeners/alerts/AlertReceivedListener.java    |     6 +-
 .../HostComponentsUpdateListener.java              |    14 +-
 .../events/listeners/hosts/HostUpdateListener.java |    16 +-
 .../listeners/requests/STOMPUpdateListener.java    |    55 +
 .../listeners/requests/StateUpdateListener.java    |    50 -
 .../listeners/services/ServiceUpdateListener.java  |    14 +-
 .../events/listeners/tasks/TaskStatusListener.java |    10 +-
 .../upgrade/StackUpgradeFinishListener.java        |     7 +
 .../listeners/upgrade/UpgradeUpdateListener.java   |    12 +-
 .../events/publishers/AgentCommandsPublisher.java  |     4 +-
 .../events/publishers/STOMPUpdatePublisher.java    |    66 +
 .../publishers/StateUpdateEventPublisher.java      |    66 -
 .../ambari/server/hooks/users/UserHookService.java |     1 -
 .../server/metadata/ClusterMetadataGenerator.java  |    30 +-
 .../metrics/system/impl/AmbariMetricSinkImpl.java  |    15 +-
 .../metrics/system/impl/MetricsServiceImpl.java    |     6 +-
 .../system/impl/StompEventsMetricsSource.java      |    12 +-
 .../apache/ambari/server/orm/DBAccessorImpl.java   |    71 +-
 .../ambari/server/orm/dao/AlertDefinitionDAO.java  |     6 +-
 .../ambari/server/orm/dao/AlertDispatchDAO.java    |    16 +-
 .../server/orm/dao/HostConfigMappingDAO.java       |    12 +-
 .../ambari/server/orm/dao/HostRoleCommandDAO.java  |    19 +-
 .../apache/ambari/server/orm/dao/RequestDAO.java   |    98 +-
 .../ambari/server/orm/dao/TopologyRequestDAO.java  |     6 +
 .../server/orm/entities/HostRoleCommandEntity.java |     5 +-
 .../server/orm/entities/RepoDefinitionEntity.java  |    30 +-
 .../server/orm/entities/TopologyRequestEntity.java |     3 +-
 .../ambari/server/orm/entities/UpgradeEntity.java  |     9 +
 .../orm/entities/UserAuthenticationEntity.java     |    21 +-
 .../ambari/server/orm/entities/UserEntity.java     |    19 +-
 .../ambari/server/orm/entities/WidgetEntity.java   |    17 +
 .../server/orm/helpers/dbms/GenericDbmsHelper.java |    14 +-
 .../ambari/server/security/CertificateManager.java |    44 +-
 .../AmbariBasicAuthenticationFilter.java           |     2 +
 .../AmbariLocalAuthenticationProvider.java         |     7 +-
 .../authentication/AmbariUserAuthentication.java   |    37 +-
 .../security/authentication/AmbariUserDetails.java |    86 +
 .../jwt/AmbariJwtAuthenticationFilter.java         |   123 +-
 .../jwt/AmbariJwtAuthenticationProvider.java       |    10 +-
 .../jwt/JwtAuthenticationProperties.java           |     9 +
 .../jwt/JwtAuthenticationPropertiesProvider.java   |   179 +
 .../AmbariAuthToLocalUserDetailsService.java       |    11 +-
 .../AmbariKerberosAuthenticationFilter.java        |     2 +
 .../pam/AmbariPamAuthenticationProvider.java       |     6 +-
 .../authorization/AmbariAuthorizationFilter.java   |     2 +
 .../AmbariLdapAuthenticationProvider.java          |     6 +-
 .../AmbariUserAuthorizationFilter.java             |    11 +-
 .../authorization/AuthorizationHelper.java         |    12 +-
 .../ambari/server/security/authorization/User.java |     2 +-
 .../authorization/UserIdAuthentication.java        |    24 -
 .../unsecured/rest/CertificateDownload.java        |     4 +-
 .../server/serveraction/AbstractServerAction.java  |    15 +-
 .../ConfigureAmbariIdentitiesServerAction.java     |    14 +-
 .../kerberos/DestroyPrincipalsServerAction.java    |     1 +
 .../kerberos/FinalizeKerberosServerAction.java     |    27 +-
 .../server/serveraction/kerberos/KDCType.java      |     8 +
 .../upgrades/AbstractUpgradeServerAction.java      |    10 +
 .../serveraction/upgrades/AddComponentAction.java  |   154 +
 .../upgrades/ComponentVersionCheckAction.java      |     1 +
 .../serveraction/upgrades/ConfigureAction.java     |   112 +-
 .../upgrades/CreateZeppelinSiteConfig.java         |    90 +
 .../DeleteUnsupportedServicesAndComponents.java    |   117 +
 .../upgrades/OozieConfigCalculation.java           |   105 +-
 .../org/apache/ambari/server/stack/HostsType.java  |    20 +-
 .../ambari/server/stack/MasterHostResolver.java    |    45 +-
 .../org/apache/ambari/server/stack/RepoUtil.java   |    11 +-
 .../apache/ambari/server/stack/ServiceModule.java  |     3 +
 .../apache/ambari/server/stack/StackManager.java   |    10 +-
 .../apache/ambari/server/stack/StackModule.java    |   120 +
 .../ambari/server/stack/StackServiceDirectory.java |     8 +
 .../org/apache/ambari/server/state/Clusters.java   |    10 +-
 .../apache/ambari/server/state/ConfigHelper.java   |   156 +-
 .../ambari/server/state/ConfigMergeHelper.java     |    15 +-
 .../apache/ambari/server/state/RepositoryInfo.java |    23 +
 .../ambari/server/state/ServiceComponent.java      |     2 +
 .../ambari/server/state/ServiceComponentImpl.java  |     5 +-
 .../server/state/ServiceComponentSupport.java      |   112 +
 .../apache/ambari/server/state/ServiceImpl.java    |    20 +-
 .../org/apache/ambari/server/state/StackInfo.java  |     8 +
 .../apache/ambari/server/state/UpgradeContext.java |    65 +
 .../apache/ambari/server/state/UpgradeHelper.java  |   119 +-
 .../ambari/server/state/alert/MetricSource.java    |     6 +-
 .../ambari/server/state/cluster/ClusterImpl.java   |    44 +-
 .../ambari/server/state/cluster/ClustersImpl.java  |    76 +-
 .../server/state/configgroup/ConfigGroupImpl.java  |     6 +-
 .../apache/ambari/server/state/host/HostImpl.java  |    30 +-
 .../ambari/server/state/stack/UpgradePack.java     |    62 +-
 .../state/stack/upgrade/AddComponentTask.java      |   138 +
 .../state/stack/upgrade/ClusterGrouping.java       |    35 +-
 .../upgrade/ConfigUpgradeChangeDefinition.java     |   125 +-
 .../server/state/stack/upgrade/ConfigureTask.java  |     4 +-
 .../state/stack/upgrade/RegenerateKeytabsTask.java |    81 +
 .../state/stack/upgrade/SecurityCondition.java     |    53 +-
 .../state/stack/upgrade/ServerSideActionTask.java  |     4 +
 .../server/state/stack/upgrade/StageWrapper.java   |     3 +-
 .../ambari/server/state/stack/upgrade/Task.java    |    53 +-
 .../svccomphost/ServiceComponentHostImpl.java      |    46 +-
 .../ambari/server/topology/AmbariContext.java      |    15 +-
 .../topology/ClusterConfigurationRequest.java      |    11 +-
 .../server/topology/ClusterTopologyImpl.java       |     4 +-
 .../ambari/server/topology/Configuration.java      |    37 +
 .../topology/STOMPComponentsDeleteHandler.java     |   147 +
 .../server/topology/TopologyDeleteFormer.java      |   102 -
 .../ambari/server/topology/TopologyManager.java    |     3 +
 .../topology/validators/HiveServiceValidator.java  |     2 +-
 .../ambari/server/update/HostUpdateHelper.java     |     3 +-
 .../server/upgrade/AbstractUpgradeCatalog.java     |    11 +-
 .../ambari/server/upgrade/UpgradeCatalog270.java   |   527 +-
 .../utils/ScheduledExecutorCompletionService.java  |    58 +
 .../org/apache/ambari/server/utils/StageUtils.java |   110 +-
 .../apache/ambari/server/view/ViewRegistry.java    |     6 +
 ambari-server/src/main/python/ambari-server.py     |    13 +-
 .../src/main/python/ambari_server/serverSetup.py   |    46 +-
 .../src/main/python/ambari_server/serverUpgrade.py |    22 +-
 .../src/main/python/ambari_server/serverUtils.py   |   188 +-
 .../src/main/python/ambari_server/setupMpacks.py   |    13 +-
 .../src/main/python/ambari_server/setupSecurity.py |    77 +-
 .../src/main/python/ambari_server/setupSso.py      |   323 +-
 .../src/main/python/ambari_server/utils.py         |    74 +-
 .../src/main/python/azuredb_create_generator.py    |     3 +-
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |    20 +-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |    24 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |    20 +-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |    20 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |    20 +-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |    20 +-
 .../package/scripts/accumulo_configuration.py      |    12 +-
 .../ACCUMULO/1.6.1.2.2.0/package/scripts/params.py |     8 +-
 .../hadoop-metrics2-accumulo.properties.j2         |     3 +
 .../0.1.0/configuration/infra-solr-env.xml         |    55 +-
 .../configuration/infra-solr-security-json.xml     |    12 +-
 .../0.1.0/configuration/infra-solr-xml.xml         |     2 +-
 .../AMBARI_INFRA_SOLR/0.1.0/metainfo.xml           |    27 +-
 .../0.1.0/package/scripts/collection.py            |   303 +-
 .../0.1.0/package/scripts/command_commons.py       |   283 +-
 .../0.1.0/package/scripts/infra_solr.py            |    46 +-
 .../0.1.0/package/scripts/infra_solr_client.py     |     9 +-
 .../0.1.0/package/scripts/migrate.py               |    12 +-
 .../0.1.0/package/scripts/params.py                |    22 +
 .../0.1.0/package/scripts/setup_infra_solr.py      |    35 +-
 .../package/templates/infra-solr-security.json.j2  |    12 +
 .../0.1.0/package/templates/infra-solr.conf.j2     |    17 +
 .../0.1.0/properties/infra-solr-env.sh.j2          |    28 +-
 .../AMBARI_INFRA_SOLR/0.1.0/properties/solr.xml.j2 |    96 +
 .../AMBARI_INFRA_SOLR/0.1.0/service_advisor.py     |     6 +-
 .../AMBARI_METRICS/0.1.0/configuration/ams-env.xml |     8 +
 .../0.1.0/configuration/ams-hbase-env.xml          |     2 +-
 .../0.1.0/configuration/ams-hbase-site.xml         |    19 +-
 .../0.1.0/configuration/ams-site.xml               |    90 +-
 .../AMBARI_METRICS/0.1.0/metainfo.xml              |    27 +-
 .../HDP/grafana-infra-solr-collections.json        |  2088 +
 .../HDP/grafana-infra-solr-cores.json              |  2113 +
 .../HDP/grafana-infra-solr-hosts.json              |  1184 +
 .../AMBARI_METRICS/0.1.0/package/scripts/ams.py    |    74 +-
 .../0.1.0/package/scripts/hbase_service.py         |     4 +
 .../0.1.0/package/scripts/metrics_monitor.py       |     6 +
 .../AMBARI_METRICS/0.1.0/package/scripts/params.py |    35 +-
 .../0.1.0/package/scripts/params_linux.py          |     2 +-
 .../templates/hadoop-metrics2-hbase.properties.j2  |   100 +-
 .../0.1.0/package/templates/metric_monitor.ini.j2  |     5 +-
 .../package/templates/smoketest_metrics.json.j2    |     1 -
 .../AMBARI_METRICS/0.1.0/service_advisor.py        |    25 +-
 .../ATLAS/0.1.0.2.3/package/scripts/params.py      |     2 +-
 .../common-services/DRUID/0.10.1/metainfo.xml      |     2 +-
 .../DRUID/0.10.1/package/scripts/druid.py          |     2 +-
 .../DRUID/0.10.1/package/scripts/params.py         |     2 +-
 .../0.5.0.2.1/package/scripts/params_linux.py      |     2 +-
 .../FLUME/1.4.0.2.0/package/scripts/params.py      |     6 +
 .../package/templates/flume-metrics2.properties.j2 |     3 +
 .../common-services/GANGLIA/3.5.0/metainfo.xml     |     4 +-
 .../HAWQ/2.0.0/package/scripts/params.py           |     4 +-
 .../0.96.0.2.0/package/scripts/hbase_service.py    |     4 +
 .../0.96.0.2.0/package/scripts/params_linux.py     |     8 +-
 .../package/scripts/phoenix_queryserver.py         |     5 +
 .../0.96.0.2.0/package/scripts/phoenix_service.py  |     2 +-
 ...oop-metrics2-hbase.properties-GANGLIA-MASTER.j2 |     3 +
 .../hadoop-metrics2-hbase.properties-GANGLIA-RS.j2 |     3 +
 .../HDFS/2.1.0.2.0/configuration/core-site.xml     |    10 +
 .../HDFS/2.1.0.2.0/configuration/hdfs-log4j.xml    |     3 +
 .../common-services/HDFS/2.1.0.2.0/metainfo.xml    |     3 +-
 .../alerts/alert_datanode_unmounted_data_dir.py    |     1 +
 .../package/alerts/alert_metrics_deviation.py      |    24 +-
 .../2.1.0.2.0/package/scripts/hdfs_namenode.py     |    18 +-
 .../HDFS/2.1.0.2.0/package/scripts/journalnode.py  |     2 +-
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py     |    32 +-
 .../2.1.0.2.0/package/scripts/namenode_ha_state.py |   140 +-
 .../HDFS/2.1.0.2.0/package/scripts/params_linux.py |    80 +-
 .../HDFS/2.1.0.2.0/package/scripts/utils.py        |     4 +
 .../HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py   |    26 +-
 .../common-services/HIVE/0.12.0.2.0/metainfo.xml   |     6 +-
 .../HIVE/0.12.0.2.0/package/scripts/hive.py        |     5 +-
 .../0.12.0.2.0/package/scripts/hive_interactive.py |     2 +-
 .../0.12.0.2.0/package/scripts/hive_service.py     |     4 +
 .../0.12.0.2.0/package/scripts/params_linux.py     |     9 +-
 .../HIVE/0.12.0.2.0/package/scripts/pre_upgrade.py |   107 +
 .../hadoop-metrics2-hivemetastore.properties.j2    |     4 +-
 .../hadoop-metrics2-hiveserver2.properties.j2      |     3 +
 .../templates/hadoop-metrics2-llapdaemon.j2        |     3 +
 .../templates/hadoop-metrics2-llaptaskscheduler.j2 |     3 +
 .../KAFKA/0.8.1/configuration/kafka-broker.xml     |     5 +
 .../common-services/KAFKA/0.8.1/metainfo.xml       |     2 +-
 .../KAFKA/0.8.1/package/scripts/kafka.py           |    19 +-
 .../KAFKA/0.8.1/package/scripts/params.py          |    14 +-
 .../KAFKA/0.8.1/package/scripts/service_check.py   |    31 +-
 .../0.8.1/package/scripts/setup_ranger_kafka.py    |    10 +-
 .../package/templates/input.config-kafka.json.j2   |     2 +-
 .../KERBEROS/1.10.3-10/metainfo.xml                |     2 +-
 .../1.10.3-10/package/scripts/service_check.py     |     5 +-
 .../KERBEROS/1.10.3-30/metainfo.xml                |     2 +-
 .../1.10.3-30/package/scripts/service_check.py     |     5 +-
 .../KNOX/0.5.0.2.2/package/scripts/params_linux.py |     6 +-
 .../0.5.0.2.2/package/scripts/service_check.py     |     4 +-
 .../0.5.0.2.2/package/scripts/setup_ranger_knox.py |    10 +-
 .../common-services/LOGSEARCH/0.5.0/alerts.json    |    46 +-
 .../0.5.0/configuration/logfeeder-env.xml          |    22 +
 .../0.5.0/configuration/logfeeder-properties.xml   |    12 +
 .../0.5.0/configuration/logsearch-properties.xml   |    20 +-
 .../common-services/LOGSEARCH/0.5.0/metainfo.xml   |    27 +-
 .../0.5.0/package/alerts/alert_logfeeder.py        |    85 +
 .../LOGSEARCH/0.5.0/package/scripts/logfeeder.py   |     9 +-
 .../LOGSEARCH/0.5.0/package/scripts/logsearch.py   |     9 +
 .../LOGSEARCH/0.5.0/package/scripts/params.py      |    12 +-
 .../0.5.0/package/scripts/setup_logfeeder.py       |     2 +
 .../0.5.0/package/scripts/setup_logsearch.py       |     6 +-
 .../templates/input.config-logsearch.json.j2       |     2 +-
 .../0.5.0/properties/audit_logs-solrconfig.xml.j2  |     2 +-
 .../0.5.0/properties/input.config-ambari.json.j2   |   286 +-
 .../LOGSEARCH/0.5.0/properties/logfeeder-env.sh.j2 |     3 +-
 .../0.5.0/properties/logfeeder-log4j.xml.j2        |    13 +-
 .../LOGSEARCH/0.5.0/properties/logsearch-env.sh.j2 |     3 +-
 .../properties/service_logs-solrconfig.xml.j2      |     2 +-
 .../LOGSEARCH/0.5.0/service_advisor.py             |    40 +-
 .../MAHOUT/1.0.0.2.3/package/scripts/params.py     |     2 +-
 .../common-services/OOZIE/4.0.0.2.0/metainfo.xml   |     2 +-
 .../OOZIE/4.0.0.2.0/package/scripts/oozie.py       |     2 +-
 .../4.0.0.2.0/package/scripts/oozie_service.py     |     2 +-
 .../4.0.0.2.0/package/scripts/params_linux.py      |     2 +-
 .../common-services/OOZIE/4.2.0.2.3/metainfo.xml   |     2 +-
 .../PIG/0.12.0.2.0/package/scripts/params_linux.py |     2 +-
 .../PXF/3.0.0/package/scripts/params.py            |     4 +-
 .../RANGER/0.4.0/configuration/ranger-env.xml      |     2 +-
 .../common-services/RANGER/0.4.0/metainfo.xml      |     2 +-
 .../RANGER/0.4.0/package/scripts/ranger_tagsync.py |    21 +-
 .../0.4.0/package/scripts/setup_ranger_xml.py      |    86 +-
 .../common-services/RANGER/0.6.0/metainfo.xml      |     2 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py    |    24 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/params.py |     4 +-
 .../0.60.0.2.2/package/scripts/params_linux.py     |     5 +-
 .../common-services/SPARK/1.2.1/metainfo.xml       |     2 +-
 .../SPARK/1.2.1/package/scripts/livy_server.py     |     7 +-
 .../SPARK/1.2.1/package/scripts/params.py          |     2 +-
 .../common-services/SPARK2/2.0.0/metainfo.xml      |     2 +-
 .../SPARK2/2.0.0/package/scripts/livy2_server.py   |     7 +-
 .../SPARK2/2.0.0/package/scripts/params.py         |     2 +-
 .../STORM/0.9.1/package/scripts/params_linux.py    |    44 +-
 .../STORM/0.9.1/package/scripts/params_windows.py  |     6 -
 .../0.9.1/package/scripts/setup_ranger_storm.py    |    21 +-
 .../STORM/0.9.1/package/templates/config.yaml.j2   |     7 +-
 .../package/templates/input.config-storm.json.j2   |    79 +-
 .../package/templates/storm-metrics2.properties.j2 |     3 +
 .../common-services/STORM/0.9.3/metainfo.xml       |     2 +-
 .../common-services/SUPERSET/0.15.0/metainfo.xml   |     2 +-
 .../TEZ/0.4.0.2.1/package/scripts/params_linux.py  |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/params_linux.py |    11 +-
 .../2.1.0.2.0/package/scripts/resourcemanager.py   |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/service.py      |     4 +
 .../templates/input.config-mapreduce2.json.j2      |    18 +-
 .../0.6.0/package/scripts/alert_check_zeppelin.py  |     3 +-
 .../ZEPPELIN/0.6.0/package/scripts/params.py       |     4 +-
 .../0.7.0/package/scripts/alert_check_zeppelin.py  |     3 +-
 .../ZEPPELIN/0.7.0/package/scripts/params.py       |     4 +-
 .../ZEPPELIN/0.7.0/service_advisor.py              |     2 +-
 .../common-services/ZOOKEEPER/3.4.6/metainfo.xml   |     2 +-
 .../common-services/ZOOKEEPER/3.4.9/metainfo.xml   |     2 +-
 .../ZOOKEEPER/3.4.9/service_advisor.py             |     2 +-
 .../resources/custom_actions/scripts/check_host.py |    35 +-
 .../resources/custom_actions/scripts/ru_set_all.py |   151 -
 .../custom_actions/scripts/stack_select_set_all.py |   116 +
 .../src/main/resources/scripts/Ambaripreupload.py  |    29 +-
 .../src/main/resources/scripts/configs.py          |    40 +-
 .../src/main/resources/scripts/stack_advisor.py    |     6 +
 .../resources/scripts/takeover_files_mapping.json  |     3 +-
 .../src/main/resources/slider_resources/README.txt |    17 -
 .../stack-hooks/after-INSTALL/scripts/params.py    |    13 +-
 .../after-INSTALL/scripts/shared_initialization.py |    11 +-
 .../stack-hooks/before-ANY/scripts/params.py       |    45 +-
 .../stack-hooks/before-SET_KEYTAB/scripts/hook.py  |    38 +
 .../before-START/files/fast-hdfs-resource.jar      |   Bin 28296600 -> 19286899 bytes
 .../stack-hooks/before-START/scripts/params.py     |     6 +
 .../before-START/scripts/shared_initialization.py  |    11 +-
 .../templates/hadoop-metrics2.properties.j2        |     3 +
 .../0.8/services/HIVE/package/scripts/hive.py      |     2 +-
 .../0.8/services/OOZIE/package/scripts/oozie.py    |     2 +-
 .../HDP/2.0.6/properties/stack_packages.json       |     6 -
 .../STORM/package/templates/config.yaml.j2         |    48 +-
 .../stacks/HDP/2.1/services/HIVE/metainfo.xml      |     6 +-
 .../stacks/HDP/2.1/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/FALCON/metainfo.xml    |     2 +-
 .../stacks/HDP/2.2/services/FLUME/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/HBASE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/HDFS/metainfo.xml      |     2 +-
 .../stacks/HDP/2.2/services/HIVE/metainfo.xml      |     8 +-
 .../stacks/HDP/2.2/services/KNOX/metainfo.xml      |     2 +-
 .../stacks/HDP/2.2/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/PIG/metainfo.xml       |     2 +-
 .../stacks/HDP/2.2/services/SLIDER/metainfo.xml    |     2 +-
 .../stacks/HDP/2.2/services/SQOOP/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/TEZ/metainfo.xml       |     2 +-
 .../stacks/HDP/2.2/services/YARN/metainfo.xml      |     4 +-
 .../2.3.ECS/services/ECS/package/scripts/params.py |     2 +-
 .../HDP/2.3.ECS/services/ZOOKEEPER/metainfo.xml    |     2 +-
 .../stacks/HDP/2.3/services/ACCUMULO/metainfo.xml  |     2 +-
 .../stacks/HDP/2.3/services/ATLAS/metainfo.xml     |     2 +-
 .../stacks/HDP/2.3/services/HDFS/metainfo.xml      |     2 +-
 .../stacks/HDP/2.3/services/HIVE/metainfo.xml      |     8 +-
 .../stacks/HDP/2.3/services/PIG/metainfo.xml       |     2 +-
 .../HDP/2.3/services/RANGER_KMS/metainfo.xml       |     2 +-
 .../stacks/HDP/2.5/role_command_order.json         |     7 +-
 .../stacks/HDP/2.5/services/ATLAS/metainfo.xml     |     2 +-
 .../stacks/HDP/2.5/services/FALCON/metainfo.xml    |     2 +-
 .../stacks/HDP/2.5/services/HIVE/kerberos.json     |     4 +-
 .../stacks/HDP/2.5/services/HIVE/metainfo.xml      |     8 +-
 .../RANGER_KMS/themes/theme_version_2.json         |     1 +
 .../stacks/HDP/2.5/services/SPARK/metainfo.xml     |     2 +-
 .../stacks/HDP/2.5/services/ZEPPELIN/metainfo.xml  |     2 +-
 .../2.6/services/ATLAS/configuration/atlas-env.xml |     2 +-
 .../stacks/HDP/2.6/services/ATLAS/metainfo.xml     |     6 +
 .../stacks/HDP/2.6/services/FALCON/metainfo.xml    |     2 +-
 .../configuration/hadoop-metrics2.properties.xml   |     3 +
 .../stacks/HDP/2.6/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.6/services/RANGER/metainfo.xml    |     6 +
 .../services/SPARK2/configuration/livy2-env.xml    |    10 +
 .../stacks/HDP/2.6/services/SPARK2/metainfo.xml    |     2 +-
 .../stacks/HDP/2.6/services/YARN/kerberos.json     |     2 +-
 .../stacks/HDP/2.6/services/ZEPPELIN/metainfo.xml  |     2 +-
 .../stacks/HDP/2.6/services/stack_advisor.py       |   124 +-
 .../resources/stacks/PERF/1.0/hdp_urlinfo.json     |     4 +-
 .../resources/stacks/PERF/1.0/repos/repoinfo.xml   |    86 +-
 .../configuration/hadoop-metrics2.properties.xml   |     5 +
 .../src/main/resources/stacks/PERF/1.0/vdf.xml     |     6 +-
 .../resources/stacks/PERF/2.0/hdp_urlinfo.json     |     4 +-
 .../resources/stacks/PERF/2.0/repos/repoinfo.xml   |    86 +-
 .../src/main/resources/stacks/PERF/2.0/vdf.xml     |     6 +-
 .../resources/stacks/PERF/install_packages.sed     |    17 +-
 .../main/resources/stacks/ambari_configuration.py  |   142 +-
 .../src/main/resources/stacks/service_advisor.py   |   157 +-
 .../src/main/resources/stacks/stack_advisor.py     |   141 +-
 .../src/main/resources/upgrade-config.xsd          |    24 +-
 ambari-server/src/main/resources/upgrade-pack.xsd  |    36 +-
 .../src/main/resources/version_definition.xsd      |     2 +
 ambari-server/src/main/resources/widgets.json      |     4 +-
 .../actionmanager/ExecutionCommandWrapperTest.java |     9 +
 .../ambari/server/agent/AgentResourceTest.java     |     2 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |    29 +-
 .../server/agent/stomp/AgentDataHolderTest.java    |   104 +
 .../agent/stomp/dto/MetadataClusterTest.java       |   144 +
 .../ambari/server/api/AmbariErrorHandlerTest.java  |    16 +-
 .../api/resources/BaseResourceDefinitionTest.java  |     6 +-
 .../server/api/services/AmbariMetaInfoTest.java    |     7 +-
 .../stackadvisor/StackAdvisorHelperTest.java       |    47 +-
 .../stackadvisor/StackAdvisorRequestTypeTest.java  |    25 +-
 .../ConfigurationRecommendationCommandTest.java    |     2 +-
 .../commands/StackAdvisorCommandTest.java          |    12 +-
 .../request/creator/AuditEventCreatorTestBase.java |     5 +
 .../request/creator/ComponentEventCreatorTest.java |    34 +-
 .../request/creator/HostEventCreatorTest.java      |     2 +-
 .../request/creator/PrivilegeEventCreatorTest.java |    24 +-
 .../creator/ViewInstanceEventCreatorTest.java      |    20 +-
 .../creator/ViewPrivilegeEventCreatorTest.java     |    24 +-
 .../KerberosAdminPersistedCredentialCheckTest.java |   252 +
 .../checks/MissingOsInRepoVersionCheckTest.java    |   138 +
 .../configuration/RecoveryConfigHelperTest.java    |    85 +-
 .../server/configuration/SingleFileWatchTest.java  |    81 +
 .../AmbariCustomCommandExecutionHelperTest.java    |   102 +
 .../server/controller/AmbariHandlerListTest.java   |    16 +-
 .../AmbariManagementControllerImplTest.java        |     1 -
 .../controller/AmbariManagementControllerTest.java |    23 +-
 .../server/controller/KerberosHelperTest.java      |   125 +-
 .../AbstractControllerResourceProviderTest.java    |     6 +-
 .../internal/AbstractResourceProviderTest.java     |     6 +-
 .../ActiveWidgetLayoutResourceProviderTest.java    |    13 +-
 .../AmbariPrivilegeResourceProviderTest.java       |    98 +-
 .../AmbariServerConfigurationHandlerTest.java      |   197 +-
 .../AmbariServerSSOConfigurationHandlerTest.java   |   226 +
 .../internal/BlueprintResourceProviderTest.java    |    94 +-
 .../internal/ClientConfigResourceProviderTest.java |   132 +-
 .../ClusterPrivilegeResourceProviderTest.java      |    32 +-
 .../internal/ComponentResourceProviderTest.java    |   116 +-
 .../internal/ConfigGroupResourceProviderTest.java  |   146 +-
 .../ConfigurationResourceProviderTest.java         |    36 +-
 .../GroupPrivilegeResourceProviderTest.java        |    28 +-
 .../HostComponentProcessResourceProviderTest.java  |    26 +-
 .../HostComponentResourceProviderTest.java         |   135 +-
 .../internal/HostResourceProviderTest.java         |     3 +-
 .../controller/internal/JMXHostProviderTest.java   |     6 +-
 .../internal/RequestResourceProviderTest.java      |    25 +-
 .../RequestScheduleResourceProviderTest.java       |    90 +-
 ...ComponentConfigurationResourceProviderTest.java |    47 +-
 .../internal/ServiceResourceProviderTest.java      |    42 +-
 ...erAuthenticationSourceResourceProviderTest.java |    13 +-
 .../UserAuthorizationResourceProviderTest.java     |    34 +-
 .../UserPrivilegeResourceProviderTest.java         |    34 +-
 .../internal/UserResourceProviderTest.java         |     3 +-
 .../internal/ViewInstanceResourceProviderTest.java |    30 +-
 .../ViewPrivilegeResourceProviderTest.java         |     8 +-
 .../internal/ViewURLResourceProviderTest.java      |    46 +-
 .../metrics/timeline/AMSPropertyProviderTest.java  |    70 +-
 .../metrics/timeline/MetricsPaddingMethodTest.java |    14 +-
 .../cache/TimelineMetricCacheSizingTest.java       |     1 -
 .../utilities/KerberosIdentityCleanerTest.java     |    22 +
 .../apache/ambari/server/events/EventsTest.java    |     1 +
 .../listeners/tasks/TaskStatusListenerTest.java    |     4 +-
 .../upgrade/AlertMaintenanceModeListenerTest.java  |    63 +-
 .../metric/system/impl/MetricsSourceTest.java      |    17 +
 .../system/impl/TestAmbariMetricsSinkImpl.java     |     5 +
 .../ambari/server/orm/DBAccessorImplTest.java      |    54 +
 .../server/orm/InMemoryDefaultTestModule.java      |     2 +-
 .../server/security/CertificateManagerTest.java    |    38 +
 .../server/security/SecurityHelperImplTest.java    |     3 +-
 .../server/security/TestAuthenticationFactory.java |    78 +-
 .../AmbariLocalAuthenticationProviderTest.java     |     3 +-
 .../jwt/AmbariJwtAuthenticationFilterTest.java     |   138 +-
 .../AmbariAuthToLocalUserDetailsServiceTest.java   |    27 +-
 .../AmbariAuthorizationFilterTest.java             |     5 +-
 .../authorization/AuthorizationHelperTest.java     |     3 +-
 .../security/ldap/AmbariLdapDataPopulatorTest.java |     3 +-
 .../kerberos/FinalizeKerberosServerActionTest.java |    13 +-
 .../upgrades/AddComponentActionTest.java           |   199 +
 .../upgrades/KerberosKeytabsActionTest.java        |     4 +-
 .../upgrades/OozieConfigCalculationTest.java       |   152 +
 .../ambari/server/stack/StackManagerMock.java      |    22 +-
 .../ambari/server/state/ConfigHelperTest.java      |    77 +-
 .../server/state/ServiceComponentSupportTest.java  |   122 +
 .../ambari/server/state/cluster/ClusterTest.java   |     4 +
 .../ambari/server/state/cluster/ClustersTest.java  |     8 +-
 .../apache/ambari/server/state/host/HostTest.java  |     3 +
 .../KerberosDescriptorUpdateHelperTest.java        |     2 +
 .../ambari/server/state/stack/UpgradePackTest.java |     1 +
 .../server/testutils/PartialNiceMockBinder.java    |     2 +
 .../ambari/server/topology/ConfigurationTest.java  |    47 +
 .../server/topology/TopologyManagerTest.java       |     3 +
 .../ambari/server/update/HostUpdateHelperTest.java |     2 +
 .../server/upgrade/UpgradeCatalog252Test.java      |    10 +
 .../server/upgrade/UpgradeCatalog260Test.java      |    26 +-
 .../server/upgrade/UpgradeCatalog270Test.java      |   419 +-
 .../utils/ManagedThreadPoolExecutorTest.java       |    64 +-
 .../ambari/server/utils/PasswordUtilsTest.java     |     2 +
 .../apache/ambari/server/utils/StageUtilsTest.java |    28 +-
 .../ambari/server/view/ViewRegistryTest.java       |    35 +-
 ambari-server/src/test/python/TestAmbariServer.py  |    33 +-
 ambari-server/src/test/python/TestMpacks.py        |     8 +-
 .../src/test/python/TestResourceFilesKeeper.py     |     2 +-
 ambari-server/src/test/python/TestServerUpgrade.py |     4 +-
 ambari-server/src/test/python/TestServerUtils.py   |    71 +-
 .../src/test/python/TestServiceAdvisor.py          |    72 +
 ambari-server/src/test/python/TestSetupSso.py      |   431 +-
 ambari-server/src/test/python/TestStackFeature.py  |    24 +-
 ambari-server/src/test/python/TestStackSelect.py   |    12 +-
 .../src/test/python/TestUpgradeSummary.py          |    12 +-
 .../AMBARI_METRICS/test_service_advisor.py         |    12 +-
 .../python/common-services/HAWQ/test_hawqmaster.py |     6 +-
 .../LOGSEARCH/test_service_advisor.py              |   123 +-
 .../common-services/configs/hawq_default.json      |     6 +-
 .../common-services/configs/hive_default.json      |     6 +-
 .../configs/hive_unsupported_jdbc_type.json        |     6 +-
 .../common-services/configs/pxf_default.json       |     6 +-
 .../configs/ranger_admin_default.json              |     6 +-
 .../ranger_admin_unsupported_db_flavor.json        |     2 +-
 .../configs/ranger_kms_default.json                |     6 +-
 .../configs/ranger_kms_unsupported_db_flavor.json  |     6 +-
 .../common-services/configs/sqoop_default.json     |     6 +-
 .../configs/sqoop_unsupported_jdbc_driver.json     |     2 +-
 .../test/python/custom_actions/TestCheckHost.py    |     9 +
 .../configs/install_packages_config.json           |     6 +-
 .../configs/install_packages_repository_file.json  |     6 +-
 .../configs/remove_previous_stacks.json            |     6 +-
 .../test/python/custom_actions/test_ru_set_all.py  |   272 -
 .../custom_actions/test_stack_select_set_all.py    |   343 +
 ambari-server/src/test/python/hdfs.json            |  2689 +
 .../2.0.6/AMBARI_METRICS/test_metrics_collector.py |     3 +-
 .../2.0.6/AMBARI_METRICS/test_metrics_monitor.py   |   142 +
 .../HDFS/test_alert_datanode_unmounted_data_dir.py |    23 +-
 .../2.0.6/HDFS/test_alert_metrics_deviation.py     |   112 +-
 .../test/python/stacks/2.0.6/HDFS/test_namenode.py |    47 +-
 .../stacks/2.0.6/HIVE/test_hive_metastore.py       |    22 +-
 .../python/stacks/2.0.6/HIVE/test_hive_server.py   |    12 +-
 .../python/stacks/2.0.6/OOZIE/test_oozie_server.py |     6 +-
 .../test/python/stacks/2.0.6/SQOOP/test_sqoop.py   |     4 +-
 .../stacks/2.0.6/configs/altfs_plus_hdfs.json      |     6 +-
 .../stacks/2.0.6/configs/client-upgrade.json       |     6 +-
 .../stacks/2.0.6/configs/default.hbasedecom.json   |     6 +-
 .../test/python/stacks/2.0.6/configs/default.json  |    11 +-
 .../2.0.6/configs/default.non_gmetad_host.json     |     6 +-
 .../stacks/2.0.6/configs/default_ams_embedded.json |    11 +-
 .../stacks/2.0.6/configs/default_client.json       |     6 +-
 .../stacks/2.0.6/configs/default_hive_nn_ha.json   |     6 +-
 .../stacks/2.0.6/configs/default_hive_nn_ha_2.json |     6 +-
 .../2.0.6/configs/default_hive_non_hdfs.json       |     6 +-
 .../stacks/2.0.6/configs/default_no_install.json   |     6 +-
 .../stacks/2.0.6/configs/default_oozie_mysql.json  |     6 +-
 .../configs/default_update_exclude_file_only.json  |     6 +-
 .../stacks/2.0.6/configs/default_with_bucket.json  |     6 +-
 .../default_yarn_include_file_dont_manage.json     |     6 +-
 .../configs/default_yarn_include_file_manage.json  |     6 +-
 .../test/python/stacks/2.0.6/configs/flume_22.json |     6 +-
 .../python/stacks/2.0.6/configs/flume_only.json    |     6 +-
 .../python/stacks/2.0.6/configs/flume_target.json  |     6 +-
 .../2.0.6/configs/ha_bootstrap_active_node.json    |    12 +-
 .../2.0.6/configs/ha_bootstrap_standby_node.json   |    12 +-
 .../ha_bootstrap_standby_node_initial_start.json   |    12 +-
 ...tandby_node_initial_start_dfs_nameservices.json |    12 +-
 .../python/stacks/2.0.6/configs/ha_default.json    |     6 +-
 .../python/stacks/2.0.6/configs/ha_secured.json    |     6 +-
 .../python/stacks/2.0.6/configs/hbase-2.2.json     |     6 +-
 .../stacks/2.0.6/configs/hbase-check-2.2.json      |     6 +-
 .../stacks/2.0.6/configs/hbase-preupgrade.json     |     6 +-
 .../stacks/2.0.6/configs/hbase-rs-2.2-phoenix.json |     6 +-
 .../python/stacks/2.0.6/configs/hbase-rs-2.2.json  |     6 +-
 .../python/stacks/2.0.6/configs/hbase_no_phx.json  |     6 +-
 .../stacks/2.0.6/configs/hbase_with_phx.json       |     6 +-
 .../test/python/stacks/2.0.6/configs/nn_eu.json    |     6 +-
 .../python/stacks/2.0.6/configs/nn_eu_standby.json |     6 +-
 .../python/stacks/2.0.6/configs/nn_ru_lzo.json     |     6 +-
 .../stacks/2.0.6/configs/oozie_existing_sqla.json  |     6 +-
 .../2.0.6/configs/ranger-namenode-start.json       |     6 +-
 .../2.0.6/configs/rebalancehdfs_default.json       |     8 +-
 .../2.0.6/configs/rebalancehdfs_secured.json       |     8 +-
 .../stacks/2.0.6/configs/repository_file.json      |     6 +-
 .../test/python/stacks/2.0.6/configs/secured.json  |     6 +-
 .../stacks/2.0.6/configs/secured_client.json       |     6 +-
 .../stacks/2.0.6/configs/secured_no_jce_name.json  |     6 +-
 .../secured_yarn_include_file_dont_manage.json     |     6 +-
 .../configs/secured_yarn_include_file_manage.json  |     6 +-
 .../stacks/2.0.6/configs/zk-service_check_2.2.json |     6 +-
 .../hooks/after-INSTALL/test_after_install.py      |    12 +-
 .../2.0.6/hooks/before-ANY/test_before_any.py      |     2 +-
 .../before-SET_KEYTAB/test_before_set_keytab.py    |    41 +
 .../2.0.6/hooks/before-START/test_before_start.py  |    36 +-
 .../python/stacks/2.1/FALCON/test_falcon_server.py |     2 +-
 .../python/stacks/2.1/HIVE/test_hive_metastore.py  |    32 +-
 .../python/stacks/2.1/configs/client-upgrade.json  |     6 +-
 .../stacks/2.1/configs/default-storm-start.json    |    16 +-
 .../test/python/stacks/2.1/configs/default.json    |     6 +-
 .../stacks/2.1/configs/hive-metastore-upgrade.json |     6 +-
 .../stacks/2.1/configs/secured-storm-start.json    |    12 +-
 .../test/python/stacks/2.1/configs/secured.json    |    10 +-
 .../stacks/2.2/KERBEROS/test_kerberos_client.py    |     2 +-
 .../python/stacks/2.2/RANGER/test_ranger_admin.py  |     4 +-
 .../test/python/stacks/2.2/configs/default.json    |     6 +-
 .../2.2/configs/default_custom_path_config.json    |     6 +-
 .../python/stacks/2.2/configs/falcon-upgrade.json  |     6 +-
 .../python/stacks/2.2/configs/hive-upgrade.json    |     6 +-
 .../configs/journalnode-upgrade-hdfs-secure.json   |     6 +-
 .../stacks/2.2/configs/journalnode-upgrade.json    |     6 +-
 .../python/stacks/2.2/configs/knox_upgrade.json    |     6 +-
 .../python/stacks/2.2/configs/oozie-downgrade.json |     6 +-
 .../python/stacks/2.2/configs/oozie-upgrade.json   |     8 +-
 .../2.2/configs/pig-service-check-secure.json      |     6 +-
 .../stacks/2.2/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.2/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.2/configs/ranger-admin-upgrade.json   |     6 +-
 .../2.2/configs/ranger-usersync-upgrade.json       |     6 +-
 .../test/python/stacks/2.2/configs/secured.json    |     6 +-
 .../2.2/configs/spark-job-history-server.json      |     2 +-
 .../stacks/2.3/ATLAS/test_metadata_server.py       |    20 +-
 .../test/python/stacks/2.3/configs/ats_1_5.json    |     6 +-
 .../stacks/2.3/configs/default.hbasedecom.json     |     2 +-
 .../test/python/stacks/2.3/configs/default.json    |     6 +-
 .../python/stacks/2.3/configs/hbase_default.json   |     6 +-
 .../python/stacks/2.3/configs/hbase_secure.json    |     6 +-
 .../src/test/python/stacks/2.3/configs/secure.json |     6 +-
 .../python/stacks/2.3/configs/spark_default.json   |     6 +-
 .../python/stacks/2.3/configs/storm_default.json   |     6 +-
 .../stacks/2.3/configs/storm_default_secure.json   |     6 +-
 .../stacks/2.4/AMBARI_INFRA/test_infra_solr.py     |    24 +-
 .../python/stacks/2.4/LOGSEARCH/test_logfeeder.py  |    10 +
 .../python/stacks/2.4/LOGSEARCH/test_logsearch.py  |    15 +-
 .../test/python/stacks/2.4/configs/default.json    |     9 +-
 .../python/stacks/2.5/HIVE/test_hive_server_int.py |     6 +-
 .../python/stacks/2.5/RANGER/test_ranger_admin.py  |    30 +-
 .../stacks/2.5/RANGER/test_ranger_usersync.py      |     8 +
 .../stacks/2.5/RANGER_KMS/test_kms_server.py       |    77 +-
 .../stacks/2.5/ZEPPELIN/test_zeppelin_060.py       |     5 +
 .../test/python/stacks/2.5/configs/default.json    |     6 +-
 .../python/stacks/2.5/configs/hsi_default.json     |     6 +-
 .../2.5/configs/hsi_default_for_restart.json       |     6 +-
 .../src/test/python/stacks/2.5/configs/hsi_ha.json |     6 +-
 .../stacks/2.5/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.5/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.5/configs/ranger-kms-default.json     |     6 +-
 .../stacks/2.5/configs/ranger-kms-secured.json     |     6 +-
 .../test/python/stacks/2.5/configs/secured.json    |     6 +-
 .../src/test/python/stacks/2.6/DRUID/test_druid.py |     2 +-
 .../python/stacks/2.6/RANGER/test_ranger_admin.py  |    46 +-
 .../stacks/2.6/RANGER/test_ranger_tagsync.py       |    15 +
 .../stacks/2.6/ZEPPELIN/test_zeppelin_070.py       |    20 +-
 .../test/python/stacks/2.6/configs/default.json    |     6 +-
 .../2.6/configs/default_kafka_plaintext.json       |     6 +-
 .../2.6/configs/default_kafka_plaintextsasl.json   |     6 +-
 .../2.6/configs/default_kafka_sasl_plaintext.json  |     6 +-
 .../stacks/2.6/configs/default_kafka_sasl_ssl.json |     6 +-
 .../stacks/2.6/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.6/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.6/configs/secure_kafka_sasl_ssl.json  |     2 +-
 .../python/stacks/test_ambari_configuration.py     |   218 +-
 .../src/test/python/validation-hosts.json          |   191 +
 .../HIVE/0.11.0.2.0.5.0/package/scripts/hive.py    |     2 +-
 .../dummy_stack/HIVE/package/scripts/hive.py       |     2 +-
 .../custom_actions/check_host_ip_addresses.json    |     6 +-
 .../custom_actions/check_last_agent_env.json       |     4 +-
 .../resources/custom_actions/invalid_check.json    |     6 +-
 .../ru_execute_tasks_namenode_prepare.json         |     6 +-
 .../stacks/HDP/2.0.6/services/YARN/metainfo.xml    |    14 +
 .../2.0.7/services/HIVE/package/scripts/hive.py    |     2 +-
 .../stacks/HDP/2.0.8/services/HBASE/metainfo.xml   |     4 +
 .../serviceadvisor/ServiceAdvisorCommandType.java  |     2 +
 ambari-utility/pom.xml                             |    25 +-
 .../annotations/SwaggerOverwriteNestedAPI.java     |    63 +
 .../ambari/annotations/SwaggerPreferredParent.java |    40 +
 .../apache/ambari/swagger/AmbariSwaggerReader.java |   106 +-
 .../ambari/swagger/AmbariSwaggerReaderTest.java    |   159 +-
 ambari-views/examples/README.md                    |     1 -
 .../auto-cluster-view/src/main/resources/view.xml  |     2 +-
 ambari-views/examples/pom.xml                      |     1 -
 ambari-views/examples/weather-view/docs/index.md   |   566 -
 .../examples/weather-view/docs/paloalto.png        |   Bin 39530 -> 0 bytes
 .../examples/weather-view/docs/weather.png         |   Bin 29121 -> 0 bytes
 ambari-views/examples/weather-view/pom.xml         |   114 -
 .../apache/ambari/view/weather/CityResource.java   |    99 -
 .../ambari/view/weather/CityResourceProvider.java  |   183 -
 .../apache/ambari/view/weather/CityService.java    |    75 -
 .../apache/ambari/view/weather/WeatherServlet.java |   131 -
 .../src/main/resources/WEB-INF/web.xml             |    37 -
 .../weather-view/src/main/resources/view.xml       |    94 -
 ambari-web/api-docs/css/api-explorer.css           |    44 -
 ambari-web/api-docs/lib/marked.js                  |   464 +-
 ambari-web/api-docs/swagger-ui.js                  |     7 +-
 ambari-web/api-docs/swagger-ui.min.js              |    21 +-
 ambari-web/app/app.js                              |    13 +-
 .../data/configurations/config_versions.json       |     3 +-
 ambari-web/app/assets/data/services/ambari.json    |     2 +-
 .../app/assets/data/services/ambari_server.json    |     2 +-
 .../app/assets/data/stack_versions/upgrade.json    |    62 +-
 .../assets/data/wizard/deploy/5_hosts/poll_3.json  |     8 +-
 .../assets/data/wizard/deploy/5_hosts/poll_4.json  |     8 +-
 .../assets/data/wizard/deploy/5_hosts/poll_5.json  |     8 +-
 .../data/wizard/deploy/master_failure/poll_3.json  |     8 +-
 .../data/wizard/deploy/master_failure/poll_4.json  |     8 +-
 .../data/wizard/deploy/slave_failure/poll_3.json   |     8 +-
 .../data/wizard/deploy/slave_failure/poll_4.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_3.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_4.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_5.json   |     8 +-
 .../data/wizard/kerberos/kerberize_cluster.json    |     6 +-
 ambari-web/app/assets/index.html                   |     2 +-
 ambari-web/app/assets/test/tests.js                |     2 +-
 ambari-web/app/config.js                           |     3 +-
 ambari-web/app/controllers.js                      |     1 -
 ambari-web/app/controllers/application.js          |    45 +
 .../global/background_operations_controller.js     |    19 +-
 .../app/controllers/global/cluster_controller.js   |    75 +-
 .../controllers/global/configuration_controller.js |    61 +
 .../app/controllers/global/update_controller.js    |   124 +-
 ambari-web/app/controllers/installer.js            |   324 +-
 ambari-web/app/controllers/main.js                 |     8 +-
 .../main/admin/federation/step1_controller.js      |    17 +-
 .../main/admin/federation/step3_controller.js      |   112 +-
 .../main/admin/federation/step4_controller.js      |    88 +-
 .../journalNode/step1_controller.js                |    12 +
 .../journalNode/step3_controller.js                |    58 +-
 .../journalNode/step4_controller.js                |     7 +-
 .../journalNode/step5_controller.js                |    11 +-
 .../journalNode/step6_controller.js                |    13 +-
 .../journalNode/step7_controller.js                |    13 +-
 .../journalNode/step8_controller.js                |    35 -
 .../journalNode/wizard_controller.js               |     4 +-
 .../highAvailability/nameNode/step4_controller.js  |    29 +-
 .../highAvailability/nameNode/step7_controller.js  |    18 +-
 .../main/admin/highAvailability_controller.js      |    21 +-
 ambari-web/app/controllers/main/admin/kerberos.js  |    27 +-
 .../main/admin/kerberos/step5_controller.js        |    39 +-
 .../main/admin/kerberos/step7_controller.js        |    37 +-
 .../main/admin/kerberos/wizard_controller.js       |    17 +-
 .../main/admin/serviceAccounts_controller.js       |    64 +-
 .../controllers/main/admin/service_auto_start.js   |     1 +
 .../main/admin/stack_upgrade_history_controller.js |    35 +-
 .../main/charts/heatmap_metrics/heatmap_metric.js  |    44 +-
 .../main/dashboard/config_history_controller.js    |    15 +-
 ambari-web/app/controllers/main/host.js            |    52 +-
 .../main/host/bulk_operations_controller.js        |     8 +-
 ambari-web/app/controllers/main/host/details.js    |   119 +-
 .../app/controllers/main/service/add_controller.js |     6 +-
 .../app/controllers/main/service/info/configs.js   |    25 +-
 .../app/controllers/main/service/info/metric.js    |   126 +-
 .../app/controllers/main/service/info/summary.js   |    29 +-
 ambari-web/app/controllers/main/service/item.js    |    63 +-
 .../service/manage_config_groups_controller.js     |    66 +-
 .../main/service/reassign/step2_controller.js      |     9 -
 .../main/service/reassign/step3_controller.js      |    24 +-
 .../service/widgets/create/step2_controller.js     |    12 +-
 .../service/widgets/create/step3_controller.js     |    18 +-
 .../service/widgets/create/wizard_controller.js    |    55 +-
 ambari-web/app/controllers/wizard.js               |    19 +-
 .../app/controllers/wizard/step2_controller.js     |     2 +
 .../wizard/step7/assign_master_controller.js       |   104 +-
 .../app/controllers/wizard/step7_controller.js     |   139 +-
 .../app/controllers/wizard/step8_controller.js     |    80 +-
 .../app/data/configs/services/yarn_properties.js   |   126 +
 .../data/configs/wizards/federation_properties.js  |   133 +-
 ambari-web/app/data/controller_route.js            |     8 +
 ambari-web/app/data/dashboard_widgets.js           |    30 +-
 ambari-web/app/mappers/components_state_mapper.js  |     5 +-
 .../configs/stack_config_properties_mapper.js      |     4 +
 ambari-web/app/mappers/configs/themes_mapper.js    |    33 +-
 .../app/mappers/repository_version_mapper.js       |     4 +-
 ambari-web/app/mappers/service_metrics_mapper.js   |   154 +-
 .../mappers/socket/alert_groups_mapper_adapter.js  |    13 +
 .../app/mappers/socket/alert_summary_mapper.js     |     5 +-
 ambari-web/app/mappers/socket/topology_mapper.js   |    12 +-
 ambari-web/app/mappers/stack_mapper.js             |     4 +-
 ambari-web/app/mappers/widget_mapper.js            |     3 +-
 ambari-web/app/messages.js                         |   235 +-
 ambari-web/app/mixins.js                           |     2 +
 .../mixins/common/configs/configs_comparator.js    |    11 +-
 .../app/mixins/common/configs/configs_loader.js    |     6 +-
 .../app/mixins/common/configs/configs_saver.js     |     8 +-
 .../app/mixins/common/configs/enhanced_configs.js  |   272 +-
 ambari-web/app/mixins/common/serverValidator.js    |    19 +-
 .../app/mixins/common/widgets/widget_mixin.js      |    46 +-
 .../app/mixins/common/widgets/widget_section.js    |   224 +-
 .../main/dashboard/widgets/namenode_widget.js      |    15 +-
 .../details/host_components/decommissionable.js    |    61 +-
 .../configs/component_actions_by_configs.js        |   120 +-
 .../main/service/configs/config_overridable.js     |     1 +
 .../main/service/summary/hdfs_summary_widgets.js   |    29 +
 .../app/mixins/main/service/themes_mapping.js      |    24 +-
 ambari-web/app/mixins/wizard/addSecurityConfigs.js |    61 +-
 .../app/mixins/wizard/assign_master_components.js  |    43 +-
 ambari-web/app/mixins/wizard/selectHost.js         |     4 +-
 .../wizard/wizardDeployProgressController.js       |     7 +-
 .../mixins/wizard/wizard_misc_property_checker.js  |    91 +
 ambari-web/app/models.js                           |     1 -
 ambari-web/app/models/alerts/alert_definition.js   |     2 +-
 ambari-web/app/models/client_component.js          |    13 +-
 ambari-web/app/models/configs/config_group.js      |     4 +-
 .../app/models/configs/objects/service_config.js   |     2 +-
 .../app/models/configs/service_config_version.js   |     4 +-
 ambari-web/app/models/configs/theme/sub_section.js |     5 +
 .../app/models/configs/theme/sub_section_tab.js    |     5 +
 .../app/models/configs/theme/theme_condition.js    |     5 +
 ambari-web/app/models/host_component.js            |    12 +-
 ambari-web/app/models/repository.js                |     2 +
 ambari-web/app/models/service.js                   |     2 +-
 ambari-web/app/models/service/hdfs.js              |    29 +-
 ambari-web/app/models/stack_service.js             |    10 +-
 ambari-web/app/models/stack_service_component.js   |    27 +-
 ambari-web/app/models/stack_version/repository.js  |    38 -
 ambari-web/app/models/upgrade_entity.js            |     5 +
 ambari-web/app/models/widget.js                    |     1 +
 ambari-web/app/models/widget_layout.js             |     6 +-
 ambari-web/app/routes/add_host_routes.js           |    10 +-
 ambari-web/app/routes/add_kerberos_routes.js       |     6 +-
 ambari-web/app/routes/add_service_routes.js        |    57 +-
 ambari-web/app/routes/installer.js                 |     7 +-
 ambari-web/app/routes/main.js                      |    29 +-
 ambari-web/app/routes/manage_journalnode_routes.js |    24 +-
 .../app/routes/namenode_federation_routes.js       |    12 +-
 ambari-web/app/routes/reassign_master_routes.js    |     3 +-
 ambari-web/app/styles/alerts.less                  |    75 +-
 ambari-web/app/styles/application.less             |   457 +-
 ambari-web/app/styles/bootstrap_overrides.less     |    19 +-
 ambari-web/app/styles/common.less                  |    26 +-
 ambari-web/app/styles/config_versions_control.less |    21 +-
 ambari-web/app/styles/dashboard.less               |   327 +-
 .../app/styles/enhanced_service_dashboard.less     |    17 +-
 ambari-web/app/styles/hosts.less                   |    39 +-
 ambari-web/app/styles/modal_popups.less            |    11 +
 ambari-web/app/styles/service_configurations.less  |    33 +-
 ambari-web/app/styles/stack_versions.less          |   108 +-
 ambari-web/app/styles/theme/bootstrap-ambari.css   |     4 +-
 ambari-web/app/styles/top-nav.less                 |     3 +
 ambari-web/app/styles/visualsearch.less            |    53 +-
 ambari-web/app/styles/widgets.less                 |     4 +
 ambari-web/app/styles/wizard.less                  |   480 +-
 ambari-web/app/templates.js                        |     1 +
 ambari-web/app/templates/application.hbs           |    41 +-
 .../templates/common/assign_master_components.hbs  |     2 +
 .../app/templates/common/button_progress.hbs       |     4 +-
 .../common/configs/config_versions_control.hbs     |     8 +-
 .../common/configs/config_versions_dropdown.hbs    |    11 +-
 .../app/templates/common/configs/controls.hbs      |     6 +-
 .../common/configs/overriddenProperty.hbs          |     2 +-
 .../templates/common/configs/service_config.hbs    |    27 +-
 .../common/configs/service_config_wizard.hbs       |    10 +-
 .../templates/common/configs/services_config.hbs   |    54 +-
 .../templates/common/configs/widgets/controls.hbs  |     2 +-
 .../configs/widgets/controls/create_override.hbs   |     2 +-
 .../common/configs/widgets/controls/edit.hbs       |     2 +-
 .../configs/widgets/controls/remove_override.hbs   |     2 +-
 .../configs/widgets/controls/set_recommended.hbs   |     2 +-
 .../templates/common/form/check_db_connection.hbs  |    14 +-
 ambari-web/app/templates/common/form/dropdown.hbs  |     4 +-
 .../app/templates/common/host_progress_popup.hbs   |    12 +-
 .../common/modal_popups/widget_browser_popup.hbs   |     7 +-
 ambari-web/app/templates/common/progress.hbs       |    17 +-
 .../app/templates/common/widget/gauge_widget.hbs   |     9 +-
 .../app/templates/common/widget/graph_widget.hbs   |     9 +-
 .../app/templates/common/widget/number_widget.hbs  |     9 +-
 .../templates/common/widget/template_widget.hbs    |     9 +-
 .../app/templates/main/admin/federation/step1.hbs  |    10 +-
 .../admin/highAvailability/journalNode/step3.hbs   |    20 +-
 .../admin/highAvailability/journalNode/step5.hbs   |    13 +-
 .../admin/highAvailability/journalNode/step7.hbs   |    12 +-
 .../admin/highAvailability/journalNode/step8.hbs   |    18 -
 .../admin/highAvailability/journalNode/wizard.hbs  |     5 +-
 .../main/admin/highAvailability/nameNode/step1.hbs |     4 +-
 .../main/admin/highAvailability/nameNode/step3.hbs |     2 +-
 .../main/admin/highAvailability/nameNode/step4.hbs |     8 +-
 .../main/admin/highAvailability/nameNode/step6.hbs |     8 +-
 .../main/admin/highAvailability/nameNode/step8.hbs |    11 +-
 ambari-web/app/templates/main/admin/kerberos.hbs   |    60 +-
 .../app/templates/main/admin/kerberos/step1.hbs    |     3 +-
 .../app/templates/main/admin/kerberos/step2.hbs    |     4 +-
 .../app/templates/main/admin/kerberos/step3.hbs    |    12 +-
 .../app/templates/main/admin/kerberos/step4.hbs    |     4 +-
 .../app/templates/main/admin/kerberos/step5.hbs    |     6 +-
 .../templates/main/admin/service_auto_start.hbs    |     2 +-
 .../main/admin/stack_upgrade/upgrade_group.hbs     |     2 +-
 .../main/admin/stack_upgrade/upgrade_history.hbs   |     8 +-
 .../main/admin/stack_upgrade/upgrade_task.hbs      |     6 +-
 ambari-web/app/templates/main/alerts.hbs           |     2 +-
 .../alert_definition/alert_definition_summary.hbs  |     2 +-
 .../templates/main/alerts/definition_details.hbs   |   161 +-
 .../main/alerts/manage_alert_groups_popup.hbs      |     1 +
 ambari-web/app/templates/main/charts/heatmap.hbs   |    38 +-
 .../main/charts/heatmap/heatmap_host_detail.hbs    |    12 +-
 .../templates/main/dashboard/config_history.hbs    |     6 +-
 .../app/templates/main/dashboard/widgets.hbs       |    68 +-
 .../templates/main/dashboard/widgets/pie_chart.hbs |    28 +-
 .../main/dashboard/widgets/simple_text.hbs         |    32 +-
 .../templates/main/dashboard/widgets/uptime.hbs    |    20 +-
 ambari-web/app/templates/main/host.hbs             |    11 +-
 .../templates/main/host/details/host_component.hbs |     9 +-
 ambari-web/app/templates/main/host/host_alerts.hbs |     2 +-
 ambari-web/app/templates/main/host/summary.hbs     |    20 +-
 .../app/templates/main/service/info/metrics.hbs    |    29 +
 .../app/templates/main/service/info/summary.hbs    |    55 +-
 .../templates/main/service/info/summary/base.hbs   |     3 +-
 .../service/info/summary/hdfs/common_widgets.hbs   |    53 +
 .../main/service/info/summary/hdfs/slaves.hbs      |   139 +
 .../main/service/info/summary/hdfs/widgets.hbs     |    48 +-
 .../service/info/summary/master_components.hbs     |    10 +-
 .../app/templates/main/service/menu_item.hbs       |    16 +-
 .../app/templates/main/service/services/hdfs.hbs   |   137 +-
 .../app/templates/main/service/services/onefs.hbs  |   187 +
 .../app/templates/main/service/services/yarn.hbs   |    21 +-
 .../service/widgets/create/step2_add_metric.hbs    |    37 +-
 .../widgets/create/step2_component_dropdown.hbs    |    38 +
 .../config_launch_switch_config_group_of_host.hbs  |    12 +-
 .../templates/wizard/installer_cancel_button.hbs   |    26 +
 ambari-web/app/templates/wizard/step0.hbs          |     1 +
 .../app/templates/wizard/step1/editable_repo.hbs   |    29 +
 ambari-web/app/templates/wizard/step10.hbs         |     2 +-
 ambari-web/app/templates/wizard/step2.hbs          |     1 +
 ambari-web/app/templates/wizard/step3.hbs          |    23 +-
 .../step4/step4_service_validation_popup.hbs       |    19 +
 ambari-web/app/templates/wizard/step6.hbs          |    15 +-
 .../app/templates/wizard/step7/accounts_tab.hbs    |     4 +-
 .../app/templates/wizard/step7/directories_tab.hbs |     2 +-
 .../templates/wizard/step7_with_category_tabs.hbs  |     3 +-
 ambari-web/app/templates/wizard/step8.hbs          |     1 +
 ambari-web/app/utils/ajax/ajax.js                  |    85 +-
 ambari-web/app/utils/config.js                     |    63 +-
 .../utils/configs/modification_handlers/misc.js    |    20 +-
 .../configs/move_namenode_config_initializer.js    |     3 +-
 ambari-web/app/utils/db.js                         |     9 +
 ambari-web/app/utils/file_utils.js                 |    18 +
 ambari-web/app/utils/helper.js                     |    23 +
 ambari-web/app/utils/stomp_client.js               |    89 +-
 ambari-web/app/utils/string_utils.js               |    11 +
 ambari-web/app/utils/validator.js                  |     2 +-
 ambari-web/app/views.js                            |     5 +-
 .../views/common/assign_master_components_view.js  |     2 +
 .../configs/config_versions_dropdown_view.js       |     7 +-
 .../configs/service_config_layout_tab_view.js      |   111 -
 .../views/common/configs/service_config_view.js    |    56 +-
 .../configs/service_configs_by_category_view.js    |    74 +-
 .../app/views/common/configs/services_config.js    |    30 +
 .../configs/widgets/combo_config_widget_view.js    |    26 +-
 .../common/configs/widgets/config_widget_view.js   |   101 +-
 .../widgets/test_db_connection_widget_view.js      |    48 +
 ambari-web/app/views/common/controls_view.js       |    17 +-
 ambari-web/app/views/common/editable_list.js       |     8 +-
 ambari-web/app/views/common/filter_view.js         |    20 +-
 ambari-web/app/views/common/form/dropdown.js       |    10 +-
 .../views/common/host_progress_popup_body_view.js  |     8 +-
 .../views/common/modal_popups/log_tail_popup.js    |     9 +-
 .../app/views/common/quick_view_link_view.js       |   108 +-
 .../app/views/common/widget/heatmap_widget_view.js |     4 +-
 ambari-web/app/views/loading.js                    |     5 +-
 .../app/views/main/admin/federation/step1_view.js  |     4 +-
 .../app/views/main/admin/federation/step2_view.js  |     2 +
 .../highAvailability/journalNode/step3_view.js     |    72 +-
 .../highAvailability/journalNode/step5_view.js     |    33 +-
 .../highAvailability/journalNode/step7_view.js     |     9 +-
 .../highAvailability/journalNode/step8_view.js     |    29 -
 .../main/admin/stack_upgrade/upgrade_group_view.js |     9 +-
 .../admin/stack_upgrade/upgrade_history_view.js    |     6 +-
 .../main/admin/stack_upgrade/upgrade_task_view.js  |    49 +-
 .../alert_definition/alert_definition_summary.js   |     2 +
 .../main/alerts/alert_instances_popup_view.js      |     4 +-
 .../views/main/alerts/definition_details_view.js   |     2 +-
 .../app/views/main/charts/heatmap/heatmap_host.js  |    47 +-
 .../views/main/dashboard/config_history_view.js    |     7 +-
 ambari-web/app/views/main/dashboard/widget.js      |    25 +-
 ambari-web/app/views/main/dashboard/widgets.js     |   409 +-
 .../views/main/dashboard/widgets/hdfs_capacity.js  |    12 +-
 .../app/views/main/dashboard/widgets/hdfs_links.js |     6 +-
 .../views/main/dashboard/widgets/namenode_cpu.js   |     7 +-
 .../views/main/dashboard/widgets/namenode_heap.js  |     4 +-
 .../views/main/dashboard/widgets/namenode_rpc.js   |     9 +-
 .../main/dashboard/widgets/namenode_uptime.js      |     2 +-
 .../views/main/dashboard/widgets/text_widget.js    |     2 +
 .../main/dashboard/widgets/yarn_containers.js      |    85 +
 ambari-web/app/views/main/host.js                  |    10 +-
 ambari-web/app/views/main/host/combo_search_box.js |    19 +-
 ambari-web/app/views/main/host/details.js          |     2 +-
 .../views/main/host/details/host_component_view.js |     2 +-
 .../details/host_component_views/datanode_view.js  |    74 +-
 ambari-web/app/views/main/host/logs_view.js        |    10 +-
 ambari-web/app/views/main/host/summary.js          |    62 +-
 ambari-web/app/views/main/menu.js                  |    14 +-
 .../main/service/info/components_list_view.js      |     3 +
 .../app/views/main/service/info/metrics_view.js    |    31 +-
 ambari-web/app/views/main/service/info/summary.js  |    43 +-
 .../service/info/summary/hdfs/common_widgets.js    |    77 +
 .../views/main/service/info/summary/hdfs/slaves.js |    63 +
 .../main/service/info/summary/hdfs/widgets.js      |    96 +-
 ambari-web/app/views/main/service/item.js          |    30 +
 .../main/service/manage_config_groups_view.js      |     2 +-
 ambari-web/app/views/main/service/services/hdfs.js |    44 +-
 ambari-web/app/views/main/service/services/hive.js |     7 +-
 .../app/views/main/service/services/onefs.js       |   189 +
 .../main/service/widgets/create/expression_view.js |   104 +-
 .../main/service/widgets/create/step2_view.js      |    10 +
 .../wizard/step3/hostWarningPopupBody_view.js      |     3 +
 ambari-web/app/views/wizard/step3_view.js          |     3 +
 ambari-web/app/views/wizard/step6_view.js          |    10 +
 .../app/views/wizard/step7/accounts_tab_view.js    |    14 +-
 .../app/views/wizard/step7/databases_tab_view.js   |    41 +-
 .../app/views/wizard/step7/directories_tab_view.js |     9 +-
 ambari-web/app/views/wizard/step7_view.js          |     1 +
 ambari-web/brunch-config.js                        |     6 +-
 ambari-web/package.json                            |    13 +-
 .../global/background_operations_test.js           |    11 +-
 .../controllers/global/cluster_controller_test.js  |    29 +-
 .../global/configuration_controller_test.js        |   109 +
 .../controllers/global/update_controller_test.js   |    22 +-
 ambari-web/test/controllers/installer_test.js      |   121 +
 .../journalNode/step4_controller_test.js           |    22 -
 .../journalNode/step6_controller_test.js           |    55 +-
 .../journalNode/step7_controller_test.js           |    14 +-
 .../journalNode/step8_controller_test.js           |    61 -
 .../nameNode/step7_controller_test.js              |    26 +-
 .../main/admin/highAvailability_controller_test.js |    10 +-
 .../kerberos/kerberos_wizard_controler_test.js     |     4 -
 .../main/admin/kerberos/step5_controller_test.js   |    38 -
 .../main/admin/kerberos/step7_controller_test.js   |    38 -
 .../main/admin/service_auto_start_test.js          |     1 -
 .../admin/stack_upgrade_history_controller_test.js |    53 +
 .../charts/heatmap_metrics/heatmap_metric_test.js  |    20 +-
 .../dashboard/config_history_controller_test.js    |     4 +-
 .../test/controllers/main/host/details_test.js     |    94 +
 ambari-web/test/controllers/main/host_test.js      |    45 -
 .../test/controllers/main/service/item_test.js     |    69 +-
 .../widgets/create/step2_controller_test.js        |     4 +-
 ambari-web/test/controllers/main_test.js           |    21 +-
 .../wizard/step7/assign_master_controller_test.js  |   120 +-
 ambari-web/test/controllers/wizard/step7_test.js   |    37 +-
 ambari-web/test/controllers/wizard/step8_test.js   |     8 +
 .../test/mappers/components_state_mapper_test.js   |     2 +
 .../test/mappers/configs/themes_mapper_test.js     |    37 +-
 .../test/mappers/service_metrics_mapper_test.js    |   100 +
 .../socket/alert_groups_mapper_adapter_test.js     |    10 +-
 .../mappers/socket/alert_summary_mapper_test.js    |     6 +-
 .../test/mappers/socket/topology_mapper_test.js    |     2 +-
 .../mixins/common/configs/enhanced_configs_test.js |     9 +-
 .../test/mixins/common/serverValidator_test.js     |     6 +
 ambari-web/test/mixins/common/widget_mixin_test.js |    45 +
 .../configs/component_actions_by_configs_test.js   |    52 +-
 .../test/mixins/wizard/addSeccurityConfigs_test.js |   105 +
 .../test/models/configs/config_group_test.js       |     2 +-
 .../models/configs/objects/service_config_test.js  |     9 +-
 .../test/models/stack_service_component_test.js    |     4 +-
 ambari-web/test/utils/stomp_client_test.js         |    49 +-
 ambari-web/test/utils/string_utils_test.js         |    13 +
 .../configs/widgets/config_widget_view_test.js     |    44 +-
 .../test/views/common/quick_link_view_test.js      |   109 +-
 .../common/widget/heatmap_widget_view_test.js      |     4 +-
 .../admin/stack_upgrade/upgrade_task_view_test.js  |    42 +-
 .../views/main/charts/heatmap/heatmap_host_test.js |    62 +-
 .../test/views/main/dashboard/widget_test.js       |    21 +-
 .../main/dashboard/widgets/namenode_rpc_test.js    |    13 +-
 .../test/views/main/dashboard/widgets_test.js      |    30 +-
 .../test/views/main/host/combo_search_box_test.js  |    44 -
 .../main/host/details/host_component_view_test.js  |     9 +-
 .../host_component_views/datanode_view_test.js     |   153 +-
 .../host_component_views/decommissionable_test.js  |    19 -
 ambari-web/test/views/main/host/logs_view_test.js  |     4 +-
 ambari-web/test/views/main/host/summary_test.js    |    16 +-
 ambari-web/test/views/main/host_test.js            |    19 -
 .../views/main/service/info/metrics_view_test.js   |    16 +-
 .../main/service/info/summary/hdfs/slaves_test.js  |    79 +
 .../test/views/main/service/info/summary_test.js   |     4 +
 ambari-web/test/views/main/service/item_test.js    |     2 +-
 .../test/views/main/service/services/hdfs_test.js  |    40 -
 ambari-web/vendor/scripts/jszip.min.js             |    15 +
 .../vendor/scripts/theme/bootstrap-ambari.js       |     6 +-
 ambari-web/yarn.lock                               |   447 +-
 contrib/ambari-log4j/pom.xml                       |     1 -
 .../apache/ambari/fast_hdfs_resource/Resource.java |     9 +
 .../apache/ambari/fast_hdfs_resource/Runner.java   |   110 +-
 .../HDF/2.0/hooks/before-START/scripts/params.py   |     6 +
 .../templates/hadoop-metrics2.properties.j2        |    10 +-
 .../stacks/HDF/2.0/services/stack_advisor.py       |     1 +
 .../management-packs/isilon-onefs-mpack/pom.xml    |     2 +-
 .../ONEFS/1.0.0/package/scripts/params_linux.py    |     4 -
 .../addon-services/ONEFS/1.0.0/service_advisor.py  |    22 +-
 .../src/main/resources/mpack.json                  |     5 +-
 .../ODPi/2.0/hooks/before-START/scripts/params.py  |    19 +
 .../ODPi/2.0/services/HIVE/package/scripts/hive.py |     2 +-
 .../HIVE/package/scripts/hive_interactive.py       |     2 +-
 .../services/HIVE/package/scripts/params_linux.py  |     9 +
 .../hadoop-metrics2-hivemetastore.properties.j2    |    10 +-
 .../hadoop-metrics2-hiveserver2.properties.j2      |    10 +-
 .../templates/hadoop-metrics2-llapdaemon.j2        |    11 +-
 .../templates/hadoop-metrics2-llaptaskscheduler.j2 |     9 +-
 .../src/main/python/preinstall_checker.py          |     6 +-
 contrib/version-builder/version_builder.py         |     2 +-
 .../src/main/resources/ui/.bowerrc                 |     5 +
 .../capacity-scheduler/src/main/resources/view.xml |     2 +-
 .../resources/ui/hdfs-directory-viewer/.bowerrc    |     3 +-
 contrib/views/files/src/main/resources/ui/.bowerrc |     3 +-
 .../main/resources/ui/app/adapters/application.js  |    23 +-
 .../main/resources/ui/app/services/file-preview.js |     5 +-
 .../src/main/resources/ui/app/styles/app.less      |     3 +
 contrib/views/files/src/main/resources/view.xml    |     2 +-
 contrib/views/hawq/.gitignore                      |    19 -
 contrib/views/hawq/README.md                       |    64 -
 contrib/views/hawq/pom.xml                         |   271 -
 .../apache/ambari/view/hawq/HAWQDataSource.java    |    94 -
 .../apache/ambari/view/hawq/JsonApiResource.java   |    98 -
 .../org/apache/ambari/view/hawq/QueryResource.java |    36 -
 .../ambari/view/hawq/QueryResourceProvider.java    |   225 -
 .../org/apache/ambari/view/hawq/QueryService.java  |    70 -
 contrib/views/hawq/src/main/resources/ui/.bowerrc  |     4 -
 .../views/hawq/src/main/resources/ui/.editorconfig |    34 -
 .../views/hawq/src/main/resources/ui/.ember-cli    |    27 -
 .../views/hawq/src/main/resources/ui/.gitignore    |    19 -
 contrib/views/hawq/src/main/resources/ui/.jshintrc |    32 -
 .../src/main/resources/ui/app/adapters/query.js    |    31 -
 .../views/hawq/src/main/resources/ui/app/app.js    |    36 -
 .../resources/ui/app/components/query-table.js     |    30 -
 .../src/main/resources/ui/app/controllers/.gitkeep |     0
 .../src/main/resources/ui/app/helpers/.gitkeep     |     0
 .../hawq/src/main/resources/ui/app/index.html      |    42 -
 .../hawq/src/main/resources/ui/app/models/query.js |    47 -
 .../hawq/src/main/resources/ui/app/resolver.js     |    21 -
 .../views/hawq/src/main/resources/ui/app/router.js |    30 -
 .../main/resources/ui/app/routes/application.js    |    24 -
 .../hawq/src/main/resources/ui/app/routes/main.js  |    40 -
 .../src/main/resources/ui/app/serializers/query.js |    70 -
 .../hawq/src/main/resources/ui/app/styles/app.scss |    61 -
 .../resources/ui/app/templates/application.hbs     |    22 -
 .../ui/app/templates/components/query-table.hbs    |    59 -
 .../src/main/resources/ui/app/templates/main.hbs   |    20 -
 .../hawq/src/main/resources/ui/app/utils/utils.js  |    76 -
 .../views/hawq/src/main/resources/ui/bower.json    |    13 -
 .../src/main/resources/ui/config/environment.js    |    69 -
 .../hawq/src/main/resources/ui/ember-cli-build.js  |    51 -
 .../views/hawq/src/main/resources/ui/package.json  |    49 -
 .../main/resources/ui/public/assets/logo-hawq.png  |   Bin 1897 -> 0 bytes
 contrib/views/hawq/src/main/resources/ui/testem.js |    33 -
 .../hawq/src/main/resources/ui/tests/.jshintrc     |    52 -
 .../ui/tests/acceptance/application-test.js        |    54 -
 .../main/resources/ui/tests/helpers/destroy-app.js |    23 -
 .../ui/tests/helpers/module-for-acceptance.js      |    52 -
 .../main/resources/ui/tests/helpers/resolver.js    |    29 -
 .../main/resources/ui/tests/helpers/start-app.js   |    36 -
 .../main/resources/ui/tests/helpers/test-helper.js |   139 -
 .../hawq/src/main/resources/ui/tests/index.html    |    51 -
 .../integration/components/query-table-test.js     |   115 -
 .../src/main/resources/ui/tests/test-helper.js     |    22 -
 .../resources/ui/tests/unit/adapters/query-test.js |    35 -
 .../resources/ui/tests/unit/models/query-test.js   |    55 -
 .../resources/ui/tests/unit/routes/main-test.js    |    26 -
 .../ui/tests/unit/serializers/query-test.js        |    99 -
 .../resources/ui/tests/unit/utils/utils-test.js    |    93 -
 .../hawq/src/main/resources/ui/vendor/.gitkeep     |     0
 contrib/views/hawq/src/main/resources/ui/yarn.lock |  6665 ---
 .../hawq/src/main/resources/view.log4j.properties  |    27 -
 contrib/views/hawq/src/main/resources/view.xml     |    70 -
 .../ambari/view/hawq/HAWQDataSourceTest.java       |   170 -
 .../view/hawq/QueryResourceProviderTest.java       |   200 -
 contrib/views/hive-next/pom.xml                    |   391 -
 .../org/apache/ambari/view/hive2/AuthParams.java   |   102 -
 .../org/apache/ambari/view/hive2/BaseService.java  |    54 -
 .../ambari/view/hive2/ConnectionDelegate.java      |    37 -
 .../ambari/view/hive2/ConnectionFactory.java       |   167 -
 .../apache/ambari/view/hive2/ConnectionSystem.java |   135 -
 .../org/apache/ambari/view/hive2/DataMigrator.java |   101 -
 .../org/apache/ambari/view/hive2/HelpService.java  |   150 -
 .../view/hive2/HiveJdbcConnectionDelegate.java     |   106 -
 .../org/apache/ambari/view/hive2/HiveViewImpl.java |    52 -
 .../ambari/view/hive2/PropertyValidator.java       |   107 -
 .../org/apache/ambari/view/hive2/TestBean.java     |    36 -
 .../apache/ambari/view/hive2/actor/DeathWatch.java |    55 -
 .../apache/ambari/view/hive2/actor/HiveActor.java  |    46 -
 .../ambari/view/hive2/actor/JdbcConnector.java     |   645 -
 .../ambari/view/hive2/actor/LogAggregator.java     |   125 -
 .../view/hive2/actor/OperationController.java      |   408 -
 .../ambari/view/hive2/actor/ResultSetIterator.java |   167 -
 .../ambari/view/hive2/actor/StatementExecutor.java |   153 -
 .../view/hive2/actor/YarnAtsGUIDFetcher.java       |    71 -
 .../ambari/view/hive2/actor/message/Connect.java   |    77 -
 .../view/hive2/actor/message/CursorReset.java      |    22 -
 .../view/hive2/actor/message/ExecuteJob.java       |    38 -
 .../view/hive2/actor/message/ExecuteQuery.java     |    23 -
 .../view/hive2/actor/message/FetchError.java       |    42 -
 .../view/hive2/actor/message/FetchResult.java      |    42 -
 .../hive2/actor/message/GetColumnMetadataJob.java  |    59 -
 .../view/hive2/actor/message/GetMoreLogs.java      |    22 -
 .../ambari/view/hive2/actor/message/HiveJob.java   |    48 -
 .../view/hive2/actor/message/HiveMessage.java      |    53 -
 .../view/hive2/actor/message/JobRejected.java      |    44 -
 .../view/hive2/actor/message/JobSubmitted.java     |    38 -
 .../actor/message/LogAggregationFinished.java      |    21 -
 .../view/hive2/actor/message/RegisterActor.java    |    34 -
 .../view/hive2/actor/message/ResetCursor.java      |    22 -
 .../hive2/actor/message/ResultInformation.java     |    83 -
 .../view/hive2/actor/message/ResultNotReady.java   |    40 -
 .../view/hive2/actor/message/ResultReady.java      |    44 -
 .../view/hive2/actor/message/RunStatement.java     |    73 -
 .../view/hive2/actor/message/SQLStatementJob.java  |    65 -
 .../hive2/actor/message/StartLogAggregation.java   |    42 -
 .../actor/message/job/AsyncExecutionFailed.java    |    46 -
 .../view/hive2/actor/message/job/CancelJob.java    |    40 -
 .../actor/message/job/ExecuteNextStatement.java    |    22 -
 .../hive2/actor/message/job/ExecutionFailed.java   |    31 -
 .../view/hive2/actor/message/job/Failure.java      |    37 -
 .../view/hive2/actor/message/job/FetchFailed.java  |    31 -
 .../ambari/view/hive2/actor/message/job/Next.java  |    22 -
 .../view/hive2/actor/message/job/NoMoreItems.java  |    35 -
 .../view/hive2/actor/message/job/NoResult.java     |    21 -
 .../view/hive2/actor/message/job/Result.java       |    43 -
 .../hive2/actor/message/job/ResultSetHolder.java   |    33 -
 .../actor/message/job/SaveDagInformation.java      |    52 -
 .../view/hive2/actor/message/job/SaveGuidToDB.java |    46 -
 .../hive2/actor/message/job/UpdateYarnAtsGuid.java |    44 -
 .../hive2/actor/message/lifecycle/CleanUp.java     |    21 -
 .../actor/message/lifecycle/DestroyConnector.java  |    52 -
 .../actor/message/lifecycle/FreeConnector.java     |    53 -
 .../actor/message/lifecycle/InactivityCheck.java   |    21 -
 .../hive2/actor/message/lifecycle/KeepAlive.java   |    21 -
 .../lifecycle/TerminateInactivityCheck.java        |    21 -
 .../backgroundjobs/BackgroundJobController.java    |   113 -
 .../backgroundjobs/BackgroundJobException.java     |    30 -
 .../ambari/view/hive2/client/AsyncJobRunner.java   |    38 -
 .../view/hive2/client/AsyncJobRunnerImpl.java      |   143 -
 .../view/hive2/client/ColumnDescription.java       |    45 -
 .../hive2/client/ColumnDescriptionExtended.java    |    74 -
 .../view/hive2/client/ColumnDescriptionShort.java  |    53 -
 .../ambari/view/hive2/client/ConnectionConfig.java |    59 -
 .../apache/ambari/view/hive2/client/Cursor.java    |    30 -
 .../ambari/view/hive2/client/DDLDelegator.java     |    38 -
 .../ambari/view/hive2/client/DDLDelegatorImpl.java |   255 -
 .../ambari/view/hive2/client/EmptyCursor.java      |   110 -
 .../view/hive2/client/HiveAuthCredentials.java     |    31 -
 .../hive2/client/HiveAuthRequiredException.java    |    27 -
 .../client/HiveClientAuthRequiredException.java    |    25 -
 .../view/hive2/client/HiveClientException.java     |    25 -
 .../hive2/client/HiveClientRuntimeException.java   |    25 -
 .../view/hive2/client/NonPersistentCursor.java     |   156 -
 .../ambari/view/hive2/client/PersistentCursor.java |    87 -
 .../org/apache/ambari/view/hive2/client/Row.java   |    74 -
 .../hive2/exceptions/NotConnectedException.java    |    28 -
 .../view/hive2/internal/AsyncExecutionFailure.java |    23 -
 .../view/hive2/internal/AsyncExecutionSuccess.java |    25 -
 .../ambari/view/hive2/internal/Connectable.java    |    65 -
 .../view/hive2/internal/ConnectionException.java   |    25 -
 .../view/hive2/internal/ConnectionProperties.java  |    94 -
 .../view/hive2/internal/ConnectionSupplier.java    |    37 -
 .../view/hive2/internal/ContextSupplier.java       |    37 -
 .../view/hive2/internal/DataStorageSupplier.java   |    42 -
 .../view/hive2/internal/DefaultSupplier.java       |    62 -
 .../apache/ambari/view/hive2/internal/Either.java  |    79 -
 .../view/hive2/internal/HdfsApiSupplier.java       |    71 -
 .../view/hive2/internal/HiveConnectionWrapper.java |   152 -
 .../ambari/view/hive2/internal/HiveQuery.java      |    71 -
 .../ambari/view/hive2/internal/HiveResult.java     |   160 -
 .../ambari/view/hive2/internal/HiveTask.java       |    53 -
 .../view/hive2/internal/HiveTaskMessage.java       |   118 -
 .../view/hive2/internal/SafeViewContext.java       |   181 -
 .../view/hive2/persistence/DataStoreStorage.java   |   140 -
 .../view/hive2/persistence/IStorageFactory.java    |    23 -
 .../hive2/persistence/InstanceKeyValueStorage.java |   132 -
 .../view/hive2/persistence/KeyValueStorage.java    |   163 -
 .../hive2/persistence/LocalKeyValueStorage.java    |    69 -
 .../hive2/persistence/PersistentConfiguration.java |    52 -
 .../ambari/view/hive2/persistence/Storage.java     |    77 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../hive2/persistence/utils/FilteringStrategy.java |    32 -
 .../view/hive2/persistence/utils/Indexed.java      |    36 -
 .../view/hive2/persistence/utils/ItemNotFound.java |    43 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    38 -
 .../ambari/view/hive2/persistence/utils/Owned.java |    36 -
 .../hive2/persistence/utils/PersonalResource.java  |    22 -
 .../hive2/persistence/utils/StorageFactory.java    |    69 -
 .../view/hive2/resources/CRUDResourceManager.java  |   131 -
 .../view/hive2/resources/IResourceManager.java     |    37 -
 .../resources/PersonalCRUDResourceManager.java     |    99 -
 .../hive2/resources/SharedCRUDResourceManager.java |    44 -
 .../hive2/resources/browser/ConnectionService.java |   155 -
 .../resources/browser/HiveBrowserService.java      |   263 -
 .../view/hive2/resources/files/FileResource.java   |    70 -
 .../view/hive2/resources/files/FileService.java    |   283 -
 .../view/hive2/resources/jobs/Aggregator.java      |   391 -
 .../hive2/resources/jobs/JobResourceProvider.java  |   117 -
 .../view/hive2/resources/jobs/JobService.java      |   624 -
 .../resources/jobs/ModifyNotificationDelegate.java |    23 -
 .../jobs/ModifyNotificationInvocationHandler.java  |    40 -
 .../jobs/NoOperationStatusSetException.java        |    23 -
 .../hive2/resources/jobs/ProgressRetriever.java    |    66 -
 .../jobs/ResultsPaginationController.java          |   287 -
 .../hive2/resources/jobs/atsJobs/ATSParser.java    |   248 -
 .../resources/jobs/atsJobs/ATSParserFactory.java   |    43 -
 .../jobs/atsJobs/ATSRequestsDelegate.java          |    47 -
 .../jobs/atsJobs/ATSRequestsDelegateImpl.java      |   175 -
 .../hive2/resources/jobs/atsJobs/HiveQueryId.java  |    42 -
 .../hive2/resources/jobs/atsJobs/IATSParser.java   |    39 -
 .../hive2/resources/jobs/atsJobs/TezDagId.java     |    26 -
 .../hive2/resources/jobs/atsJobs/TezVertexId.java  |    24 -
 .../view/hive2/resources/jobs/rm/RMParser.java     |   129 -
 .../hive2/resources/jobs/rm/RMParserFactory.java   |    48 -
 .../resources/jobs/rm/RMRequestsDelegate.java      |    31 -
 .../resources/jobs/rm/RMRequestsDelegateImpl.java  |    99 -
 .../jobs/viewJobs/IJobControllerFactory.java       |    23 -
 .../view/hive2/resources/jobs/viewJobs/Job.java    |   131 -
 .../resources/jobs/viewJobs/JobController.java     |    44 -
 .../jobs/viewJobs/JobControllerFactory.java        |    40 -
 .../resources/jobs/viewJobs/JobControllerImpl.java |   327 -
 .../hive2/resources/jobs/viewJobs/JobImpl.java     |   335 -
 .../hive2/resources/jobs/viewJobs/JobInfo.java     |    78 -
 .../jobs/viewJobs/JobResourceManager.java          |    93 -
 .../resources/resources/FileResourceItem.java      |    78 -
 .../resources/FileResourceResourceManager.java     |    65 -
 .../resources/FileResourceResourceProvider.java    |   110 -
 .../resources/resources/FileResourceService.java   |   180 -
 .../hive2/resources/savedQueries/SavedQuery.java   |    96 -
 .../savedQueries/SavedQueryResourceManager.java    |   162 -
 .../savedQueries/SavedQueryResourceProvider.java   |   113 -
 .../resources/savedQueries/SavedQueryService.java  |   267 -
 .../ambari/view/hive2/resources/udfs/UDF.java      |    87 -
 .../hive2/resources/udfs/UDFResourceManager.java   |    65 -
 .../hive2/resources/udfs/UDFResourceProvider.java  |   111 -
 .../view/hive2/resources/udfs/UDFService.java      |   193 -
 .../view/hive2/resources/uploads/CSVParams.java    |    74 -
 .../resources/uploads/ColumnDescriptionImpl.java   |   119 -
 .../view/hive2/resources/uploads/HiveFileType.java |    30 -
 .../hive2/resources/uploads/TableDataReader.java   |   111 -
 .../view/hive2/resources/uploads/TableInput.java   |    51 -
 .../resources/uploads/UploadFromHdfsInput.java     |   130 -
 .../hive2/resources/uploads/UploadService.java     |   582 -
 .../resources/uploads/parsers/DataParser.java      |    66 -
 .../uploads/parsers/EndOfDocumentException.java    |    41 -
 .../hive2/resources/uploads/parsers/IParser.java   |    34 -
 .../resources/uploads/parsers/ParseOptions.java    |    61 -
 .../resources/uploads/parsers/ParseUtils.java      |   213 -
 .../hive2/resources/uploads/parsers/Parser.java    |   162 -
 .../resources/uploads/parsers/PreviewData.java     |    56 -
 .../resources/uploads/parsers/RowIterator.java     |    98 -
 .../resources/uploads/parsers/RowMapIterator.java  |    29 -
 .../parsers/csv/commonscsv/CSVIterator.java        |    57 -
 .../uploads/parsers/csv/commonscsv/CSVParser.java  |    88 -
 .../parsers/csv/opencsv/OpenCSVIterator.java       |    56 -
 .../uploads/parsers/csv/opencsv/OpenCSVParser.java |    92 -
 .../uploads/parsers/json/JSONIterator.java         |   160 -
 .../resources/uploads/parsers/json/JSONParser.java |    85 -
 .../resources/uploads/parsers/xml/XMLIterator.java |   195 -
 .../resources/uploads/parsers/xml/XMLParser.java   |   102 -
 .../resources/uploads/query/DeleteQueryInput.java  |    48 -
 .../uploads/query/InsertFromQueryInput.java        |    92 -
 .../resources/uploads/query/LoadQueryInput.java    |    67 -
 .../resources/uploads/query/QueryGenerator.java    |   142 -
 .../hive2/resources/uploads/query/RowFormat.java   |    57 -
 .../hive2/resources/uploads/query/TableInfo.java   |    97 -
 .../hive2/utils/BadRequestFormattedException.java  |    27 -
 .../apache/ambari/view/hive2/utils/Constants.java  |    25 -
 .../ambari/view/hive2/utils/FilePaginator.java     |   127 -
 .../view/hive2/utils/HiveActorConfiguration.java   |    71 -
 .../hive2/utils/HiveClientFormattedException.java  |    26 -
 .../view/hive2/utils/LoggingOutputStream.java      |    85 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../hive2/utils/NotFoundFormattedException.java    |    27 -
 .../hive2/utils/ResultFetchFormattedException.java |    27 -
 .../utils/ResultNotReadyFormattedException.java    |    27 -
 .../ambari/view/hive2/utils/ServiceCheck.java      |   132 -
 .../hive2/utils/ServiceFormattedException.java     |   105 -
 .../view/hive2/utils/SharedObjectsFactory.java     |   197 -
 .../hive-next/src/main/resources/application.conf  |    57 -
 .../src/main/resources/ui/hive-web/.bowerrc        |     4 -
 .../src/main/resources/ui/hive-web/.editorconfig   |    34 -
 .../src/main/resources/ui/hive-web/.ember-cli      |    27 -
 .../src/main/resources/ui/hive-web/.gitignore      |    37 -
 .../src/main/resources/ui/hive-web/.jshintrc       |    33 -
 .../src/main/resources/ui/hive-web/.travis.yml     |    38 -
 .../src/main/resources/ui/hive-web/Brocfile.js     |    55 -
 .../src/main/resources/ui/hive-web/README.md       |    14 -
 .../ui/hive-web/app/adapters/application.js        |    72 -
 .../resources/ui/hive-web/app/adapters/database.js |    25 -
 .../ui/hive-web/app/adapters/file-upload.js        |    30 -
 .../resources/ui/hive-web/app/adapters/file.js     |    26 -
 .../ui/hive-web/app/adapters/service-check.js      |    47 -
 .../ui/hive-web/app/adapters/upload-table.js       |    89 -
 .../src/main/resources/ui/hive-web/app/app.js      |    34 -
 .../resources/ui/hive-web/app/components/.gitkeep  |     0
 .../app/components/alert-message-widget.js         |    35 -
 .../hive-web/app/components/collapsible-widget.js  |    38 -
 .../app/components/column-filter-widget.js         |    56 -
 .../hive-web/app/components/date-range-widget.js   |    98 -
 .../ui/hive-web/app/components/expander-widget.js  |    36 -
 .../ui/hive-web/app/components/extended-input.js   |    50 -
 .../ui/hive-web/app/components/file-upload.js      |    34 -
 .../ui/hive-web/app/components/input-header.js     |    61 -
 .../ui/hive-web/app/components/job-tr-view.js      |    41 -
 .../ui/hive-web/app/components/modal-widget.js     |    58 -
 .../ui/hive-web/app/components/navbar-widget.js    |    42 -
 .../ui/hive-web/app/components/no-bubbling.js      |    31 -
 .../ui/hive-web/app/components/notify-widget.js    |    31 -
 .../hive-web/app/components/number-range-widget.js |    79 -
 .../ui/hive-web/app/components/panel-widget.js     |    30 -
 .../ui/hive-web/app/components/popover-widget.js   |    34 -
 .../ui/hive-web/app/components/progress-widget.js  |    30 -
 .../ui/hive-web/app/components/query-editor.js     |   129 -
 .../ui/hive-web/app/components/query-settings.js   |    55 -
 .../ui/hive-web/app/components/radio-button.js     |    39 -
 .../ui/hive-web/app/components/select-widget.js    |    66 -
 .../ui/hive-web/app/components/tabs-widget.js      |    68 -
 .../ui/hive-web/app/components/tree-view.js        |    23 -
 .../ui/hive-web/app/components/typeahead-widget.js |   129 -
 .../ui/hive-web/app/components/udf-tr-view.js      |    81 -
 .../ui/hive-web/app/components/upload-query.js     |    31 -
 .../app/components/validated-text-field.js         |    62 -
 .../app/components/visualization-tabs-widget.js    |    56 -
 .../resources/ui/hive-web/app/controllers/.gitkeep |     0
 .../ui/hive-web/app/controllers/application.js     |    33 -
 .../ui/hive-web/app/controllers/databases.js       |   476 -
 .../ui/hive-web/app/controllers/history.js         |   257 -
 .../resources/ui/hive-web/app/controllers/index.js |   790 -
 .../app/controllers/index/history-query/explain.js |   164 -
 .../app/controllers/index/history-query/logs.js    |   127 -
 .../app/controllers/index/history-query/results.js |   238 -
 .../ui/hive-web/app/controllers/insert-udfs.js     |    58 -
 .../ui/hive-web/app/controllers/messages.js        |    41 -
 .../ui/hive-web/app/controllers/modal-delete.js    |    33 -
 .../hive-web/app/controllers/modal-save-query.js   |    42 -
 .../ui/hive-web/app/controllers/modal-save.js      |    34 -
 .../ui/hive-web/app/controllers/open-queries.js    |   412 -
 .../ui/hive-web/app/controllers/queries.js         |   145 -
 .../ui/hive-web/app/controllers/query-tabs.js      |   189 -
 .../ui/hive-web/app/controllers/splash.js          |   193 -
 .../ui/hive-web/app/controllers/tez-ui.js          |   106 -
 .../resources/ui/hive-web/app/controllers/udfs.js  |   143 -
 .../ui/hive-web/app/controllers/upload-table.js    |   964 -
 .../ui/hive-web/app/controllers/visual-explain.js  |    64 -
 .../hive-web/app/controllers/visualization-ui.js   |   136 -
 .../resources/ui/hive-web/app/helpers/.gitkeep     |     0
 .../ui/hive-web/app/helpers/all-uppercase.js       |    25 -
 .../ui/hive-web/app/helpers/code-helper.js         |    28 -
 .../ui/hive-web/app/helpers/date-binding.js        |    27 -
 .../ui/hive-web/app/helpers/format-column-type.js  |    39 -
 .../ui/hive-web/app/helpers/log-helper.js          |    28 -
 .../ui/hive-web/app/helpers/path-binding.js        |    29 -
 .../ui/hive-web/app/helpers/preformatted-string.js |    28 -
 .../resources/ui/hive-web/app/helpers/tb-helper.js |    33 -
 .../src/main/resources/ui/hive-web/app/index.html  |    42 -
 .../resources/ui/hive-web/app/initializers/i18n.js |   351 -
 .../resources/ui/hive-web/app/mixins/filterable.js |   106 -
 .../resources/ui/hive-web/app/mixins/sortable.js   |    31 -
 .../main/resources/ui/hive-web/app/models/.gitkeep |     0
 .../resources/ui/hive-web/app/models/database.js   |    25 -
 .../ui/hive-web/app/models/file-resource.js        |    25 -
 .../main/resources/ui/hive-web/app/models/file.js  |    26 -
 .../main/resources/ui/hive-web/app/models/job.js   |    55 -
 .../ui/hive-web/app/models/saved-query.js          |    29 -
 .../main/resources/ui/hive-web/app/models/udf.js   |    27 -
 .../src/main/resources/ui/hive-web/app/router.js   |    53 -
 .../main/resources/ui/hive-web/app/routes/.gitkeep |     0
 .../ui/hive-web/app/routes/application.js          |    77 -
 .../resources/ui/hive-web/app/routes/history.js    |    29 -
 .../app/routes/index/history-query/explain.js      |    28 -
 .../app/routes/index/history-query/index.js        |    44 -
 .../app/routes/index/history-query/logs.js         |    28 -
 .../app/routes/index/history-query/results.js      |    28 -
 .../ui/hive-web/app/routes/index/index.js          |    36 -
 .../ui/hive-web/app/routes/index/saved-query.js    |    43 -
 .../resources/ui/hive-web/app/routes/loading.js    |    22 -
 .../resources/ui/hive-web/app/routes/messages.js   |    22 -
 .../resources/ui/hive-web/app/routes/queries.js    |    40 -
 .../resources/ui/hive-web/app/routes/splash.js     |   133 -
 .../resources/ui/hive-web/app/routes/tez-ui.js     |    22 -
 .../main/resources/ui/hive-web/app/routes/udfs.js  |    36 -
 .../ui/hive-web/app/routes/visual-explain.js       |    22 -
 .../ui/hive-web/app/routes/visualization-ui.js     |    22 -
 .../ui/hive-web/app/serializers/database.js        |    41 -
 .../resources/ui/hive-web/app/serializers/file.js  |    23 -
 .../resources/ui/hive-web/app/services/database.js |   243 -
 .../resources/ui/hive-web/app/services/file.js     |    59 -
 .../resources/ui/hive-web/app/services/history.js  |   204 -
 .../ui/hive-web/app/services/job-progress.js       |   111 -
 .../main/resources/ui/hive-web/app/services/job.js |    56 -
 .../resources/ui/hive-web/app/services/ldap.js     |    59 -
 .../resources/ui/hive-web/app/services/notify.js   |   113 -
 .../resources/ui/hive-web/app/services/session.js  |    48 -
 .../resources/ui/hive-web/app/services/settings.js |   199 -
 .../main/resources/ui/hive-web/app/styles/.gitkeep |     0
 .../main/resources/ui/hive-web/app/styles/app.scss |   722 -
 .../ui/hive-web/app/styles/dropdown-submenu.scss   |    65 -
 .../resources/ui/hive-web/app/styles/mixins.scss   |    28 -
 .../ui/hive-web/app/styles/notifications.scss      |    37 -
 .../ui/hive-web/app/styles/query-tabs.scss         |    73 -
 .../resources/ui/hive-web/app/styles/vars.scss     |    21 -
 .../resources/ui/hive-web/app/templates/.gitkeep   |     0
 .../ui/hive-web/app/templates/application.hbs      |    45 -
 .../ui/hive-web/app/templates/components/.gitkeep  |     0
 .../templates/components/alert-message-widget.hbs  |    28 -
 .../templates/components/collapsible-widget.hbs    |    33 -
 .../templates/components/column-filter-widget.hbs  |    42 -
 .../app/templates/components/date-range-widget.hbs |    22 -
 .../app/templates/components/expander-widget.hbs   |    31 -
 .../app/templates/components/input-header.hbs      |    20 -
 .../app/templates/components/job-tr-view.hbs       |    49 -
 .../app/templates/components/modal-widget.hbs      |    35 -
 .../app/templates/components/navbar-widget.hbs     |    45 -
 .../app/templates/components/no-bubbling.hbs       |    19 -
 .../app/templates/components/notify-widget.hbs     |    21 -
 .../templates/components/number-range-widget.hbs   |    23 -
 .../app/templates/components/panel-widget.hbs      |    54 -
 .../app/templates/components/popover-widget.hbs    |    19 -
 .../app/templates/components/progress-widget.hbs   |    23 -
 .../app/templates/components/query-editor.hbs      |    19 -
 .../app/templates/components/query-settings.hbs    |    70 -
 .../app/templates/components/select-widget.hbs     |    39 -
 .../app/templates/components/tabs-widget.hbs       |    41 -
 .../app/templates/components/tree-view.hbs         |    28 -
 .../app/templates/components/udf-tr-view.hbs       |    77 -
 .../templates/components/validated-text-field.hbs  |    23 -
 .../components/visualization-tabs-widget.hbs       |    27 -
 .../app/templates/databases-search-results.hbs     |    54 -
 .../ui/hive-web/app/templates/databases-tree.hbs   |    50 -
 .../ui/hive-web/app/templates/databases.hbs        |    54 -
 .../ui/hive-web/app/templates/history.hbs          |    67 -
 .../resources/ui/hive-web/app/templates/index.hbs  |   124 -
 .../app/templates/index/history-query/explain.hbs  |    27 -
 .../app/templates/index/history-query/logs.hbs     |    19 -
 .../app/templates/index/history-query/results.hbs  |    56 -
 .../ui/hive-web/app/templates/insert-udfs.hbs      |    46 -
 .../ui/hive-web/app/templates/loading.hbs          |    19 -
 .../resources/ui/hive-web/app/templates/logs.hbs   |    19 -
 .../ui/hive-web/app/templates/message.hbs          |    36 -
 .../ui/hive-web/app/templates/messages.hbs         |    32 -
 .../ui/hive-web/app/templates/modal-delete.hbs     |    21 -
 .../ui/hive-web/app/templates/modal-save-query.hbs |    24 -
 .../ui/hive-web/app/templates/modal-save.hbs       |    21 -
 .../ui/hive-web/app/templates/notification.hbs     |    23 -
 .../ui/hive-web/app/templates/open-queries.hbs     |    27 -
 .../ui/hive-web/app/templates/queries.hbs          |    96 -
 .../ui/hive-web/app/templates/query-tabs.hbs       |    28 -
 .../ui/hive-web/app/templates/redirect.hbs         |    19 -
 .../resources/ui/hive-web/app/templates/splash.hbs |   127 -
 .../resources/ui/hive-web/app/templates/tez-ui.hbs |    31 -
 .../resources/ui/hive-web/app/templates/udfs.hbs   |    53 -
 .../ui/hive-web/app/templates/upload-table.hbs     |   296 -
 .../ui/hive-web/app/templates/visual-explain.hbs   |    93 -
 .../ui/hive-web/app/templates/visualization-ui.hbs |    37 -
 .../resources/ui/hive-web/app/transforms/date.js   |    49 -
 .../resources/ui/hive-web/app/utils/constants.js   |   231 -
 .../resources/ui/hive-web/app/utils/dag-rules.js   |   141 -
 .../resources/ui/hive-web/app/utils/functions.js   |   139 -
 .../main/resources/ui/hive-web/app/views/.gitkeep  |     0
 .../main/resources/ui/hive-web/app/views/index.js  |    28 -
 .../resources/ui/hive-web/app/views/message.js     |    36 -
 .../resources/ui/hive-web/app/views/messages.js    |    37 -
 .../ui/hive-web/app/views/notification.js          |    51 -
 .../main/resources/ui/hive-web/app/views/tez-ui.js |    37 -
 .../ui/hive-web/app/views/visual-explain.js        |   461 -
 .../ui/hive-web/app/views/visualization-ui.js      |    37 -
 .../src/main/resources/ui/hive-web/big_tables.js   |    54 -
 .../src/main/resources/ui/hive-web/bower.json      |    29 -
 .../resources/ui/hive-web/config/environment.js    |    70 -
 .../src/main/resources/ui/hive-web/package.json    |    48 -
 .../src/main/resources/ui/hive-web/testem.json     |    10 -
 .../src/main/resources/ui/hive-web/tests/.jshintrc |    74 -
 .../resources/ui/hive-web/tests/blanket-options.js |    36 -
 .../ui/hive-web/tests/helpers/api-mock.js          |   304 -
 .../resources/ui/hive-web/tests/helpers/dbclick.js |    26 -
 .../ui/hive-web/tests/helpers/resolver.js          |    29 -
 .../ui/hive-web/tests/helpers/start-app.js         |    43 -
 .../resources/ui/hive-web/tests/img/spinner.gif    |   Bin 11435 -> 0 bytes
 .../main/resources/ui/hive-web/tests/index.html    |    71 -
 .../ui/hive-web/tests/integration/database-test.js |   130 -
 .../ui/hive-web/tests/integration/history-test.js  |    95 -
 .../tests/integration/query-editor-test.js         |   126 -
 .../tests/integration/saved-queries-test.js        |   152 -
 .../ui/hive-web/tests/integration/tez-ui-test.js   |    49 -
 .../ui/hive-web/tests/integration/udfs-test.js     |   109 -
 .../resources/ui/hive-web/tests/test-helper.js     |    24 -
 .../main/resources/ui/hive-web/tests/unit/.gitkeep |     0
 .../ui/hive-web/tests/unit/adapters/application.js |    48 -
 .../ui/hive-web/tests/unit/adapters/file.js        |    39 -
 .../unit/components/alert-message-widget-test.js   |    91 -
 .../unit/components/collapsible-widget-test.js     |    46 -
 .../unit/components/column-filter-widget-test.js   |   138 -
 .../unit/components/date-range-widget-test.js      |   132 -
 .../tests/unit/components/expander-widget-test.js  |    59 -
 .../tests/unit/components/extended-input-test.js   |    81 -
 .../tests/unit/components/job-tr-view-test.js      |    62 -
 .../tests/unit/components/modal-widget-test.js     |    69 -
 .../tests/unit/components/no-bubbling-test.js      |    44 -
 .../unit/components/number-range-widget-test.js    |    70 -
 .../tests/unit/components/popover-widget-test.js   |    36 -
 .../tests/unit/components/progress-widget-test.js  |    40 -
 .../tests/unit/components/query-editor-test.js     |    52 -
 .../tests/unit/components/query-settings-test.js   |   136 -
 .../tests/unit/components/select-widget-test.js    |   158 -
 .../tests/unit/components/tabs-wiget-test.js       |   117 -
 .../tests/unit/components/typeahead-widget-test.js |    46 -
 .../tests/unit/components/udf-tr-view-test.js      |   122 -
 .../tests/unit/controllers/databases-test.js       |   276 -
 .../tests/unit/controllers/history-test.js         |   117 -
 .../hive-web/tests/unit/controllers/index-test.js  |   328 -
 .../tests/unit/controllers/insert-udfs-test.js     |    68 -
 .../tests/unit/controllers/open-queries-test.js    |   102 -
 .../tests/unit/controllers/queries-test.js         |    35 -
 .../hive-web/tests/unit/controllers/tez-ui-test.js |    98 -
 .../hive-web/tests/unit/controllers/udfs-test.js   |    82 -
 .../tests/unit/helpers/path-binding-test.js        |    35 -
 .../ui/hive-web/tests/unit/routes/messages-test.js |    53 -
 .../ui/hive-web/tests/unit/routes/tez-ui-test.js   |    49 -
 .../tests/unit/routes/visual-explain-test.js       |   106 -
 .../ui/hive-web/tests/unit/services/notify-test.js |   155 -
 .../hive-web/tests/unit/services/settings-test.js  |   155 -
 .../src/main/resources/ui/hive-web/vendor/.gitkeep |     0
 .../ui/hive-web/vendor/browser-pollyfills.js       |   213 -
 .../hive-web/vendor/codemirror/codemirror-min.js   |    17 -
 .../ui/hive-web/vendor/codemirror/codemirror.css   |   309 -
 .../ui/hive-web/vendor/codemirror/show-hint.css    |    38 -
 .../ui/hive-web/vendor/codemirror/show-hint.js     |   389 -
 .../ui/hive-web/vendor/codemirror/sql-hint.js      |   192 -
 .../main/resources/ui/hive-web/vendor/dagre.min.js |    27 -
 .../src/main/resources/ui/hive-web/yarn.lock       |  5066 --
 .../src/main/resources/view.log4j.properties       |    27 -
 .../views/hive-next/src/main/resources/view.xml    |   354 -
 .../ambari/view/hive2/AsyncJobRunnerImplTest.java  |   140 -
 .../ambari/view/hive2/ConnectionFailuresTest.java  |   157 -
 .../view/hive2/HiveJdbcConnectionDelegateTest.java |   105 -
 .../apache/ambari/view/hive2/JobExecutionTest.java |   116 -
 .../ambari/view/hive2/PropertyValidatorTest.java   |   113 -
 .../ambari/view/hive2/ResultSetIteratorTest.java   |   100 -
 .../view/hive2/resources/upload/CSVParserTest.java |   275 -
 .../hive2/resources/upload/DataParserCSVTest.java  |   326 -
 .../hive2/resources/upload/DataParserJSONTest.java |   263 -
 .../hive2/resources/upload/DataParserXMLTest.java  |   295 -
 .../hive2/resources/upload/JsonParserTest.java     |   146 -
 .../hive2/resources/upload/OpenCSVParserTest.java  |   313 -
 .../view/hive2/resources/upload/OpenCSVTest.java   |   245 -
 .../hive2/resources/upload/ParseUtilsTest.java     |    56 -
 .../hive2/resources/upload/QueryGeneratorTest.java |   108 -
 .../resources/upload/TableDataReaderTest.java      |   127 -
 .../view/hive2/resources/upload/XMLParserTest.java |   135 -
 contrib/views/hive20/pom.xml                       |   428 -
 .../org/apache/ambari/view/hive20/AuthParams.java  |   104 -
 .../org/apache/ambari/view/hive20/BaseService.java |    59 -
 .../ambari/view/hive20/ConnectionDelegate.java     |    41 -
 .../ambari/view/hive20/ConnectionFactory.java      |   167 -
 .../ambari/view/hive20/ConnectionSystem.java       |   135 -
 .../org/apache/ambari/view/hive20/Constants.java   |    25 -
 .../apache/ambari/view/hive20/DataMigrator.java    |   102 -
 .../org/apache/ambari/view/hive20/HelpService.java |   132 -
 .../view/hive20/HiveJdbcConnectionDelegate.java    |   112 -
 .../apache/ambari/view/hive20/HiveViewImpl.java    |    57 -
 .../ambari/view/hive20/PropertyValidator.java      |   107 -
 .../org/apache/ambari/view/hive20/TestBean.java    |    36 -
 .../ambari/view/hive20/actor/DeathWatch.java       |    55 -
 .../apache/ambari/view/hive20/actor/HiveActor.java |    46 -
 .../ambari/view/hive20/actor/JdbcConnector.java    |   696 -
 .../ambari/view/hive20/actor/LogAggregator.java    |   125 -
 .../view/hive20/actor/OperationController.java     |   408 -
 .../view/hive20/actor/ResultSetIterator.java       |   166 -
 .../view/hive20/actor/StatementExecutor.java       |   169 -
 .../view/hive20/actor/YarnAtsGUIDFetcher.java      |    71 -
 .../ambari/view/hive20/actor/message/Connect.java  |    77 -
 .../view/hive20/actor/message/CursorReset.java     |    22 -
 .../view/hive20/actor/message/ExecuteJob.java      |    38 -
 .../view/hive20/actor/message/ExecuteQuery.java    |    23 -
 .../view/hive20/actor/message/FetchError.java      |    42 -
 .../view/hive20/actor/message/FetchResult.java     |    42 -
 .../hive20/actor/message/GetColumnMetadataJob.java |    59 -
 .../actor/message/GetDatabaseMetadataJob.java      |    24 -
 .../view/hive20/actor/message/GetMoreLogs.java     |    22 -
 .../ambari/view/hive20/actor/message/HiveJob.java  |    48 -
 .../view/hive20/actor/message/HiveMessage.java     |    53 -
 .../view/hive20/actor/message/JobRejected.java     |    44 -
 .../view/hive20/actor/message/JobSubmitted.java    |    38 -
 .../actor/message/LogAggregationFinished.java      |    21 -
 .../view/hive20/actor/message/RegisterActor.java   |    34 -
 .../view/hive20/actor/message/ResetCursor.java     |    22 -
 .../hive20/actor/message/ResultInformation.java    |   102 -
 .../view/hive20/actor/message/ResultNotReady.java  |    40 -
 .../view/hive20/actor/message/ResultReady.java     |    44 -
 .../view/hive20/actor/message/RunStatement.java    |    73 -
 .../view/hive20/actor/message/SQLStatementJob.java |    64 -
 .../hive20/actor/message/StartLogAggregation.java  |    42 -
 .../actor/message/job/AsyncExecutionFailed.java    |    46 -
 .../actor/message/job/AuthenticationFailed.java    |    27 -
 .../view/hive20/actor/message/job/CancelJob.java   |    40 -
 .../actor/message/job/ExecuteNextStatement.java    |    22 -
 .../hive20/actor/message/job/ExecutionFailed.java  |    31 -
 .../view/hive20/actor/message/job/Failure.java     |    37 -
 .../view/hive20/actor/message/job/FetchFailed.java |    31 -
 .../ambari/view/hive20/actor/message/job/Next.java |    22 -
 .../view/hive20/actor/message/job/NoMoreItems.java |    35 -
 .../view/hive20/actor/message/job/NoResult.java    |    21 -
 .../view/hive20/actor/message/job/Result.java      |    58 -
 .../hive20/actor/message/job/ResultSetHolder.java  |    33 -
 .../actor/message/job/SaveDagInformation.java      |    52 -
 .../hive20/actor/message/job/SaveGuidToDB.java     |    46 -
 .../actor/message/job/UpdateYarnAtsGuid.java       |    44 -
 .../hive20/actor/message/lifecycle/CleanUp.java    |    21 -
 .../actor/message/lifecycle/DestroyConnector.java  |    52 -
 .../actor/message/lifecycle/FreeConnector.java     |    53 -
 .../actor/message/lifecycle/InactivityCheck.java   |    21 -
 .../hive20/actor/message/lifecycle/KeepAlive.java  |    21 -
 .../lifecycle/TerminateInactivityCheck.java        |    21 -
 .../backgroundjobs/BackgroundJobController.java    |   115 -
 .../backgroundjobs/BackgroundJobException.java     |    30 -
 .../ambari/view/hive20/client/AsyncJobRunner.java  |    38 -
 .../view/hive20/client/AsyncJobRunnerImpl.java     |   143 -
 .../view/hive20/client/ColumnDescription.java      |    45 -
 .../hive20/client/ColumnDescriptionExtended.java   |    74 -
 .../view/hive20/client/ColumnDescriptionShort.java |    53 -
 .../view/hive20/client/ConnectionConfig.java       |    59 -
 .../apache/ambari/view/hive20/client/Cursor.java   |    30 -
 .../ambari/view/hive20/client/DDLDelegator.java    |    46 -
 .../view/hive20/client/DDLDelegatorImpl.java       |   313 -
 .../hive20/client/DatabaseMetadataWrapper.java     |    37 -
 .../ambari/view/hive20/client/EmptyCursor.java     |   110 -
 .../view/hive20/client/HiveAuthCredentials.java    |    31 -
 .../hive20/client/HiveAuthRequiredException.java   |    27 -
 .../client/HiveClientAuthRequiredException.java    |    25 -
 .../view/hive20/client/HiveClientException.java    |    25 -
 .../hive20/client/HiveClientRuntimeException.java  |    25 -
 .../view/hive20/client/NonPersistentCursor.java    |   156 -
 .../view/hive20/client/PersistentCursor.java       |    87 -
 .../org/apache/ambari/view/hive20/client/Row.java  |    74 -
 .../hive20/exceptions/NotConnectedException.java   |    28 -
 .../view/hive20/exceptions/ServiceException.java   |    40 -
 .../hive20/internal/AsyncExecutionFailure.java     |    23 -
 .../hive20/internal/AsyncExecutionSuccess.java     |    25 -
 .../ambari/view/hive20/internal/Connectable.java   |    65 -
 .../view/hive20/internal/ConnectionException.java  |    25 -
 .../view/hive20/internal/ConnectionProperties.java |    94 -
 .../view/hive20/internal/ConnectionSupplier.java   |    37 -
 .../view/hive20/internal/ContextSupplier.java      |    37 -
 .../view/hive20/internal/DataStorageSupplier.java  |    42 -
 .../view/hive20/internal/DefaultSupplier.java      |    60 -
 .../apache/ambari/view/hive20/internal/Either.java |    79 -
 .../view/hive20/internal/HdfsApiSupplier.java      |    71 -
 .../hive20/internal/HiveConnectionWrapper.java     |   152 -
 .../ambari/view/hive20/internal/HiveQuery.java     |    71 -
 .../ambari/view/hive20/internal/HiveResult.java    |   160 -
 .../ambari/view/hive20/internal/HiveTask.java      |    53 -
 .../view/hive20/internal/HiveTaskMessage.java      |   118 -
 .../view/hive20/internal/SafeViewContext.java      |   179 -
 .../view/hive20/internal/dto/ColumnInfo.java       |   123 -
 .../view/hive20/internal/dto/ColumnOrder.java      |    54 -
 .../view/hive20/internal/dto/ColumnStats.java      |   175 -
 .../view/hive20/internal/dto/DatabaseInfo.java     |    85 -
 .../view/hive20/internal/dto/DatabaseResponse.java |    71 -
 .../hive20/internal/dto/DetailedTableInfo.java     |   124 -
 .../ambari/view/hive20/internal/dto/Order.java     |    37 -
 .../view/hive20/internal/dto/PartitionInfo.java    |    44 -
 .../ambari/view/hive20/internal/dto/Section.java   |    46 -
 .../view/hive20/internal/dto/StorageInfo.java      |   124 -
 .../ambari/view/hive20/internal/dto/TableInfo.java |    69 -
 .../ambari/view/hive20/internal/dto/TableMeta.java |   134 -
 .../view/hive20/internal/dto/TableResponse.java    |    53 -
 .../view/hive20/internal/dto/TableStats.java       |   111 -
 .../ambari/view/hive20/internal/dto/ViewInfo.java  |    52 -
 .../internal/parsers/AbstractTableMetaParser.java  |   177 -
 .../hive20/internal/parsers/ColumnInfoParser.java  |    97 -
 .../parsers/CreateTableStatementParser.java        |    38 -
 .../parsers/DatabaseMetadataExtractor.java         |    46 -
 .../internal/parsers/DetailedTableInfoParser.java  |    71 -
 .../view/hive20/internal/parsers/ParserUtils.java  |    52 -
 .../internal/parsers/PartitionInfoParser.java      |    76 -
 .../hive20/internal/parsers/StorageInfoParser.java |   100 -
 .../hive20/internal/parsers/TableMetaParser.java   |    31 -
 .../internal/parsers/TableMetaParserImpl.java      |   129 -
 .../internal/parsers/TableMetaSectionParser.java   |    30 -
 .../hive20/internal/parsers/ViewInfoParser.java    |    47 -
 .../query/generators/AlterTableQueryGenerator.java |   375 -
 .../generators/AnalyzeTableQueryGenerator.java     |    78 -
 .../generators/CreateDatabaseQueryGenerator.java   |    44 -
 .../generators/CreateTableQueryGenerator.java      |   168 -
 .../generators/DeleteDatabaseQueryGenerator.java   |    48 -
 .../generators/DeleteTableQueryGenerator.java      |    67 -
 .../generators/FetchColumnStatsQueryGenerator.java |    40 -
 .../query/generators/InsertFromQueryGenerator.java |   106 -
 .../query/generators/QueryGenerationUtils.java     |   154 -
 .../internal/query/generators/QueryGenerator.java  |    26 -
 .../generators/RenameTableQueryGenerator.java      |    85 -
 .../view/hive20/persistence/DataStoreStorage.java  |   140 -
 .../view/hive20/persistence/IStorageFactory.java   |    23 -
 .../persistence/InstanceKeyValueStorage.java       |   132 -
 .../view/hive20/persistence/KeyValueStorage.java   |   163 -
 .../hive20/persistence/LocalKeyValueStorage.java   |    69 -
 .../persistence/PersistentConfiguration.java       |    52 -
 .../ambari/view/hive20/persistence/Storage.java    |    77 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../persistence/utils/FilteringStrategy.java       |    32 -
 .../view/hive20/persistence/utils/Indexed.java     |    36 -
 .../hive20/persistence/utils/ItemNotFound.java     |    43 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    38 -
 .../view/hive20/persistence/utils/Owned.java       |    36 -
 .../hive20/persistence/utils/PersonalResource.java |    22 -
 .../hive20/persistence/utils/StorageFactory.java   |    69 -
 .../view/hive20/resources/CRUDResourceManager.java |   131 -
 .../view/hive20/resources/IResourceManager.java    |    37 -
 .../resources/PersonalCRUDResourceManager.java     |    99 -
 .../resources/SharedCRUDResourceManager.java       |    44 -
 .../resources/browser/ConnectionService.java       |   166 -
 .../view/hive20/resources/browser/DDLProxy.java    |   500 -
 .../view/hive20/resources/browser/DDLService.java  |   359 -
 .../view/hive20/resources/browser/FileService.java |    45 -
 .../view/hive20/resources/files/FileResource.java  |    70 -
 .../view/hive20/resources/files/FileService.java   |   282 -
 .../view/hive20/resources/jobs/Aggregator.java     |   382 -
 .../hive20/resources/jobs/JobResourceProvider.java |   117 -
 .../view/hive20/resources/jobs/JobService.java     |   596 -
 .../hive20/resources/jobs/JobServiceInternal.java  |    35 -
 .../resources/jobs/ModifyNotificationDelegate.java |    23 -
 .../jobs/ModifyNotificationInvocationHandler.java  |    40 -
 .../jobs/NoOperationStatusSetException.java        |    23 -
 .../hive20/resources/jobs/ProgressRetriever.java   |    66 -
 .../jobs/ResultsPaginationController.java          |   423 -
 .../hive20/resources/jobs/atsJobs/ATSParser.java   |   248 -
 .../resources/jobs/atsJobs/ATSParserFactory.java   |    42 -
 .../jobs/atsJobs/ATSRequestsDelegate.java          |    47 -
 .../jobs/atsJobs/ATSRequestsDelegateImpl.java      |   175 -
 .../hive20/resources/jobs/atsJobs/HiveQueryId.java |    42 -
 .../hive20/resources/jobs/atsJobs/IATSParser.java  |    39 -
 .../hive20/resources/jobs/atsJobs/TezDagId.java    |    26 -
 .../hive20/resources/jobs/atsJobs/TezVertexId.java |    24 -
 .../view/hive20/resources/jobs/rm/RMParser.java    |   129 -
 .../hive20/resources/jobs/rm/RMParserFactory.java  |    48 -
 .../resources/jobs/rm/RMRequestsDelegate.java      |    31 -
 .../resources/jobs/rm/RMRequestsDelegateImpl.java  |    99 -
 .../jobs/viewJobs/IJobControllerFactory.java       |    23 -
 .../view/hive20/resources/jobs/viewJobs/Job.java   |   131 -
 .../resources/jobs/viewJobs/JobController.java     |    44 -
 .../jobs/viewJobs/JobControllerFactory.java        |    40 -
 .../resources/jobs/viewJobs/JobControllerImpl.java |   328 -
 .../hive20/resources/jobs/viewJobs/JobImpl.java    |   339 -
 .../hive20/resources/jobs/viewJobs/JobInfo.java    |    78 -
 .../jobs/viewJobs/JobResourceManager.java          |    93 -
 .../resources/resources/FileResourceItem.java      |    78 -
 .../resources/FileResourceResourceManager.java     |    65 -
 .../resources/FileResourceResourceProvider.java    |   110 -
 .../resources/resources/FileResourceService.java   |   180 -
 .../hive20/resources/savedQueries/SavedQuery.java  |    96 -
 .../savedQueries/SavedQueryResourceManager.java    |   141 -
 .../savedQueries/SavedQueryResourceProvider.java   |   113 -
 .../resources/savedQueries/SavedQueryService.java  |   267 -
 .../view/hive20/resources/settings/Setting.java    |    71 -
 .../settings/SettingsResourceManager.java          |    97 -
 .../hive20/resources/settings/SettingsService.java |   145 -
 .../view/hive20/resources/system/ServiceCheck.java |   133 -
 .../hive20/resources/system/SystemService.java     |    77 -
 .../resources/system/ranger/RangerException.java   |    56 -
 .../resources/system/ranger/RangerService.java     |   379 -
 .../ambari/view/hive20/resources/udfs/UDF.java     |    87 -
 .../hive20/resources/udfs/UDFResourceManager.java  |    65 -
 .../hive20/resources/udfs/UDFResourceProvider.java |   111 -
 .../view/hive20/resources/udfs/UDFService.java     |   193 -
 .../view/hive20/resources/uploads/CSVParams.java   |    74 -
 .../resources/uploads/ColumnDescriptionImpl.java   |   119 -
 .../hive20/resources/uploads/HiveFileType.java     |    30 -
 .../hive20/resources/uploads/TableDataReader.java  |   112 -
 .../resources/uploads/UploadFromHdfsInput.java     |   132 -
 .../hive20/resources/uploads/UploadService.java    |   571 -
 .../resources/uploads/parsers/DataParser.java      |    66 -
 .../uploads/parsers/EndOfDocumentException.java    |    41 -
 .../hive20/resources/uploads/parsers/IParser.java  |    32 -
 .../resources/uploads/parsers/ParseOptions.java    |    61 -
 .../resources/uploads/parsers/ParseUtils.java      |   213 -
 .../hive20/resources/uploads/parsers/Parser.java   |   162 -
 .../resources/uploads/parsers/PreviewData.java     |    65 -
 .../resources/uploads/parsers/RowIterator.java     |    98 -
 .../resources/uploads/parsers/RowMapIterator.java  |    29 -
 .../parsers/csv/commonscsv/CSVIterator.java        |    57 -
 .../uploads/parsers/csv/commonscsv/CSVParser.java  |    88 -
 .../parsers/csv/opencsv/OpenCSVIterator.java       |    56 -
 .../uploads/parsers/csv/opencsv/OpenCSVParser.java |    92 -
 .../uploads/parsers/json/JSONIterator.java         |   160 -
 .../resources/uploads/parsers/json/JSONParser.java |    85 -
 .../resources/uploads/parsers/xml/XMLIterator.java |   195 -
 .../resources/uploads/parsers/xml/XMLParser.java   |   102 -
 .../resources/uploads/query/DeleteQueryInput.java  |    48 -
 .../uploads/query/InsertFromQueryInput.java        |   115 -
 .../resources/uploads/query/LoadQueryInput.java    |    67 -
 .../view/hive20/utils/AuthorizationChecker.java    |    74 -
 .../hive20/utils/BadRequestFormattedException.java |    27 -
 .../ambari/view/hive20/utils/FilePaginator.java    |   127 -
 .../view/hive20/utils/HiveActorConfiguration.java  |    71 -
 .../hive20/utils/HiveClientFormattedException.java |    26 -
 .../view/hive20/utils/LoggingOutputStream.java     |    85 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../hive20/utils/NotFoundFormattedException.java   |    27 -
 .../utils/ResultFetchFormattedException.java       |    27 -
 .../utils/ResultNotReadyFormattedException.java    |    27 -
 .../hive20/utils/ServiceFormattedException.java    |   105 -
 .../view/hive20/utils/SharedObjectsFactory.java    |   197 -
 .../utils/UniqueConstraintViolationException.java  |    31 -
 .../hive20/src/main/resources/application.conf     |    57 -
 .../views/hive20/src/main/resources/ui/.bowerrc    |     4 -
 .../hive20/src/main/resources/ui/.editorconfig     |    20 -
 .../views/hive20/src/main/resources/ui/.ember-cli  |    27 -
 .../views/hive20/src/main/resources/ui/.gitignore  |    18 -
 .../views/hive20/src/main/resources/ui/.jshintrc   |    34 -
 .../views/hive20/src/main/resources/ui/.travis.yml |    40 -
 .../hive20/src/main/resources/ui/.watchmanconfig   |    21 -
 .../views/hive20/src/main/resources/ui/README.md   |    28 -
 .../main/resources/ui/app/adapters/application.js  |    92 -
 .../src/main/resources/ui/app/adapters/auth.js     |    27 -
 .../src/main/resources/ui/app/adapters/database.js |    34 -
 .../src/main/resources/ui/app/adapters/ddl.js      |    26 -
 .../resources/ui/app/adapters/file-resource.js     |    25 -
 .../resources/ui/app/adapters/file-uploader.js     |    28 -
 .../main/resources/ui/app/adapters/hdfs-viewer.js  |    27 -
 .../src/main/resources/ui/app/adapters/job.js      |    80 -
 .../src/main/resources/ui/app/adapters/query.js    |    54 -
 .../src/main/resources/ui/app/adapters/ranger.js   |    27 -
 .../main/resources/ui/app/adapters/saved-query.js  |    25 -
 .../resources/ui/app/adapters/service-check.js     |    47 -
 .../main/resources/ui/app/adapters/table-info.js   |    37 -
 .../src/main/resources/ui/app/adapters/table.js    |    83 -
 .../src/main/resources/ui/app/adapters/udf.js      |    31 -
 .../main/resources/ui/app/adapters/upload-table.js |    93 -
 .../views/hive20/src/main/resources/ui/app/app.js  |    36 -
 .../src/main/resources/ui/app/breakpoints.js       |    23 -
 .../src/main/resources/ui/app/components/.gitkeep  |     0
 .../ui/app/components/alert-message-display.js     |    45 -
 .../resources/ui/app/components/alert-message.js   |    32 -
 .../resources/ui/app/components/column-item.js     |    72 -
 .../resources/ui/app/components/confirm-dialog.js  |    46 -
 .../ui/app/components/create-database-form.js      |    59 -
 .../resources/ui/app/components/create-table.js    |   180 -
 .../ui/app/components/csv-format-params.js         |    76 -
 .../ui/app/components/database-search-bar.js       |    78 -
 .../ui/app/components/edit-setting-item.js         |   111 -
 .../main/resources/ui/app/components/edit-table.js |   220 -
 .../resources/ui/app/components/export-result.js   |    54 -
 .../ui/app/components/fileresource-item.js         |    70 -
 .../ui/app/components/hdfs-viewer-modal.js         |    51 -
 .../resources/ui/app/components/info-dialog.js     |    38 -
 .../main/resources/ui/app/components/job-item.js   |    91 -
 .../resources/ui/app/components/jobs-browser.js    |   101 -
 .../resources/ui/app/components/list-filter.js     |    48 -
 .../main/resources/ui/app/components/list-group.js |    23 -
 .../main/resources/ui/app/components/list-item.js  |    29 -
 .../app/components/multiple-database-search-bar.js |   117 -
 .../ui/app/components/notification-message.js      |    30 -
 .../resources/ui/app/components/property-item.js   |    44 -
 .../resources/ui/app/components/query-editor.js    |   112 -
 .../ui/app/components/query-result-log.js          |    28 -
 .../ui/app/components/query-result-table.js        |   150 -
 .../resources/ui/app/components/radio-button.js    |    39 -
 .../ui/app/components/service-check-entry.js       |    50 -
 .../resources/ui/app/components/setting-item.js    |    32 -
 .../resources/ui/app/components/setting-list.js    |    37 -
 .../resources/ui/app/components/simple-table.js    |    22 -
 .../ui/app/components/table-advanced-settings.js   |   177 -
 .../resources/ui/app/components/table-columns.js   |    53 -
 .../ui/app/components/table-properties.js          |    40 -
 .../ui/app/components/table-rename-form.js         |    63 -
 .../ui/app/components/table-statistics.js          |   172 -
 .../main/resources/ui/app/components/tabs-item.js  |    43 -
 .../main/resources/ui/app/components/tabs-pane.js  |    27 -
 .../ui/app/components/top-application-bar.js       |    24 -
 .../main/resources/ui/app/components/udf-edit.js   |    40 -
 .../main/resources/ui/app/components/udf-item.js   |   212 -
 .../main/resources/ui/app/components/udf-new.js    |    41 -
 .../ui/app/components/upload-table-source.js       |    48 -
 .../resources/ui/app/components/upload-table.js    |    61 -
 .../ui/app/components/validated-text-field.js      |    62 -
 .../ui/app/components/visual-explain-detail.js     |    31 -
 .../resources/ui/app/components/visual-explain.js  |    85 -
 .../resources/ui/app/configs/create-table-tabs.js  |    48 -
 .../src/main/resources/ui/app/configs/datatypes.js |    34 -
 .../resources/ui/app/configs/edit-table-tabs.js    |    48 -
 .../main/resources/ui/app/configs/file-format.js   |    28 -
 .../src/main/resources/ui/app/configs/helpers.js   |   163 -
 .../resources/ui/app/configs/hive-parameters.js    |    93 -
 .../ui/app/configs/non-printable-escape-chars.js   |    53 -
 .../main/resources/ui/app/configs/result-tabs.js   |    48 -
 .../ui/app/configs/service-check-status.js         |    19 -
 .../resources/ui/app/configs/table-level-tabs.js   |    72 -
 .../resources/ui/app/configs/top-level-tabs.js     |    67 -
 .../src/main/resources/ui/app/controllers/.gitkeep |     0
 .../resources/ui/app/controllers/application.js    |    31 -
 .../src/main/resources/ui/app/controllers/jobs.js  |    38 -
 .../main/resources/ui/app/controllers/messages.js  |    30 -
 .../main/resources/ui/app/controllers/password.js  |    44 -
 .../main/resources/ui/app/controllers/queries.js   |    22 -
 .../resources/ui/app/controllers/saved-query.js    |    22 -
 .../resources/ui/app/controllers/savedqueries.js   |    24 -
 .../resources/ui/app/controllers/service-check.js  |    57 -
 .../src/main/resources/ui/app/controllers/udfs.js  |    24 -
 .../main/resources/ui/app/controllers/udfs/new.js  |    23 -
 .../src/main/resources/ui/app/helpers/.gitkeep     |     0
 .../ui/app/helpers/alert-message-context-class.js  |    27 -
 .../ui/app/helpers/alert-message-icon-class.js     |    37 -
 .../main/resources/ui/app/helpers/extract-value.js |    27 -
 .../resources/ui/app/helpers/format-column-size.js |    39 -
 .../main/resources/ui/app/helpers/shorten-text.js  |    32 -
 .../src/main/resources/ui/app/helpers/to-json.js   |    25 -
 .../hive20/src/main/resources/ui/app/index.html    |    43 -
 .../main/resources/ui/app/initializers/.gitkeep    |     0
 .../resources/ui/app/initializers/responsive.js    |    33 -
 .../resources/ui/app/locales/en/translations.js    |   105 -
 .../src/main/resources/ui/app/mixins/ui-logger.js  |    42 -
 .../src/main/resources/ui/app/models/.gitkeep      |     0
 .../src/main/resources/ui/app/models/alert.js      |    28 -
 .../src/main/resources/ui/app/models/column.js     |   131 -
 .../src/main/resources/ui/app/models/database.js   |    25 -
 .../main/resources/ui/app/models/file-resource.js  |    25 -
 .../src/main/resources/ui/app/models/file.js       |    26 -
 .../hive20/src/main/resources/ui/app/models/job.js |    56 -
 .../main/resources/ui/app/models/saved-query.js    |    29 -
 .../src/main/resources/ui/app/models/setting.js    |    25 -
 .../src/main/resources/ui/app/models/table-info.js |    31 -
 .../main/resources/ui/app/models/table-property.js |    54 -
 .../src/main/resources/ui/app/models/table.js      |    26 -
 .../hive20/src/main/resources/ui/app/models/udf.js |    26 -
 .../src/main/resources/ui/app/models/worksheet.js  |    47 -
 .../hive20/src/main/resources/ui/app/resolver.js   |    21 -
 .../hive20/src/main/resources/ui/app/router.js     |    79 -
 .../src/main/resources/ui/app/routes/.gitkeep      |     0
 .../main/resources/ui/app/routes/application.js    |    54 -
 .../resources/ui/app/routes/databases-error.js     |    27 -
 .../src/main/resources/ui/app/routes/databases.js  |   162 -
 .../ui/app/routes/databases/database-error.js      |    27 -
 .../resources/ui/app/routes/databases/database.js  |    25 -
 .../ui/app/routes/databases/database/index.js      |    27 -
 .../app/routes/databases/database/tables-error.js  |    27 -
 .../ui/app/routes/databases/database/tables.js     |   109 -
 .../app/routes/databases/database/tables/index.js  |    28 -
 .../databases/database/tables/new-database.js      |    65 -
 .../ui/app/routes/databases/database/tables/new.js |   116 -
 .../databases/database/tables/table-error.js       |    27 -
 .../app/routes/databases/database/tables/table.js  |   121 -
 .../routes/databases/database/tables/table/auth.js |    27 -
 .../databases/database/tables/table/columns.js     |    33 -
 .../routes/databases/database/tables/table/ddl.js  |    22 -
 .../databases/database/tables/table/details.js     |    22 -
 .../routes/databases/database/tables/table/edit.js |    83 -
 .../databases/database/tables/table/index.js       |    25 -
 .../databases/database/tables/table/partitions.js  |    22 -
 .../databases/database/tables/table/rename.js      |    80 -
 .../databases/database/tables/table/stats.js       |    22 -
 .../databases/database/tables/table/storage.js     |    22 -
 .../database/tables/table/table-meta-router.js     |    27 -
 .../routes/databases/database/tables/table/view.js |    22 -
 .../databases/database/tables/upload-table.js      |   782 -
 .../resources/ui/app/routes/databases/index.js     |    27 -
 .../resources/ui/app/routes/databases/newtable.js  |    30 -
 .../src/main/resources/ui/app/routes/index.js      |    26 -
 .../src/main/resources/ui/app/routes/jobs.js       |    82 -
 .../src/main/resources/ui/app/routes/messages.js   |    32 -
 .../resources/ui/app/routes/messages/message.js    |    31 -
 .../src/main/resources/ui/app/routes/password.js   |    41 -
 .../src/main/resources/ui/app/routes/queries.js    |    31 -
 .../main/resources/ui/app/routes/queries/index.js  |    32 -
 .../main/resources/ui/app/routes/queries/new.js    |    49 -
 .../main/resources/ui/app/routes/queries/query.js  |   747 -
 .../ui/app/routes/queries/query/loading.js         |    24 -
 .../resources/ui/app/routes/queries/query/log.js   |   104 -
 .../ui/app/routes/queries/query/results.js         |   112 -
 .../ui/app/routes/queries/query/tez-ui.js          |    45 -
 .../ui/app/routes/queries/query/visual-explain.js  |    57 -
 .../main/resources/ui/app/routes/savedqueries.js   |   140 -
 .../main/resources/ui/app/routes/service-check.js  |    62 -
 .../src/main/resources/ui/app/routes/settings.js   |    98 -
 .../src/main/resources/ui/app/routes/udfs.js       |    78 -
 .../src/main/resources/ui/app/routes/udfs/new.js   |   201 -
 .../main/resources/ui/app/serializers/database.js  |    25 -
 .../src/main/resources/ui/app/serializers/file.js  |    23 -
 .../src/main/resources/ui/app/serializers/table.js |    22 -
 .../resources/ui/app/services/alert-messages.js    |   156 -
 .../main/resources/ui/app/services/auto-refresh.js |   149 -
 .../resources/ui/app/services/file-resource.js     |    33 -
 .../src/main/resources/ui/app/services/jobs.js     |   103 -
 .../main/resources/ui/app/services/ldap-auth.js    |    35 -
 .../src/main/resources/ui/app/services/query.js    |    72 -
 .../resources/ui/app/services/saved-queries.js     |    84 -
 .../resources/ui/app/services/service-check.js     |   169 -
 .../resources/ui/app/services/stats-service.js     |    63 -
 .../resources/ui/app/services/table-operations.js  |   250 -
 .../resources/ui/app/services/tez-view-info.js     |    92 -
 .../src/main/resources/ui/app/services/udf.js      |    65 -
 .../src/main/resources/ui/app/styles/app.scss      |  1024 -
 .../ui/app/styles/bootstrap-overrides.scss         |    81 -
 .../src/main/resources/ui/app/styles/fonts.scss    |    31 -
 .../ui/app/styles/power-select-overrides.scss      |    24 -
 .../resources/ui/app/templates/application.hbs     |    52 -
 .../resources/ui/app/templates/components/.gitkeep |     0
 .../templates/components/alert-message-display.hbs |    34 -
 .../ui/app/templates/components/alert-message.hbs  |    34 -
 .../ui/app/templates/components/column-item.hbs    |   127 -
 .../ui/app/templates/components/confirm-dialog.hbs |    39 -
 .../templates/components/create-database-form.hbs  |    31 -
 .../ui/app/templates/components/create-table.hbs   |    63 -
 .../app/templates/components/csv-format-params.hbs |   138 -
 .../templates/components/database-search-bar.hbs   |    57 -
 .../app/templates/components/edit-setting-item.hbs |    42 -
 .../ui/app/templates/components/edit-table.hbs     |    60 -
 .../ui/app/templates/components/export-result.hbs  |    46 -
 .../app/templates/components/fileresource-item.hbs |    32 -
 .../app/templates/components/hdfs-viewer-modal.hbs |    50 -
 .../ui/app/templates/components/info-dialog.hbs    |    38 -
 .../ui/app/templates/components/job-item.hbs       |    33 -
 .../ui/app/templates/components/jobs-browser.hbs   |   102 -
 .../ui/app/templates/components/list-filter.hbs    |    33 -
 .../ui/app/templates/components/list-group.hbs     |    22 -
 .../ui/app/templates/components/list-item.hbs      |    22 -
 .../components/multiple-database-search-bar.hbs    |    43 -
 .../templates/components/notification-message.hbs  |    48 -
 .../ui/app/templates/components/property-item.hbs  |    47 -
 .../ui/app/templates/components/query-editor.hbs   |    21 -
 .../app/templates/components/query-result-log.hbs  |    23 -
 .../templates/components/query-result-table.hbs    |   109 -
 .../ui/app/templates/components/radio-button.hbs   |    19 -
 .../templates/components/service-check-entry.hbs   |    47 -
 .../ui/app/templates/components/setting-item.hbs   |    28 -
 .../ui/app/templates/components/setting-list.hbs   |    41 -
 .../ui/app/templates/components/simple-table.hbs   |    42 -
 .../components/table-advanced-settings.hbs         |   221 -
 .../ui/app/templates/components/table-columns.hbs  |    44 -
 .../app/templates/components/table-properties.hbs  |    41 -
 .../app/templates/components/table-rename-form.hbs |    31 -
 .../app/templates/components/table-statistics.hbs  |   174 -
 .../ui/app/templates/components/tabs-item.hbs      |    24 -
 .../ui/app/templates/components/tabs-pane.hbs      |    21 -
 .../templates/components/top-application-bar.hbs   |    33 -
 .../ui/app/templates/components/udf-edit.hbs       |    85 -
 .../ui/app/templates/components/udf-item.hbs       |    74 -
 .../ui/app/templates/components/udf-new.hbs        |    78 -
 .../templates/components/upload-table-source.hbs   |   112 -
 .../ui/app/templates/components/upload-table.hbs   |    61 -
 .../templates/components/validated-text-field.hbs  |    23 -
 .../templates/components/visual-explain-detail.hbs |    32 -
 .../ui/app/templates/components/visual-explain.hbs |    42 -
 .../resources/ui/app/templates/databases-error.hbs |    19 -
 .../ui/app/templates/databases-loading.hbs         |    21 -
 .../main/resources/ui/app/templates/databases.hbs  |    72 -
 .../ui/app/templates/databases/database-error.hbs  |    19 -
 .../ui/app/templates/databases/database.hbs        |    19 -
 .../templates/databases/database/tables-error.hbs  |    19 -
 .../databases/database/tables-loading.hbs          |    24 -
 .../ui/app/templates/databases/database/tables.hbs |    46 -
 .../databases/database/tables/new-database.hbs     |    47 -
 .../templates/databases/database/tables/new.hbs    |    46 -
 .../databases/database/tables/table-error.hbs      |    19 -
 .../databases/database/tables/table-loading.hbs    |    21 -
 .../templates/databases/database/tables/table.hbs  |    76 -
 .../databases/database/tables/table/auth-error.hbs |    35 -
 .../database/tables/table/auth-loading.hbs         |    23 -
 .../databases/database/tables/table/auth.hbs       |    66 -
 .../databases/database/tables/table/columns.hbs    |    44 -
 .../databases/database/tables/table/ddl.hbs        |    21 -
 .../databases/database/tables/table/details.hbs    |    65 -
 .../databases/database/tables/table/edit.hbs       |    45 -
 .../databases/database/tables/table/partitions.hbs |    38 -
 .../databases/database/tables/table/rename.hbs     |    46 -
 .../databases/database/tables/table/stats.hbs      |    19 -
 .../databases/database/tables/table/storage.hbs    |    64 -
 .../databases/database/tables/table/view.hbs       |    40 -
 .../databases/database/tables/upload-table.hbs     |    45 -
 .../resources/ui/app/templates/jobs-loading.hbs    |    20 -
 .../src/main/resources/ui/app/templates/jobs.hbs   |    24 -
 .../main/resources/ui/app/templates/messages.hbs   |    50 -
 .../ui/app/templates/messages/message.hbs          |    19 -
 .../main/resources/ui/app/templates/password.hbs   |    48 -
 .../main/resources/ui/app/templates/queries.hbs    |    37 -
 .../resources/ui/app/templates/queries/query.hbs   |   172 -
 .../ui/app/templates/queries/query/loading.hbs     |    21 -
 .../ui/app/templates/queries/query/log.hbs         |    35 -
 .../ui/app/templates/queries/query/results.hbs     |    55 -
 .../ui/app/templates/queries/query/tez-ui.hbs      |    32 -
 .../app/templates/queries/query/visual-explain.hbs |    40 -
 .../ui/app/templates/savedqueries-loading.hbs      |    21 -
 .../resources/ui/app/templates/savedqueries.hbs    |   100 -
 .../resources/ui/app/templates/service-check.hbs   |    52 -
 .../ui/app/templates/settings-loading.hbs          |    21 -
 .../main/resources/ui/app/templates/settings.hbs   |    32 -
 .../src/main/resources/ui/app/templates/tables.hbs |    19 -
 .../resources/ui/app/templates/udfs-loading.hbs    |    21 -
 .../src/main/resources/ui/app/templates/udfs.hbs   |    78 -
 .../main/resources/ui/app/templates/udfs/new.hbs   |    30 -
 .../src/main/resources/ui/app/transforms/date.js   |    50 -
 .../src/main/resources/ui/app/utils/constants.js   |    64 -
 .../resources/ui/app/utils/hdfs-picker-config.js   |    32 -
 .../ui/app/utils/hive-explainer/enhancer.js        |    37 -
 .../ui/app/utils/hive-explainer/fallback.js        |    33 -
 .../resources/ui/app/utils/hive-explainer/index.js |    32 -
 .../ui/app/utils/hive-explainer/processor.js       |   425 -
 .../ui/app/utils/hive-explainer/renderer-force.js  |   326 -
 .../ui/app/utils/hive-explainer/renderer.js        |   589 -
 .../ui/app/utils/hive-explainer/transformer.js     |   569 -
 .../views/hive20/src/main/resources/ui/bower.json  |    15 -
 .../src/main/resources/ui/config/environment.js    |    78 -
 .../src/main/resources/ui/ember-cli-build.js       |    74 -
 .../hive20/src/main/resources/ui/package.json      |    67 -
 .../public/fonts/roboto/roboto-v15-latin-300.eot   |   Bin 16205 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.svg   |   314 -
 .../public/fonts/roboto/roboto-v15-latin-300.ttf   |   Bin 32664 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.woff  |   Bin 18520 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.woff2 |   Bin 14524 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.eot      |   Bin 16227 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.svg      |   308 -
 .../fonts/roboto/roboto-v15-latin-regular.ttf      |   Bin 32652 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.woff     |   Bin 18520 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.woff2    |   Bin 14584 -> 0 bytes
 .../views/hive20/src/main/resources/ui/testem.js   |    31 -
 .../hive20/src/main/resources/ui/tests/.jshintrc   |    53 -
 .../main/resources/ui/tests/helpers/destroy-app.js |    23 -
 .../resources/ui/tests/helpers/flash-message.js    |    24 -
 .../ui/tests/helpers/module-for-acceptance.js      |    41 -
 .../main/resources/ui/tests/helpers/resolver.js    |    29 -
 .../main/resources/ui/tests/helpers/responsive.js  |    76 -
 .../main/resources/ui/tests/helpers/start-app.js   |    36 -
 .../hive20/src/main/resources/ui/tests/index.html  |    51 -
 .../main/resources/ui/tests/integration/.gitkeep   |     0
 .../src/main/resources/ui/tests/test-helper.js     |    28 -
 .../src/main/resources/ui/tests/unit/.gitkeep      |     0
 .../hive20/src/main/resources/ui/vendor/.gitkeep   |     0
 .../main/resources/ui/vendor/browser-pollyfills.js |   213 -
 .../views/hive20/src/main/resources/ui/yarn.lock   |  6032 --
 .../src/main/resources/view.log4j.properties       |    27 -
 contrib/views/hive20/src/main/resources/view.xml   |   406 -
 .../ambari/view/hive20/AsyncJobRunnerImplTest.java |   138 -
 .../ambari/view/hive20/ConnectionFailuresTest.java |   157 -
 .../hive20/HiveJdbcConnectionDelegateTest.java     |   105 -
 .../ambari/view/hive20/JobExecutionTest.java       |   116 -
 .../ambari/view/hive20/PropertyValidatorTest.java  |   113 -
 .../ambari/view/hive20/ResultSetIteratorTest.java  |   100 -
 .../hive20/internal/parsers/ParserUtilsTest.java   |    66 -
 .../generators/AlterTableQueryGeneratorTest.java   |   235 -
 .../AnalyzeTableQueryGeneratorSpecTest.groovy      |   196 -
 .../generators/CreateTableQueryGeneratorTest.java  |   110 -
 .../DeleteDatabaseQueryGeneratorSpecTest.groovy    |    65 -
 .../InsertFromQueryGeneratorSpecTest.groovy        |    69 -
 .../RenameTableQueryGeneratorSpecTest.groovy       |   104 -
 .../hive20/resources/upload/CSVParserTest.java     |   275 -
 .../hive20/resources/upload/DataParserCSVTest.java |   327 -
 .../resources/upload/DataParserJSONTest.java       |   264 -
 .../hive20/resources/upload/DataParserXMLTest.java |   295 -
 .../hive20/resources/upload/JsonParserTest.java    |   146 -
 .../hive20/resources/upload/OpenCSVParserTest.java |   313 -
 .../view/hive20/resources/upload/OpenCSVTest.java  |   245 -
 .../hive20/resources/upload/ParseUtilsTest.java    |    56 -
 .../resources/upload/TableDataReaderTest.java      |   128 -
 .../hive20/resources/upload/XMLParserTest.java     |   135 -
 .../resources/uploads/UploadServiceTest.java       |    60 -
 .../HIVE20_ENVIRONMENT.postman_environment.json    |    16 -
 .../rest/postman/hive20.postman_collection.json    |   566 -
 contrib/views/hueambarimigration/pom.xml           |   286 -
 .../datasource/DataSourceAmbariDatabase.java       |    63 -
 .../datasource/DataSourceHueDatabase.java          |    62 -
 .../historyqueryset/MysqlQuerySetAmbariDB.java     |    58 -
 .../historyqueryset/OracleQuerySetAmbariDB.java    |    64 -
 .../historyqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../hive/historyqueryset/QuerySetAmbariDB.java     |   133 -
 .../hive/instancedetail/MysqlQuerySetAmbariDB.java |    23 -
 .../instancedetail/OracleQuerySetAmbariDB.java     |    31 -
 .../instancedetail/PostgressQuerySetAmbariDB.java  |    22 -
 .../hive/instancedetail/QuerySetAmbariDB.java      |    48 -
 .../hive/savedqueryset/MysqlQuerySetAmbariDB.java  |    91 -
 .../hive/savedqueryset/OracleQuerySetAmbariDB.java |    83 -
 .../savedqueryset/PostgressQuerySetAmbariDB.java   |    22 -
 .../hive/savedqueryset/QuerySetAmbariDB.java       |   206 -
 .../pig/instancedetail/MysqlQuerySetAmbariDB.java  |    23 -
 .../pig/instancedetail/OracleQuerySetAmbariDB.java |    30 -
 .../instancedetail/PostgressQuerySetAmbariDB.java  |    22 -
 .../pig/instancedetail/QuerySetAmbariDB.java       |    39 -
 .../pig/jobqueryset/MysqlQuerySetAmbariDB.java     |    51 -
 .../pig/jobqueryset/OracleQuerySetAmbariDB.java    |    49 -
 .../pig/jobqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../pig/jobqueryset/QuerySetAmbariDB.java          |   103 -
 .../savedscriptqueryset/MysqlQuerySetAmbariDB.java |    51 -
 .../OracleQuerySetAmbariDB.java                    |    49 -
 .../PostgressQuerySetAmbariDB.java                 |    22 -
 .../pig/savedscriptqueryset/QuerySetAmbariDB.java  |    93 -
 .../pig/udfqueryset/MysqlQuerySetAmbariDB.java     |    48 -
 .../pig/udfqueryset/OracleQuerySetAmbariDB.java    |    46 -
 .../pig/udfqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../pig/udfqueryset/QuerySetAmbariDB.java          |    82 -
 .../hive/historyqueryset/MysqlQuerySetHueDB.java   |    23 -
 .../hive/historyqueryset/OracleQuerySetHueDB.java  |    66 -
 .../historyqueryset/PostgressQuerySetHueDB.java    |    22 -
 .../hive/historyqueryset/QuerySetHueDB.java        |   139 -
 .../hive/historyqueryset/SqliteQuerySetHueDB.java  |    22 -
 .../hive/savedqueryset/MysqlQuerySetHueDb.java     |    23 -
 .../hive/savedqueryset/OracleQuerySetHueDb.java    |    71 -
 .../hive/savedqueryset/PostgressQuerySetHueDb.java |    22 -
 .../hive/savedqueryset/QuerySetHueDb.java          |   144 -
 .../hive/savedqueryset/SqliteQuerySetHueDb.java    |    22 -
 .../pig/jobqueryset/MysqlQuerySetHueDb.java        |    22 -
 .../pig/jobqueryset/OracleQuerySetHueDb.java       |    69 -
 .../pig/jobqueryset/PostgressQuerySetHueDb.java    |    22 -
 .../huequeryset/pig/jobqueryset/QuerySetHueDb.java |   141 -
 .../pig/jobqueryset/SqliteQuerySetHueDb.java       |    22 -
 .../savedscriptqueryset/MysqlQuerySetHueDb.java    |    22 -
 .../savedscriptqueryset/OracleQuerySetHueDb.java   |    64 -
 .../PostgressQuerySetHueDb.java                    |    71 -
 .../pig/savedscriptqueryset/QuerySetHueDb.java     |   142 -
 .../savedscriptqueryset/SqliteQuerySetHueDb.java   |    24 -
 .../huequeryset/pig/udfqueryset/MysqlQuerySet.java |    22 -
 .../pig/udfqueryset/OracleQuerySet.java            |    41 -
 .../pig/udfqueryset/PostgressQuerySet.java         |    23 -
 .../huequeryset/pig/udfqueryset/QuerySet.java      |    75 -
 .../pig/udfqueryset/SqliteQuerySet.java            |    24 -
 .../huequeryset/userdetails/MysqlQuerySet.java     |    24 -
 .../huequeryset/userdetails/OracleQuerySet.java    |    28 -
 .../huequeryset/userdetails/PostgressQuerySet.java |    22 -
 .../queryset/huequeryset/userdetails/QuerySet.java |    42 -
 .../huequeryset/userdetails/SqliteQuerySet.java    |    22 -
 .../migration/CreateJobId.java                     |    85 -
 .../migration/CreateJobIdRevertChange.java         |    84 -
 .../migration/InitiateJobMigration.java            |   107 -
 .../InitiateJobMigrationforRevertchange.java       |    85 -
 .../configuration/AllInstanceDetailsAmbari.java    |    59 -
 .../configuration/AmbariDatabaseCheck.java         |    62 -
 .../configuration/AmbariWebHdfsCheck.java          |    60 -
 .../configuration/CheckProgresStatus.java          |    70 -
 .../ConfigurationCheckImplementation.java          |   134 -
 .../configuration/HiveInstanceDetailsAmbari.java   |    53 -
 .../configuration/HiveInstanceDetailsUtility.java  |   153 -
 .../migration/configuration/HueDatabaseCheck.java  |    60 -
 .../migration/configuration/HueHttpUrlCheck.java   |    60 -
 .../migration/configuration/HueWebHdfsCheck.java   |    60 -
 .../configuration/PigInstanceDetailsAmbari.java    |    61 -
 .../configuration/PigInstanceDetailsUtility.java   |    98 -
 .../migration/configuration/UserDetailHue.java     |    58 -
 .../configuration/UserDetailsUtility.java          |    80 -
 .../historyquery/HiveHistoryMigrationUtility.java  |   289 -
 .../HiveHistoryQueryMigrationImplementation.java   |   631 -
 .../hive/historyquery/HiveHistoryStartJob.java     |    75 -
 .../HiveSavedQueryMigrationImplementation.java     |   788 -
 .../savedquery/HiveSavedQueryMigrationUtility.java |   320 -
 .../hive/savedquery/HiveSavedQueryStartJob.java    |    76 -
 .../pig/pigjob/PigJobMigrationImplementation.java  |   611 -
 .../pig/pigjob/PigJobMigrationUtility.java         |   239 -
 .../migration/pig/pigjob/PigJobStartJob.java       |    69 -
 .../pig/pigscript/PigSavedScriptStartJob.java      |    69 -
 .../PigScriptMigrationImplementation.java          |   629 -
 .../pig/pigscript/PigScriptMigrationUtility.java   |   262 -
 .../pig/pigudf/PigUdfMigrationImplementation.java  |   402 -
 .../pig/pigudf/PigUdfMigrationUtility.java         |   243 -
 .../migration/pig/pigudf/PigUdfStartJob.java       |    69 -
 .../revertchange/RevertChangeStartJob.java         |    70 -
 .../revertchange/RevertChangeUtility.java          |   225 -
 .../persistence/DataStoreStorage.java              |   151 -
 .../persistence/InstanceKeyValueStorage.java       |   132 -
 .../persistence/KeyValueStorage.java               |   162 -
 .../persistence/LocalKeyValueStorage.java          |    70 -
 .../persistence/PersistentConfiguration.java       |    52 -
 .../persistence/SmokeTestEntity.java               |    45 -
 .../huetoambarimigration/persistence/Storage.java  |    78 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../persistence/utils/FilteringStrategy.java       |    31 -
 .../persistence/utils/Indexed.java                 |    36 -
 .../persistence/utils/ItemNotFound.java            |    25 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    33 -
 .../persistence/utils/Owned.java                   |    36 -
 .../persistence/utils/PersonalResource.java        |    22 -
 .../persistence/utils/StorageUtil.java             |    94 -
 .../resources/CRUDResourceManager.java             |   123 -
 .../resources/PersonalCRUDResourceManager.java     |   105 -
 .../resources/SharedCRUDResourceManager.java       |    50 -
 .../scripts/MigrationResourceManager.java          |    52 -
 .../scripts/MigrationResourceProvider.java         |   108 -
 .../scripts/models/ConfigurationModel.java         |    52 -
 .../resources/scripts/models/HiveModel.java        |   114 -
 .../resources/scripts/models/InstanceModel.java    |    41 -
 .../resources/scripts/models/JobReturnIdModel.java |    43 -
 .../resources/scripts/models/MigrationModel.java   |   130 -
 .../scripts/models/MigrationResponse.java          |   153 -
 .../resources/scripts/models/PigModel.java         |    92 -
 .../scripts/models/ProgressCheckModel.java         |    60 -
 .../resources/scripts/models/UserModel.java        |    48 -
 .../utils/BadRequestFormattedException.java        |    27 -
 .../huetoambarimigration/utils/FilePaginator.java  |    72 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../utils/NotFoundFormattedException.java          |    27 -
 .../utils/ServiceFormattedException.java           |   101 -
 .../src/main/resources/image/updateimg.gif         |   Bin 56233 -> 0 bytes
 .../resources/ui/hueambarimigration-view/.bowerrc  |     4 -
 .../ui/hueambarimigration-view/.editorconfig       |    34 -
 .../ui/hueambarimigration-view/.ember-cli          |    27 -
 .../ui/hueambarimigration-view/.gitignore          |    44 -
 .../resources/ui/hueambarimigration-view/.jshintrc |    32 -
 .../ui/hueambarimigration-view/.travis.yml         |    38 -
 .../ui/hueambarimigration-view/.watchmanconfig     |    21 -
 .../resources/ui/hueambarimigration-view/README.md |    67 -
 .../app/adapters/application.js                    |    47 -
 .../ui/hueambarimigration-view/app/app.js          |    38 -
 .../app/components/.gitkeep                        |     0
 .../app/controllers/.gitkeep                       |     0
 .../hueambarimigration-view/app/helpers/.gitkeep   |     0
 .../ui/hueambarimigration-view/app/index.html      |    40 -
 .../ui/hueambarimigration-view/app/models/.gitkeep |     0
 .../app/models/allinstancedetail.js                |    23 -
 .../app/models/ambaridatabase.js                   |    24 -
 .../app/models/ambariwebhdfsurl.js                 |    24 -
 .../app/models/checkprogress.js                    |    32 -
 .../app/models/getmigrationresultid.js             |    23 -
 .../app/models/hiveinstancedetail.js               |    23 -
 .../app/models/huedatabase.js                      |    24 -
 .../app/models/huehttpurl.js                       |    24 -
 .../app/models/huewebhdfsurl.js                    |    24 -
 .../app/models/piginstancedetail.js                |    23 -
 .../app/models/returnjobid.js                      |    23 -
 .../app/models/returnjobidforrevertchange.js       |    23 -
 .../app/models/startmigration.js                   |    23 -
 .../app/models/startrevertchange.js                |    23 -
 .../app/models/usersdetail.js                      |    23 -
 .../ui/hueambarimigration-view/app/resolver.js     |    20 -
 .../ui/hueambarimigration-view/app/router.js       |    38 -
 .../ui/hueambarimigration-view/app/routes/.gitkeep |     0
 .../app/routes/check-configuration.js              |   213 -
 .../app/routes/home-page.js                        |    21 -
 .../app/routes/home-page/hive-history.js           |   146 -
 .../app/routes/home-page/hive-saved-query.js       |   142 -
 .../app/routes/home-page/pig-job.js                |   143 -
 .../app/routes/home-page/pig-script.js             |   144 -
 .../app/routes/home-page/pig-udf.js                |   140 -
 .../app/routes/home-page/revert-change.js          |   103 -
 .../ui/hueambarimigration-view/app/routes/index.js |    24 -
 .../app/serializers/application.js                 |    19 -
 .../ui/hueambarimigration-view/app/styles/app.css  |    25 -
 .../ui/hueambarimigration-view/app/styles/app.scss |    18 -
 .../app/templates/application.hbs                  |    24 -
 .../app/templates/check-configuration.hbs          |   153 -
 .../app/templates/home-page.hbs                    |    43 -
 .../app/templates/home-page/hive-history.hbs       |   133 -
 .../app/templates/home-page/hive-saved-query.hbs   |   134 -
 .../app/templates/home-page/pig-job.hbs            |   135 -
 .../app/templates/home-page/pig-script.hbs         |   135 -
 .../app/templates/home-page/pig-udf.hbs            |   118 -
 .../app/templates/home-page/revert-change.hbs      |    99 -
 .../ui/hueambarimigration-view/bower.json          |    14 -
 .../hueambarimigration-view/config/environment.js  |    63 -
 .../ui/hueambarimigration-view/ember-cli-build.js  |    61 -
 .../ui/hueambarimigration-view/package.json        |    51 -
 .../hueambarimigration-view/public/crossdomain.xml |    15 -
 .../ui/hueambarimigration-view/public/robots.txt   |     3 -
 .../resources/ui/hueambarimigration-view/testem.js |    29 -
 .../ui/hueambarimigration-view/tests/.jshintrc     |    53 -
 .../tests/helpers/destroy-app.js                   |    22 -
 .../tests/helpers/module-for-acceptance.js         |    40 -
 .../tests/helpers/resolver.js                      |    28 -
 .../tests/helpers/start-app.js                     |    35 -
 .../ui/hueambarimigration-view/tests/index.html    |    48 -
 .../hueambarimigration-view/tests/test-helper.js   |    25 -
 .../ui/hueambarimigration-view/vendor/.gitkeep     |     0
 .../resources/ui/hueambarimigration-view/yarn.lock |  5553 --
 .../src/main/resources/view.log4j.properties       |    29 -
 .../hueambarimigration/src/main/resources/view.xml |   236 -
 contrib/views/jobs/pom.xml                         |   244 -
 .../org/apache/ambari/view/jobs/ProxyServlet.java  |    68 -
 .../apache/ambari/view/jobs/ViewController.java    |    36 -
 .../ambari/view/jobs/ViewControllerImpl.java       |    66 -
 .../org/apache/ambari/view/jobs/ViewStatus.java    |    44 -
 .../ambari/view/jobs/rest/ViewStatusResource.java  |    46 -
 .../views/jobs/src/main/resources/WEB-INF/web.xml  |    37 -
 contrib/views/jobs/src/main/resources/ui/.bowerrc  |     3 -
 .../views/jobs/src/main/resources/ui/.editorconfig |    22 -
 .../jobs/src/main/resources/ui/.gitattributes      |     1 -
 .../views/jobs/src/main/resources/ui/.gitignore    |     9 -
 contrib/views/jobs/src/main/resources/ui/.jshintrc |    24 -
 .../views/jobs/src/main/resources/ui/Gruntfile.js  |   396 -
 .../resources/ui/app/img/glyphicons-halflings.png  |   Bin 13826 -> 0 bytes
 .../jobs/src/main/resources/ui/app/index.html      |    56 -
 .../jobs/src/main/resources/ui/app/scripts/app.js  |    76 -
 .../resources/ui/app/scripts/assets/clusters.json  |    10 -
 .../ui/app/scripts/assets/components.json          |    94 -
 .../ui/app/scripts/assets/components_hosts.json    |    16 -
 .../ui/app/scripts/assets/configurations.json      |    14 -
 .../ui/app/scripts/assets/desired_configs.json     |    20 -
 .../ui/app/scripts/assets/hive-queries.json        |   388 -
 .../ui/app/scripts/assets/hive-query-2.json        |     8 -
 .../resources/ui/app/scripts/assets/services.json  |    39 -
 .../ui/app/scripts/assets/tezDag-name-to-id.json   |   552 -
 .../resources/ui/app/scripts/assets/tezDag.json    |    21 -
 .../ui/app/scripts/assets/tezDagVertex.json        |   221 -
 .../ui/app/scripts/controllers/job_controller.js   |   120 -
 .../ui/app/scripts/controllers/jobs_controller.js  |   704 -
 .../main/resources/ui/app/scripts/helpers/ajax.js  |   245 -
 .../main/resources/ui/app/scripts/helpers/date.js  |   196 -
 .../main/resources/ui/app/scripts/helpers/jobs.js  |   262 -
 .../main/resources/ui/app/scripts/helpers/misc.js  |    67 -
 .../resources/ui/app/scripts/helpers/number.js     |    90 -
 .../resources/ui/app/scripts/helpers/string.js     |   114 -
 .../resources/ui/app/scripts/helpers/validator.js  |    26 -
 .../scripts/mappers/application_status_mapper.js   |   349 -
 .../ui/app/scripts/mappers/jobs/hive_job_mapper.js |   219 -
 .../app/scripts/mappers/jobs/hive_jobs_mapper.js   |   111 -
 .../ui/app/scripts/mappers/server_data_mapper.js   |   133 -
 .../ui/app/scripts/mixins/run_periodically.js      |    78 -
 .../resources/ui/app/scripts/models/component.js   |    40 -
 .../ui/app/scripts/models/jobs/abstract_job.js     |    72 -
 .../ui/app/scripts/models/jobs/hive_job.js         |    32 -
 .../ui/app/scripts/models/jobs/tez_dag.js          |   213 -
 .../resources/ui/app/scripts/models/service.js     |    40 -
 .../src/main/resources/ui/app/scripts/router.js    |    22 -
 .../ui/app/scripts/routes/application_route.js     |    68 -
 .../src/main/resources/ui/app/scripts/store.js     |    19 -
 .../main/resources/ui/app/scripts/translations.js  |   112 -
 .../resources/ui/app/scripts/views/filter_view.js  |   491 -
 .../views/job/hive_job_details_tez_dag_view.js     |   979 -
 .../app/scripts/views/job/hive_job_details_view.js |   430 -
 .../scripts/views/jobs/select_custom_date_view.js  |    36 -
 .../resources/ui/app/scripts/views/jobs_view.js    |   350 -
 .../resources/ui/app/scripts/views/sort_view.js    |   253 -
 .../resources/ui/app/scripts/views/table_view.js   |   362 -
 .../src/main/resources/ui/app/styles/main.less     |   638 -
 .../resources/ui/app/templates/application.hbs     |    21 -
 .../src/main/resources/ui/app/templates/index.hbs  |    19 -
 .../resources/ui/app/templates/job/error_popup.hbs |    19 -
 .../app/templates/job/hive_job_details_tez_dag.hbs |    44 -
 .../ui/app/templates/job/hover_op_table.hbs        |    35 -
 .../main/resources/ui/app/templates/job/job.hbs    |   216 -
 .../src/main/resources/ui/app/templates/jobs.hbs   |    91 -
 .../ui/app/templates/jobs/custom_date_popup.hbs    |    39 -
 .../resources/ui/app/templates/jobs/jobs_name.hbs  |    19 -
 .../ui/app/templates/sort_field_template.hbs       |    19 -
 .../table/navigation/pagination_first.hbs          |    19 -
 .../templates/table/navigation/pagination_last.hbs |    19 -
 .../templates/table/navigation/pagination_left.hbs |    19 -
 .../table/navigation/pagination_right.hbs          |    19 -
 .../resources/ui/app/templates/wrapper_layout.hbs  |    19 -
 .../ui/app/templates/wrapper_template.hbs          |    25 -
 .../views/jobs/src/main/resources/ui/bower.json    |    20 -
 .../views/jobs/src/main/resources/ui/package.json  |    36 -
 .../views/jobs/src/main/resources/ui/test/.bowerrc |     3 -
 .../jobs/src/main/resources/ui/test/bower.json     |     9 -
 .../jobs/src/main/resources/ui/test/index.html     |    44 -
 .../jobs/src/main/resources/ui/test/spec/test.js   |    29 -
 contrib/views/jobs/src/main/resources/ui/yarn.lock |  2537 -
 .../jobs/src/main/resources/view.log4j.properties  |    28 -
 contrib/views/jobs/src/main/resources/view.xml     |    37 -
 .../pig/src/main/resources/ui/pig-web/.bowerrc     |     5 +
 contrib/views/pig/src/main/resources/view.xml      |     1 +
 contrib/views/pom.xml                              |     7 -
 contrib/views/storm/pom.xml                        |   225 -
 .../java/org/apache/ambari/storm/ProxyServlet.java |   108 -
 .../apache/ambari/storm/StormDetailsServlet.java   |    81 -
 .../views/storm/src/main/resources/WEB-INF/web.xml |    45 -
 contrib/views/storm/src/main/resources/ui/.babelrc |    25 -
 .../storm/src/main/resources/ui/.eslintignore.js   |     3 -
 .../views/storm/src/main/resources/ui/.eslintrc.js |    58 -
 .../storm/src/main/resources/ui/app/scripts/app.js |    40 -
 .../ui/app/scripts/components/BarChart.jsx         |   429 -
 .../ui/app/scripts/components/Breadcrumbs.jsx      |    45 -
 .../ui/app/scripts/components/CommonExpanded.jsx   |    30 -
 .../app/scripts/components/CommonNotification.jsx  |    69 -
 .../ui/app/scripts/components/CommonPagination.jsx |    56 -
 .../scripts/components/CommonSwitchComponent.jsx   |    41 -
 .../app/scripts/components/CommonWindowPanel.jsx   |    99 -
 .../scripts/components/CustomToastContainer.jsx    |    41 -
 .../ui/app/scripts/components/Editable.jsx         |   127 -
 .../ui/app/scripts/components/FSModel.jsx          |   149 -
 .../ui/app/scripts/components/FSReactToastr.jsx    |    37 -
 .../resources/ui/app/scripts/components/Footer.jsx |    28 -
 .../app/scripts/components/LogLevelComponent.jsx   |   236 -
 .../ui/app/scripts/components/ProfilingView.jsx    |   168 -
 .../ui/app/scripts/components/RadialChart.jsx      |   134 -
 .../app/scripts/components/RebalanceTopology.jsx   |   152 -
 .../ui/app/scripts/components/SearchLogs.jsx       |    84 -
 .../ui/app/scripts/components/TopologyGraph.jsx    |   208 -
 .../ui/app/scripts/containers/BaseContainer.jsx    |    50 -
 .../ui/app/scripts/containers/ClusterSummary.jsx   |   125 -
 .../app/scripts/containers/ComponentDetailView.jsx |   714 -
 .../ui/app/scripts/containers/Dashboard.jsx        |    52 -
 .../app/scripts/containers/NimbusConfigSummary.jsx |   126 -
 .../ui/app/scripts/containers/NimbusSummary.jsx    |   150 -
 .../app/scripts/containers/SupervisorSummary.jsx   |   165 -
 .../app/scripts/containers/TopologyDetailView.jsx  |   862 -
 .../ui/app/scripts/containers/TopologyListing.jsx  |   222 -
 .../src/main/resources/ui/app/scripts/main.js      |    46 -
 .../resources/ui/app/scripts/rest/TopologyREST.js  |   118 -
 .../resources/ui/app/scripts/routers/routes.jsx    |    68 -
 .../resources/ui/app/scripts/utils/Constants.js    |    45 -
 .../main/resources/ui/app/scripts/utils/Utils.js   |    51 -
 .../main/resources/ui/app/styles/css/bootstrap.css |  6757 ---
 .../ui/app/styles/css/font-awesome.min.css         |     4 -
 .../src/main/resources/ui/app/styles/css/style.css |   836 -
 .../resources/ui/app/styles/css/toastr.min.css     |     1 -
 .../ui/app/styles/fonts/fontawesome-webfont.eot    |   Bin 76518 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.svg    |   685 -
 .../ui/app/styles/fonts/fontawesome-webfont.ttf    |   Bin 152796 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.woff   |   Bin 90412 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.woff2  |   Bin 71896 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.eot  |   Bin 20127 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.svg  |   288 -
 .../styles/fonts/glyphicons-halflings-regular.ttf  |   Bin 45404 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.woff |   Bin 23424 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff2       |   Bin 18028 -> 0 bytes
 .../main/resources/ui/app/styles/img/icon-bolt.png |   Bin 2157 -> 0 bytes
 .../resources/ui/app/styles/img/icon-spout.png     |   Bin 2620 -> 0 bytes
 .../main/resources/ui/app/styles/img/loader.gif    |   Bin 15017 -> 0 bytes
 .../resources/ui/config/webpack.config.base.js     |   101 -
 .../ui/config/webpack.config.development.js        |    64 -
 .../ui/config/webpack.config.production.js         |   131 -
 .../storm/src/main/resources/ui/dev-server.js      |   101 -
 .../views/storm/src/main/resources/ui/index.html   |    47 -
 .../views/storm/src/main/resources/ui/package.json |   110 -
 .../storm/src/main/resources/view.log4j.properties |    27 -
 contrib/views/storm/src/main/resources/view.xml    |    44 -
 contrib/views/tez/pom.xml                          |   282 -
 contrib/views/tez/readme.md                        |    90 -
 .../ambari/view/tez/ConfigurationService.java      |    50 -
 .../apache/ambari/view/tez/PropertyService.java    |    83 -
 .../org/apache/ambari/view/tez/ProxyServlet.java   |   130 -
 .../org/apache/ambari/view/tez/SettingService.java |    47 -
 .../org/apache/ambari/view/tez/ViewController.java |    64 -
 .../apache/ambari/view/tez/ViewControllerImpl.java |   110 -
 .../org/apache/ambari/view/tez/ViewStatus.java     |    44 -
 .../view/tez/exceptions/TezWebAppException.java    |   104 -
 .../ambari/view/tez/rest/AtsProxyResource.java     |    52 -
 .../ambari/view/tez/rest/BaseProxyResource.java    |    89 -
 .../view/tez/rest/BaseRedirectionResource.java     |    59 -
 .../ambari/view/tez/rest/RMProxyResource.java      |    52 -
 .../ambari/view/tez/rest/RMRedirectResource.java   |    51 -
 .../ambari/view/tez/rest/ViewStatusResource.java   |    46 -
 .../apache/ambari/view/tez/utils/ProxyHelper.java  |   106 -
 .../views/tez/src/main/resources/WEB-INF/web.xml   |    37 -
 .../main/resources/ui/ambari-scripts/init-view.js  |   302 -
 .../tez/src/main/resources/view.log4j.properties   |    27 -
 contrib/views/tez/src/main/resources/view.xml      |   102 -
 .../ambari/view/tez/utils/ProxyHelperTest.java     |    71 -
 .../views/wfmanager/src/main/resources/ui/.bowerrc |     5 +
 docs/pom.xml                                       |    39 +-
 docs/src/site/apt/index.apt                        |     2 +-
 docs/src/site/apt/whats-new.apt                    |    30 +-
 docs/src/site/site.xml                             |     2 +
 pom.xml                                            |    34 +-
 3717 files changed, 134885 insertions(+), 236137 deletions(-)
 delete mode 100644 .reviewboardrc
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/styles/bootstrap-overrides.css
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/styles/stack-versions.css
 create mode 100644 ambari-agent/src/main/python/ambari_agent/listeners/AgentActionsListener.py
 create mode 100644 ambari-agent/src/test/python/ambari_agent/TestConfigurationBuilder.py
 create mode 100644 ambari-agent/src/test/python/resource_management/TestTarArchive.py
 create mode 100644 ambari-common/src/main/python/ambari_commons/libs/__init__.py
 create mode 100644 ambari-common/src/main/python/ambari_commons/libs/ppc64le/__init__.py
 create mode 100644 ambari-common/src/main/python/ambari_commons/libs/ppc64le/_posixsubprocess.so
 create mode 100644 ambari-common/src/main/python/ambari_commons/libs/x86_64/__init__.py
 rename ambari-common/src/main/python/ambari_commons/{ => libs/x86_64}/_posixsubprocess.so (100%)
 create mode 100644 ambari-common/src/main/python/ambari_commons/repo_manager/repo_manager_helper.py
 create mode 100755 ambari-common/src/main/python/resource_management/libraries/functions/generate_logfeeder_input_config.py
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/Solr.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/TestUtil.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/solr/metrics/MetricsIT.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/solr/metrics/MockMetricsServer.java
 create mode 100644 ambari-infra/ambari-infra-solr-client/README.md
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/commands/DeleteZnodeZkCommand.java
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/commands/DumpCollectionsCommand.java
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/domain/json/SolrCollection.java
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/domain/json/SolrCoreData.java
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/java/org/apache/ambari/infra/solr/domain/json/SolrShard.java
 create mode 100755 ambari-infra/ambari-infra-solr-client/src/main/python/migrationConfigGenerator.py
 create mode 100755 ambari-infra/ambari-infra-solr-client/src/main/resources/ambariSolrMigration.sh
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/resources/data/security-without-authr.json
 create mode 100644 ambari-infra/ambari-infra-solr-client/src/main/resources/managed-schema
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/.gitignore
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/docker/Dockerfile
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/docker/docker-compose.yml
 create mode 100755 ambari-infra/ambari-infra-solr-plugin/docker/infra-solr-docker-compose.sh
 create mode 100755 ambari-infra/ambari-infra-solr-plugin/docker/infra-solr.sh
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/docker/solr.xml
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSCacheReporter.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSProtocol.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/AMSReporter.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/GaugeConverter.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/MetricsUtils.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporterBuilder.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/SimpleAMSReporter.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/SolrMetricsSecurityConfig.java
 create mode 100644 ambari-infra/ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/SolrMetricsSink.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/log4j.dtd
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/AmbariInfraSolrLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/AmbariLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/AtlasLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/HBaseLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/HDFSLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/HdfsAuditLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/HiveLogPatterntIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/JinjaFunctions.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/KafkaLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/KnoxLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/LayoutQuery.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/ListAppender.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Log4jContent.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Log4jProperties.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Log4jXml.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Log4jXmlProperties.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/MetricsLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/PatternITBase.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/RangerLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/SmartSenseLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/Spark2LogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/StackDefContent.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/StormLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/YarnLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/ZeppelinLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/java/org/apache/ambari/logsearch/patterns/ZookeeperLogPatternIT.java
 create mode 100644 ambari-logsearch/ambari-logsearch-it/src/test/resources/test-input-config/input.config-smartsense.json.j2
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/AbstractLogFileMonitor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/CheckpointCleanupMonitor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFileDetachMonitor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/monitor/LogFilePathUpdateMonitor.java
 delete mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh~HEAD
 delete mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh~trunk
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/AuditBarGraphBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/AuditComponentBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/AuditLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/AuditServiceLoadBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/BaseLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/BaseServiceLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ClusterBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/CommonSearchBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/FieldAuditBarGraphBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/FieldAuditLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/HostLogFilesBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceAnyGraphBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceGraphBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogAggregatedInfoBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogComponentHostBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogComponentLevelBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogExportBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogHostComponentBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogLevelCountBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/ServiceLogTruncatedBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/TopFieldAuditLogBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/body/UserExportBodyRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/AuditBarGraphQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/AuditComponentQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/AuditLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/AuditServiceLoadQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/BaseLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/BaseServiceLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/CommonSearchQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/EventHistoryQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/FieldAuditBarGraphQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/FieldAuditLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/HostLogFilesQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceAnyGraphQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceGraphQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogAggregatedInfoQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogComponentHostQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogComponentLevelQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogExportQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogHostComponentQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogLevelCountQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/ServiceLogTruncatedQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/TopFieldAuditLogQueryRequest.java
 create mode 100644 ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/query/UserExportQueryRequest.java
 delete mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh~HEAD
 delete mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh~trunk
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/models/log-type-tab.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/models/logs-state.ts
 delete mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/models/tab.ts
 delete mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/main-container/main-container.component.less
 delete mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/app-load/app-load.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/app-load/models/data-availability-state.model.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/app-load/services/app-load.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/app-load/stores/data-avaibility-state.store.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/animations.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/data-loading-indicator/data-loading-indicator.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/data-loading-indicator/data-loading-indicator.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/data-loading-indicator/data-loading-indicator.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/components/data-loading-indicator/data-loading-indicator.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shared/notifications.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/modules/shipper/services/shipper.guard.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/login-screen-guard.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/logs-breadcrumbs-resolver.service.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/logs-breadcrumbs-resolver.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/logs-filtering-utils.service.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/logs-filtering-utils.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/storage/logs-state.service.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/tab.guard.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/tab.guard.ts
 copy {ambari-web/app/assets/img => ambari-logsearch/ambari-logsearch-web/src/assets/images}/ambari-logo.png (100%)
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.eot
 copy {ambari-web/vendor/theme => ambari-logsearch/ambari-logsearch-web/src/vendor/css}/fonts/Roboto-Bold-webfont.svg (100%)
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/vendor/css/fonts/Roboto-Bold-webfont.ttf
 copy {ambari-web/vendor/theme => ambari-logsearch/ambari-logsearch-web/src/vendor/css}/fonts/Roboto-Bold-webfont.woff (100%)
 create mode 100644 ambari-logsearch/docker/test-config/logfeeder/shipper-conf/input.config-storm.json
 create mode 100644 ambari-logsearch/docker/test-logs/storm/worker-logs/streamline-1-TestAgg-2-3/6700/worker.log
 create mode 100644 ambari-logsearch/docker/test-logs/storm/worker-logs/streamline-1-TestAgg-2-3/6701/worker.log
 create mode 100644 ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetricUtils.java
 create mode 100644 ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricSinkTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/AbstractTimelineMetricSinkTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/conf/unix/hbase-site.xml
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/AMSApplicationServer.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/LoadRunner.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/MetricsLoadSimulator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/MetricsSenderWorker.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/AppID.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/AppMetrics.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/ApplicationInstance.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/HostMetricsGenerator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/Metric.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/data/MetricsGeneratorConfigurer.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/net/MetricsSender.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/net/RestMetricsSender.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/net/StdOutMetricsSender.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/net/UrlService.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/util/Json.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/util/RandomMetricsProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/loadsimulator/util/TimeStampProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/FunctionUtils.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/HBaseTimelineMetricsService.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/MetricsCacheCommitterThread.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/MetricsSystemInitializationException.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/PhoenixHBaseAccessor.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricConfiguration.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricDistributedCache.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricServiceSummary.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricSplitPointComputer.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricStore.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricStoreWatcher.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsAggregatorSink.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilter.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsIgniteCache.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/TransientMetricReadHelper.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/AbstractTimelineAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/AggregatorUtils.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/CustomDownSampler.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/DownSamplerUtils.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/EventMetricDownSampler.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/Function.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineClusterMetric.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricAggregatorFactory.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricAppAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricClusterAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricClusterAggregatorSecond.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricClusterAggregatorSecondWithCacheSource.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricFilteringHostAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricHostAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricReadHelper.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/TopNDownSampler.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/v2/TimelineMetricClusterAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/v2/TimelineMetricFilteringHostAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/aggregators/v2/TimelineMetricHostAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/availability/AggregationTaskRunner.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/availability/CheckpointManager.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/availability/MetricCollectorHAController.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/availability/OnlineOfflineStateModelFactory.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/discovery/TimelineMetricHostMetadata.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/discovery/TimelineMetricMetadataKey.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/discovery/TimelineMetricMetadataManager.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/discovery/TimelineMetricMetadataSync.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/AbstractTimelineMetricsSeriesAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/SeriesAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesAggregateFunctionFactory.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesAvgAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesMaxAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesMinAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesSumAggregateFunction.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/Condition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/ConditionBuilder.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/ConnectionProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/DefaultCondition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/DefaultPhoenixDataSource.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/EmptyCondition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/PhoenixConnectionProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/PhoenixTransactSQL.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/SplitByMetricNamesCondition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/TopNCondition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/query/TransientMetricCondition.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/sink/DefaultFSSinkProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/sink/ExternalMetricsSink.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/sink/ExternalSinkProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/sink/HttpSinkProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/sink/KafkaSinkProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/DefaultInternalMetricsSourceProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/InternalMetricsSource.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/InternalSourceProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/RawMetricsSource.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/cache/InternalMetricCacheKey.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/cache/InternalMetricCacheValue.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/cache/InternalMetricsCache.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/cache/InternalMetricsCacheProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/source/cache/InternalMetricsCacheSizeOfEngine.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/upgrade/core/AbstractPhoenixMetricsCopier.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/upgrade/core/MetricsDataMigrationLauncher.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/upgrade/core/PhoenixClusterMetricsCopier.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/upgrade/core/PhoenixHostMetricsCopier.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/uuid/HashBasedUuidGenStrategy.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/uuid/MD5UuidGenStrategy.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/uuid/MetricUuidGenStrategy.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/uuid/Murmur3HashUuidGenStrategy.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/uuid/TimelineMetricUuid.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationAttemptFinishData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationAttemptHistoryData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationAttemptStartData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationFinishData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationHistoryData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ApplicationStartData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ContainerFinishData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ContainerHistoryData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/ContainerStartData.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ApplicationAttemptFinishDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ApplicationAttemptStartDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ApplicationFinishDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ApplicationStartDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ContainerFinishDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/records/impl/pb/ContainerStartDataPBImpl.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/timeline/GenericObjectMapper.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/timeline/NameValuePair.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/timeline/TimelineReader.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/timeline/TimelineStore.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/timeline/TimelineWriter.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/webapp/AMSController.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/webapp/AMSWebApp.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/webapp/JAXBContextResolver.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/webapp/TimelineWebServices.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryClientService.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManager.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryServer.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryWriter.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/FileSystemApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/NullApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsSenderWorker.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppMetrics.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/ApplicationInstance.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/HostMetricsGenerator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/Metric.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/MetricsGeneratorConfigurer.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/MetricsSender.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/StdOutMetricsSender.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/UrlService.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/util/Json.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/util/RandomMetricsProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/util/TimeStampProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/MetricsCacheCommitterThread.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/MetricsSystemInitializationException.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricConfiguration.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricStoreWatcher.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricsAggregatorSink.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricsFilter.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/AbstractTimelineAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/AggregatorUtils.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/CustomDownSampler.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/DownSamplerUtils.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/EventMetricDownSampler.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/Function.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineClusterMetric.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricAggregatorFactory.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricAppAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricClusterAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricClusterAggregatorSecond.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricHostAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricReadHelper.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TopNDownSampler.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/v2/TimelineMetricClusterAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/v2/TimelineMetricHostAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/availability/AggregationTaskRunner.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/availability/CheckpointManager.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/availability/MetricCollectorHAController.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/availability/OnlineOfflineStateModelFactory.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/discovery/TimelineMetricMetadataKey.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/discovery/TimelineMetricMetadataManager.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/discovery/TimelineMetricMetadataSync.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/AbstractTimelineMetricsSeriesAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/SeriesAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesAggregateFunctionFactory.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesAvgAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesMaxAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesMinAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesSumAggregateFunction.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/Condition.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/ConditionBuilder.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/ConnectionProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/DefaultCondition.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/DefaultPhoenixDataSource.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/EmptyCondition.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/PhoenixConnectionProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/PhoenixTransactSQL.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/SplitByMetricNamesCondition.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/TopNCondition.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptFinishData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptHistoryData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationAttemptStartData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationFinishData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationStartData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerFinishData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerHistoryData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ContainerStartData.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationAttemptFinishDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationAttemptStartDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationFinishDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationStartDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ContainerFinishDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ContainerStartDataPBImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/EntityIdentifier.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/GenericObjectMapper.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/LeveldbTimelineStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/MemoryTimelineStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/NameValuePair.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TimelineReader.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TimelineStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TimelineWriter.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/package-info.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSController.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSLogsPage.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSView.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebApp.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AppAttemptPage.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AppPage.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/ContainerPage.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/JAXBContextResolver.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/NavBlock.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TimelineWebServices.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMBARI_SERVER.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMSSMOKETESTFAKE.DAT
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMSSMOKETESTFAKE.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/HBASE_MASTER.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/HBASE_REGIONSERVER.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/JOBHISTORYSERVER.dat
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/MASTER_HBASE.dat
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/SLAVE_HBASE.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/TIMELINE_METRIC_STORE_WATCHER.DAT
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/TIMELINE_METRIC_STORE_WATCHER.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/data/TestAppMetrics.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/data/TestMetric.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/jmetertest/jmetertest/AMSJMeterLoadTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/jmetertest/jmetertest/AppGetMetric.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/jmetertest/jmetertest/GetMetricRequestInfo.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/jmetertest/jmetertest/JmeterTestPlanTask.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/net/TestRestMetricsSender.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/net/TestStdOutMetricsSender.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/util/TestRandomMetricsProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/loadsimulator/util/TestTimeStampProvider.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/AbstractMiniHBaseClusterTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/AbstractPhoenixConnectionlessTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/FunctionTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/HBaseTimelineMetricsServiceTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/ITPhoenixHBaseAccessor.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/MetricTestHelper.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/PhoenixHBaseAccessorTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TestClusterSuite.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TestMetricHostAggregate.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TestPhoenixTransactSQL.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TestTimelineMetricStore.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricSplitPointComputerTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricStoreWatcherTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsAggregatorMemorySink.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilterTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsIgniteCacheTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TopNConditionTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/AbstractTimelineAggregatorTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/DownSamplerTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/ITClusterAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/ITMetricAggregator.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricClusterAggregatorSecondTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/aggregators/TimelineMetricClusterAggregatorSecondWithCacheSourceTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/availability/MetricCollectorHAControllerTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/discovery/TestMetadataManager.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/discovery/TestMetadataSync.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/function/TimelineMetricsSeriesAggregateFunctionTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/query/DefaultConditionTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/source/RawMetricsSourceTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/uuid/MetricUuidGenStrategyTest.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/timeline/TestGenericObjectMapper.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/webapp/TestTimelineWebServices.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryStoreTestUtils.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryClientService.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerImpl.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryServer.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestFileSystemApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/TestAppMetrics.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/TestMetric.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/jmetertest/AMSJMeterLoadTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/jmetertest/AppGetMetric.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/jmetertest/GetMetricRequestInfo.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/jmetertest/JmeterTestPlanTask.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/TestRestMetricsSender.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/TestStdOutMetricsSender.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/util/TestRandomMetricsProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/util/TestTimeStampProvider.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/AbstractMiniHBaseClusterTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/AbstractPhoenixConnectionlessTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/FunctionTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStoreTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/ITPhoenixHBaseAccessor.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/MetricTestHelper.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessorTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TestClusterSuite.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TestMetricHostAggregate.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TestPhoenixTransactSQL.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TestTimelineMetricStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricStoreWatcherTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricsAggregatorMemorySink.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TimelineMetricsFilterTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/TopNConditionTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/AbstractTimelineAggregatorTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/DownSamplerTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/ITClusterAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/ITMetricAggregator.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/aggregators/TimelineMetricClusterAggregatorSecondTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/availability/MetricCollectorHAControllerTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/discovery/TestMetadataManager.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/discovery/TestMetadataSync.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/function/TimelineMetricsSeriesAggregateFunctionTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/query/DefaultConditionTest.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TestGenericObjectMapper.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TestLeveldbTimelineStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TestMemoryTimelineStore.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/timeline/TimelineStoreTestUtils.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebApp.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebServices.java
 delete mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestTimelineWebServices.java
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/resources/test_data/full_whitelist.dat
 create mode 100644 ambari-metrics/ambari-metrics-timelineservice/src/test/resources/test_data/metric_blacklist.dat
 create mode 100644 ambari-server/docs/security/sso/index.md
 create mode 100644 ambari-server/findbugs.exclude.xml
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/RecoveryConfigComponent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/ReportsResponse.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/StompResponse.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/AckReport.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HashAndTimestampIgnoreMixIn.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HashIgnoreMixIn.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/SingleSignOnConfigurationRecommendationCommand.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewUrlsService.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheck.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/checks/MissingOsInRepoVersionCheck.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/configuration/SingleFileWatch.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/HostComponentSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosDetails.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleRequestSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleResponseSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/ViewUrlResponseSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerSSOConfigurationHandler.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/AgentActionEvent.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/AmbariHostUpdateEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/AmbariPropertiesChangedEvent.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/AmbariUpdateEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/ClusterProvisionedEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/MessageNotDelivered.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/STOMPEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/STOMPHostEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/ServiceCredentialStoreUpdateEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/listeners/requests/STOMPUpdateListener.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/listeners/requests/StateUpdateListener.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/publishers/STOMPUpdatePublisher.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/publishers/StateUpdateEventPublisher.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariUserDetails.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/jwt/JwtAuthenticationPropertiesProvider.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/UserIdAuthentication.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/AddComponentAction.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/CreateZeppelinSiteConfig.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/DeleteUnsupportedServicesAndComponents.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentSupport.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/AddComponentTask.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RegenerateKeytabsTask.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/topology/STOMPComponentsDeleteHandler.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyDeleteFormer.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/utils/ScheduledExecutorCompletionService.java
 create mode 100644 ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/0.1.0/package/templates/infra-solr.conf.j2
 create mode 100644 ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-infra-solr-collections.json
 create mode 100644 ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-infra-solr-cores.json
 create mode 100644 ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-infra-solr-hosts.json
 create mode 100644 ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/pre_upgrade.py
 create mode 100755 ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/alerts/alert_logfeeder.py
 delete mode 100644 ambari-server/src/main/resources/custom_actions/scripts/ru_set_all.py
 create mode 100644 ambari-server/src/main/resources/custom_actions/scripts/stack_select_set_all.py
 delete mode 100644 ambari-server/src/main/resources/slider_resources/README.txt
 create mode 100644 ambari-server/src/main/resources/stack-hooks/before-SET_KEYTAB/scripts/hook.py
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/agent/stomp/AgentDataHolderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/agent/stomp/dto/MetadataClusterTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/checks/MissingOsInRepoVersionCheckTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/configuration/SingleFileWatchTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AmbariServerSSOConfigurationHandlerTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/AddComponentActionTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentSupportTest.java
 create mode 100644 ambari-server/src/test/python/TestServiceAdvisor.py
 delete mode 100644 ambari-server/src/test/python/custom_actions/test_ru_set_all.py
 create mode 100644 ambari-server/src/test/python/custom_actions/test_stack_select_set_all.py
 create mode 100644 ambari-server/src/test/python/hdfs.json
 create mode 100644 ambari-server/src/test/python/stacks/2.0.6/AMBARI_METRICS/test_metrics_monitor.py
 create mode 100644 ambari-server/src/test/python/stacks/2.0.6/hooks/before-SET_KEYTAB/test_before_set_keytab.py
 create mode 100644 ambari-server/src/test/python/validation-hosts.json
 create mode 100644 ambari-utility/src/main/java/org/apache/ambari/annotations/SwaggerOverwriteNestedAPI.java
 create mode 100644 ambari-utility/src/main/java/org/apache/ambari/annotations/SwaggerPreferredParent.java
 delete mode 100644 ambari-views/examples/weather-view/docs/index.md
 delete mode 100644 ambari-views/examples/weather-view/docs/paloalto.png
 delete mode 100644 ambari-views/examples/weather-view/docs/weather.png
 delete mode 100644 ambari-views/examples/weather-view/pom.xml
 delete mode 100644 ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResource.java
 delete mode 100644 ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResourceProvider.java
 delete mode 100644 ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityService.java
 delete mode 100644 ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/WeatherServlet.java
 delete mode 100644 ambari-views/examples/weather-view/src/main/resources/WEB-INF/web.xml
 delete mode 100644 ambari-views/examples/weather-view/src/main/resources/view.xml
 delete mode 100644 ambari-web/app/controllers/main/admin/highAvailability/journalNode/step8_controller.js
 create mode 100644 ambari-web/app/mixins/main/service/summary/hdfs_summary_widgets.js
 create mode 100644 ambari-web/app/mixins/wizard/wizard_misc_property_checker.js
 delete mode 100644 ambari-web/app/models/stack_version/repository.js
 delete mode 100644 ambari-web/app/templates/main/admin/highAvailability/journalNode/step8.hbs
 create mode 100644 ambari-web/app/templates/main/service/info/summary/hdfs/common_widgets.hbs
 create mode 100644 ambari-web/app/templates/main/service/info/summary/hdfs/slaves.hbs
 create mode 100644 ambari-web/app/templates/main/service/services/onefs.hbs
 create mode 100644 ambari-web/app/templates/main/service/widgets/create/step2_component_dropdown.hbs
 create mode 100644 ambari-web/app/templates/wizard/installer_cancel_button.hbs
 create mode 100644 ambari-web/app/templates/wizard/step1/editable_repo.hbs
 create mode 100644 ambari-web/app/templates/wizard/step4/step4_service_validation_popup.hbs
 delete mode 100644 ambari-web/app/views/main/admin/highAvailability/journalNode/step8_view.js
 create mode 100644 ambari-web/app/views/main/dashboard/widgets/yarn_containers.js
 create mode 100644 ambari-web/app/views/main/service/info/summary/hdfs/common_widgets.js
 create mode 100644 ambari-web/app/views/main/service/info/summary/hdfs/slaves.js
 create mode 100644 ambari-web/app/views/main/service/services/onefs.js
 delete mode 100644 ambari-web/test/controllers/main/admin/highAvailability/journalNode/step8_controller_test.js
 create mode 100644 ambari-web/test/views/main/service/info/summary/hdfs/slaves_test.js
 create mode 100644 ambari-web/vendor/scripts/jszip.min.js
 create mode 100644 contrib/views/capacity-scheduler/src/main/resources/ui/.bowerrc
 delete mode 100644 contrib/views/hawq/.gitignore
 delete mode 100644 contrib/views/hawq/README.md
 delete mode 100644 contrib/views/hawq/pom.xml
 delete mode 100644 contrib/views/hawq/src/main/java/org/apache/ambari/view/hawq/HAWQDataSource.java
 delete mode 100644 contrib/views/hawq/src/main/java/org/apache/ambari/view/hawq/JsonApiResource.java
 delete mode 100644 contrib/views/hawq/src/main/java/org/apache/ambari/view/hawq/QueryResource.java
 delete mode 100644 contrib/views/hawq/src/main/java/org/apache/ambari/view/hawq/QueryResourceProvider.java
 delete mode 100644 contrib/views/hawq/src/main/java/org/apache/ambari/view/hawq/QueryService.java
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/.bowerrc
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/.editorconfig
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/.ember-cli
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/.gitignore
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/.jshintrc
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/adapters/query.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/app.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/components/query-table.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/controllers/.gitkeep
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/helpers/.gitkeep
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/index.html
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/models/query.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/resolver.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/router.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/routes/application.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/routes/main.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/serializers/query.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/styles/app.scss
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/templates/application.hbs
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/templates/components/query-table.hbs
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/templates/main.hbs
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/app/utils/utils.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/bower.json
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/config/environment.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/ember-cli-build.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/package.json
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/public/assets/logo-hawq.png
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/testem.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/.jshintrc
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/acceptance/application-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/helpers/destroy-app.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/helpers/module-for-acceptance.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/helpers/resolver.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/helpers/start-app.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/helpers/test-helper.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/index.html
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/integration/components/query-table-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/test-helper.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/unit/adapters/query-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/unit/models/query-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/unit/routes/main-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/unit/serializers/query-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/tests/unit/utils/utils-test.js
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/vendor/.gitkeep
 delete mode 100644 contrib/views/hawq/src/main/resources/ui/yarn.lock
 delete mode 100644 contrib/views/hawq/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/hawq/src/main/resources/view.xml
 delete mode 100644 contrib/views/hawq/src/test/java/org/apache/ambari/view/hawq/HAWQDataSourceTest.java
 delete mode 100644 contrib/views/hawq/src/test/java/org/apache/ambari/view/hawq/QueryResourceProviderTest.java
 delete mode 100644 contrib/views/hive-next/pom.xml
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/AuthParams.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/BaseService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/ConnectionDelegate.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/ConnectionFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/ConnectionSystem.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/DataMigrator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/HelpService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/HiveJdbcConnectionDelegate.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/HiveViewImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/PropertyValidator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/TestBean.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/DeathWatch.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/HiveActor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/JdbcConnector.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/LogAggregator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/OperationController.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/StatementExecutor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/YarnAtsGUIDFetcher.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/Connect.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/CursorReset.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ExecuteJob.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ExecuteQuery.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/FetchError.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/FetchResult.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/GetColumnMetadataJob.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/GetMoreLogs.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/HiveJob.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/HiveMessage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/JobRejected.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/JobSubmitted.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/LogAggregationFinished.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/RegisterActor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ResetCursor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ResultInformation.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ResultNotReady.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/ResultReady.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/RunStatement.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/SQLStatementJob.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/StartLogAggregation.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/AsyncExecutionFailed.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/CancelJob.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/ExecuteNextStatement.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/ExecutionFailed.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/Failure.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/FetchFailed.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/Next.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoResult.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/Result.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/ResultSetHolder.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/SaveDagInformation.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/SaveGuidToDB.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/UpdateYarnAtsGuid.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/CleanUp.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/DestroyConnector.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/FreeConnector.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/InactivityCheck.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/KeepAlive.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/lifecycle/TerminateInactivityCheck.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/backgroundjobs/BackgroundJobController.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/backgroundjobs/BackgroundJobException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/AsyncJobRunner.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/AsyncJobRunnerImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/ColumnDescription.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/ColumnDescriptionExtended.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/ColumnDescriptionShort.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/ConnectionConfig.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/Cursor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/DDLDelegator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/DDLDelegatorImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/EmptyCursor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/HiveAuthCredentials.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/HiveAuthRequiredException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/HiveClientAuthRequiredException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/HiveClientException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/HiveClientRuntimeException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/PersistentCursor.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/Row.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/exceptions/NotConnectedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/AsyncExecutionFailure.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/AsyncExecutionSuccess.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/Connectable.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/ConnectionException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/ConnectionProperties.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/ConnectionSupplier.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/ContextSupplier.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/DataStorageSupplier.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/DefaultSupplier.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/Either.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HdfsApiSupplier.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HiveConnectionWrapper.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HiveQuery.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HiveResult.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HiveTask.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/HiveTaskMessage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/internal/SafeViewContext.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/DataStoreStorage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/IStorageFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/InstanceKeyValueStorage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/KeyValueStorage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/LocalKeyValueStorage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/PersistentConfiguration.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/Storage.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/ContextConfigurationAdapter.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/FilteringStrategy.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/Indexed.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/ItemNotFound.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/OnlyOwnersFilteringStrategy.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/Owned.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/PersonalResource.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/persistence/utils/StorageFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/CRUDResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/IResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/PersonalCRUDResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/SharedCRUDResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/browser/ConnectionService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/browser/HiveBrowserService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/files/FileResource.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/files/FileService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobResourceProvider.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/ModifyNotificationDelegate.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/ModifyNotificationInvocationHandler.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/NoOperationStatusSetException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/ProgressRetriever.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/ResultsPaginationController.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/ATSParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/ATSParserFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/ATSRequestsDelegate.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/ATSRequestsDelegateImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/HiveQueryId.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/IATSParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/TezDagId.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/atsJobs/TezVertexId.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/rm/RMParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/rm/RMParserFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/rm/RMRequestsDelegate.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/rm/RMRequestsDelegateImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/IJobControllerFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobInfo.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/resources/FileResourceItem.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/resources/FileResourceResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/resources/FileResourceResourceProvider.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/resources/FileResourceService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/savedQueries/SavedQuery.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/savedQueries/SavedQueryResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/savedQueries/SavedQueryResourceProvider.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/savedQueries/SavedQueryService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/udfs/UDF.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/udfs/UDFResourceManager.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/udfs/UDFResourceProvider.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/udfs/UDFService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/CSVParams.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/ColumnDescriptionImpl.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/HiveFileType.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/TableDataReader.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/TableInput.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/UploadFromHdfsInput.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/UploadService.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/DataParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/EndOfDocumentException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/IParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/ParseOptions.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/ParseUtils.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/Parser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/PreviewData.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/RowIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/RowMapIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/csv/commonscsv/CSVIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/csv/commonscsv/CSVParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/csv/opencsv/OpenCSVIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/csv/opencsv/OpenCSVParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/json/JSONIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/json/JSONParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/xml/XMLIterator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/parsers/xml/XMLParser.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/DeleteQueryInput.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/InsertFromQueryInput.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/LoadQueryInput.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/QueryGenerator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/RowFormat.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/uploads/query/TableInfo.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/BadRequestFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/Constants.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/FilePaginator.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/HiveActorConfiguration.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/HiveClientFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/LoggingOutputStream.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/MisconfigurationFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/NotFoundFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/ResultFetchFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/ResultNotReadyFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/ServiceCheck.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/ServiceFormattedException.java
 delete mode 100644 contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/utils/SharedObjectsFactory.java
 delete mode 100644 contrib/views/hive-next/src/main/resources/application.conf
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.bowerrc
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.editorconfig
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.ember-cli
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.gitignore
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.jshintrc
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/.travis.yml
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/Brocfile.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/README.md
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/application.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/database.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/file-upload.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/file.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/service-check.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/adapters/upload-table.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/app.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/alert-message-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/collapsible-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/column-filter-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/date-range-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/expander-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/extended-input.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/file-upload.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/input-header.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/job-tr-view.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/modal-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/navbar-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/no-bubbling.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/notify-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/number-range-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/panel-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/popover-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/progress-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/query-editor.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/query-settings.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/radio-button.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/select-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/tabs-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/tree-view.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/typeahead-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/udf-tr-view.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/upload-query.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/validated-text-field.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/components/visualization-tabs-widget.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/application.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/databases.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/history.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/index.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/index/history-query/explain.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/index/history-query/logs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/index/history-query/results.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/insert-udfs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/messages.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/modal-delete.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/modal-save-query.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/modal-save.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/open-queries.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/queries.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/query-tabs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/splash.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/tez-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/udfs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/upload-table.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/visual-explain.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/controllers/visualization-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/all-uppercase.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/code-helper.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/date-binding.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/format-column-type.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/log-helper.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/path-binding.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/preformatted-string.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/helpers/tb-helper.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/index.html
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/initializers/i18n.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/mixins/filterable.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/mixins/sortable.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/database.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/file-resource.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/file.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/job.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/saved-query.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/models/udf.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/router.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/application.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/history.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/history-query/explain.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/history-query/index.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/history-query/logs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/history-query/results.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/index.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/index/saved-query.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/loading.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/messages.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/queries.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/splash.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/tez-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/udfs.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/visual-explain.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/routes/visualization-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/serializers/database.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/serializers/file.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/database.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/file.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/history.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/job-progress.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/job.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/ldap.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/notify.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/session.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/services/settings.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/app.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/dropdown-submenu.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/mixins.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/notifications.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/query-tabs.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/styles/vars.scss
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/application.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/alert-message-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/collapsible-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/column-filter-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/date-range-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/expander-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/input-header.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/job-tr-view.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/modal-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/navbar-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/no-bubbling.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/notify-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/number-range-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/panel-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/popover-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/progress-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/query-editor.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/query-settings.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/select-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/tabs-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/tree-view.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/udf-tr-view.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/validated-text-field.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/components/visualization-tabs-widget.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/databases-search-results.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/databases-tree.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/databases.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/history.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/index.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/index/history-query/explain.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/index/history-query/logs.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/index/history-query/results.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/insert-udfs.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/loading.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/logs.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/message.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/messages.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/modal-delete.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/modal-save-query.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/modal-save.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/notification.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/open-queries.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/queries.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/query-tabs.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/redirect.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/splash.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/tez-ui.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/udfs.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/upload-table.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/visual-explain.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/templates/visualization-ui.hbs
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/transforms/date.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/utils/constants.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/utils/dag-rules.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/utils/functions.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/index.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/message.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/messages.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/notification.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/tez-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/visual-explain.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/app/views/visualization-ui.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/big_tables.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/bower.json
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/config/environment.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/package.json
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/testem.json
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/.jshintrc
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/blanket-options.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/helpers/api-mock.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/helpers/dbclick.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/helpers/resolver.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/helpers/start-app.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/img/spinner.gif
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/index.html
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/database-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/history-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/query-editor-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/saved-queries-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/tez-ui-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/integration/udfs-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/test-helper.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/adapters/application.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/adapters/file.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/alert-message-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/collapsible-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/column-filter-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/date-range-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/expander-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/extended-input-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/job-tr-view-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/modal-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/no-bubbling-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/number-range-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/popover-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/progress-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/query-editor-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/query-settings-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/select-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/tabs-wiget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/typeahead-widget-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/components/udf-tr-view-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/databases-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/history-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/index-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/insert-udfs-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/open-queries-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/queries-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/tez-ui-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/controllers/udfs-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/helpers/path-binding-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/routes/messages-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/routes/tez-ui-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/routes/visual-explain-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/services/notify-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/tests/unit/services/settings-test.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/.gitkeep
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/browser-pollyfills.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/codemirror-min.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/codemirror.css
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/show-hint.css
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/show-hint.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/codemirror/sql-hint.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/vendor/dagre.min.js
 delete mode 100644 contrib/views/hive-next/src/main/resources/ui/hive-web/yarn.lock
 delete mode 100644 contrib/views/hive-next/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/hive-next/src/main/resources/view.xml
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/AsyncJobRunnerImplTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/ConnectionFailuresTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/HiveJdbcConnectionDelegateTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/JobExecutionTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/PropertyValidatorTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/ResultSetIteratorTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/CSVParserTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/DataParserCSVTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/DataParserJSONTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/DataParserXMLTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/JsonParserTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/OpenCSVParserTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/OpenCSVTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/ParseUtilsTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/QueryGeneratorTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/TableDataReaderTest.java
 delete mode 100644 contrib/views/hive-next/src/test/java/org/apache/ambari/view/hive2/resources/upload/XMLParserTest.java
 delete mode 100644 contrib/views/hive20/pom.xml
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/AuthParams.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/BaseService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/ConnectionDelegate.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/ConnectionFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/ConnectionSystem.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/Constants.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/DataMigrator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/HelpService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/HiveJdbcConnectionDelegate.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/HiveViewImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/PropertyValidator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/TestBean.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/DeathWatch.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/HiveActor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/JdbcConnector.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/LogAggregator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/OperationController.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/StatementExecutor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/YarnAtsGUIDFetcher.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/Connect.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/CursorReset.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ExecuteJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ExecuteQuery.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/FetchError.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/FetchResult.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/GetColumnMetadataJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/GetDatabaseMetadataJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/GetMoreLogs.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/HiveJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/HiveMessage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/JobRejected.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/JobSubmitted.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/LogAggregationFinished.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/RegisterActor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ResetCursor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ResultInformation.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ResultNotReady.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/ResultReady.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/RunStatement.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/SQLStatementJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/StartLogAggregation.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/AsyncExecutionFailed.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/AuthenticationFailed.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/CancelJob.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/ExecuteNextStatement.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/ExecutionFailed.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/Failure.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/FetchFailed.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/Next.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoResult.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/Result.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/ResultSetHolder.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/SaveDagInformation.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/SaveGuidToDB.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/UpdateYarnAtsGuid.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/CleanUp.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/DestroyConnector.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/FreeConnector.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/InactivityCheck.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/KeepAlive.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/lifecycle/TerminateInactivityCheck.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/backgroundjobs/BackgroundJobController.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/backgroundjobs/BackgroundJobException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/AsyncJobRunner.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/AsyncJobRunnerImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/ColumnDescription.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/ColumnDescriptionExtended.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/ColumnDescriptionShort.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/ConnectionConfig.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/Cursor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/DDLDelegator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/DDLDelegatorImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/DatabaseMetadataWrapper.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/EmptyCursor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/HiveAuthCredentials.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/HiveAuthRequiredException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/HiveClientAuthRequiredException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/HiveClientException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/HiveClientRuntimeException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/PersistentCursor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/Row.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/exceptions/NotConnectedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/exceptions/ServiceException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/AsyncExecutionFailure.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/AsyncExecutionSuccess.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/Connectable.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/ConnectionException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/ConnectionProperties.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/ConnectionSupplier.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/ContextSupplier.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/DataStorageSupplier.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/DefaultSupplier.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/Either.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HdfsApiSupplier.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HiveConnectionWrapper.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HiveQuery.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HiveResult.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HiveTask.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/HiveTaskMessage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/SafeViewContext.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/ColumnInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/ColumnOrder.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/ColumnStats.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/DatabaseInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/DatabaseResponse.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/DetailedTableInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/Order.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/PartitionInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/Section.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/StorageInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/TableInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/TableMeta.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/TableResponse.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/TableStats.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/dto/ViewInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/AbstractTableMetaParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/ColumnInfoParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/CreateTableStatementParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/DatabaseMetadataExtractor.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/DetailedTableInfoParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/ParserUtils.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/PartitionInfoParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/StorageInfoParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/TableMetaParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/TableMetaParserImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/TableMetaSectionParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/parsers/ViewInfoParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/AlterTableQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/AnalyzeTableQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/CreateDatabaseQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/CreateTableQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/DeleteDatabaseQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/DeleteTableQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/FetchColumnStatsQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/InsertFromQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/QueryGenerationUtils.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/QueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/internal/query/generators/RenameTableQueryGenerator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/DataStoreStorage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/IStorageFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/InstanceKeyValueStorage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/KeyValueStorage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/LocalKeyValueStorage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/PersistentConfiguration.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/Storage.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/ContextConfigurationAdapter.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/FilteringStrategy.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/Indexed.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/ItemNotFound.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/OnlyOwnersFilteringStrategy.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/Owned.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/PersonalResource.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/persistence/utils/StorageFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/CRUDResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/IResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/PersonalCRUDResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/SharedCRUDResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/browser/ConnectionService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/browser/DDLProxy.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/browser/DDLService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/browser/FileService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/files/FileResource.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/files/FileService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/Aggregator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/JobResourceProvider.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/JobService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/JobServiceInternal.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/ModifyNotificationDelegate.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/ModifyNotificationInvocationHandler.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/NoOperationStatusSetException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/ProgressRetriever.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/ResultsPaginationController.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/ATSParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/ATSParserFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/ATSRequestsDelegate.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/ATSRequestsDelegateImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/HiveQueryId.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/IATSParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/TezDagId.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/atsJobs/TezVertexId.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/rm/RMParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/rm/RMParserFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/rm/RMRequestsDelegate.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/rm/RMRequestsDelegateImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/IJobControllerFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/Job.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobController.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobControllerFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobControllerImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobInfo.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/jobs/viewJobs/JobResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/resources/FileResourceItem.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/resources/FileResourceResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/resources/FileResourceResourceProvider.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/resources/FileResourceService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/savedQueries/SavedQuery.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/savedQueries/SavedQueryResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/savedQueries/SavedQueryResourceProvider.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/savedQueries/SavedQueryService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/settings/Setting.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/settings/SettingsResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/settings/SettingsService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/system/ServiceCheck.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/system/SystemService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/system/ranger/RangerException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/system/ranger/RangerService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/udfs/UDF.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/udfs/UDFResourceManager.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/udfs/UDFResourceProvider.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/udfs/UDFService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/CSVParams.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/ColumnDescriptionImpl.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/HiveFileType.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/TableDataReader.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/UploadFromHdfsInput.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/UploadService.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/DataParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/EndOfDocumentException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/IParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/ParseOptions.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/ParseUtils.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/Parser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/PreviewData.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/RowIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/RowMapIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/csv/commonscsv/CSVIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/csv/commonscsv/CSVParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/csv/opencsv/OpenCSVIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/csv/opencsv/OpenCSVParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/json/JSONIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/json/JSONParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/xml/XMLIterator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/parsers/xml/XMLParser.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/query/DeleteQueryInput.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/query/InsertFromQueryInput.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/resources/uploads/query/LoadQueryInput.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/AuthorizationChecker.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/BadRequestFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/FilePaginator.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/HiveActorConfiguration.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/HiveClientFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/LoggingOutputStream.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/MisconfigurationFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/NotFoundFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/ResultFetchFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/ResultNotReadyFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/ServiceFormattedException.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/SharedObjectsFactory.java
 delete mode 100644 contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/utils/UniqueConstraintViolationException.java
 delete mode 100644 contrib/views/hive20/src/main/resources/application.conf
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.bowerrc
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.editorconfig
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.ember-cli
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.gitignore
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.jshintrc
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.travis.yml
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/.watchmanconfig
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/README.md
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/application.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/auth.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/database.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/ddl.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/file-resource.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/file-uploader.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/hdfs-viewer.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/job.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/ranger.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/saved-query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/service-check.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/table-info.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/udf.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/adapters/upload-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/app.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/breakpoints.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/alert-message-display.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/alert-message.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/column-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/confirm-dialog.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/create-database-form.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/create-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/csv-format-params.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/database-search-bar.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/edit-setting-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/edit-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/export-result.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/fileresource-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/hdfs-viewer-modal.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/info-dialog.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/job-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/jobs-browser.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/list-filter.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/list-group.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/list-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/multiple-database-search-bar.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/notification-message.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/property-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/query-editor.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/query-result-log.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/query-result-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/radio-button.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/service-check-entry.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/setting-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/setting-list.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/simple-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/table-advanced-settings.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/table-columns.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/table-properties.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/table-rename-form.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/table-statistics.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/tabs-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/tabs-pane.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/top-application-bar.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/udf-edit.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/udf-item.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/udf-new.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/upload-table-source.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/upload-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/validated-text-field.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/visual-explain-detail.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/components/visual-explain.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/create-table-tabs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/datatypes.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/edit-table-tabs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/file-format.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/helpers.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/hive-parameters.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/non-printable-escape-chars.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/result-tabs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/service-check-status.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/table-level-tabs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/configs/top-level-tabs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/application.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/jobs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/messages.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/password.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/queries.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/saved-query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/savedqueries.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/service-check.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/udfs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/controllers/udfs/new.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/alert-message-context-class.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/alert-message-icon-class.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/extract-value.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/format-column-size.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/shorten-text.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/helpers/to-json.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/index.html
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/initializers/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/initializers/responsive.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/locales/en/translations.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/mixins/ui-logger.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/alert.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/column.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/database.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/file-resource.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/file.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/job.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/saved-query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/setting.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/table-info.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/table-property.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/udf.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/models/worksheet.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/resolver.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/router.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/application.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases-error.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database-error.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables-error.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/new-database.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/new.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table-error.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/auth.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/columns.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/ddl.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/details.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/edit.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/partitions.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/rename.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/stats.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/storage.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/table-meta-router.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/table/view.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/database/tables/upload-table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/databases/newtable.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/jobs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/messages.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/messages/message.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/password.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/new.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/loading.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/log.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/results.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/tez-ui.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/savedqueries.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/service-check.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/settings.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/udfs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/routes/udfs/new.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/serializers/database.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/serializers/file.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/serializers/table.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/alert-messages.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/auto-refresh.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/file-resource.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/jobs.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/ldap-auth.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/query.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/saved-queries.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/service-check.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/stats-service.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/table-operations.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/tez-view-info.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/services/udf.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/styles/app.scss
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/styles/bootstrap-overrides.scss
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/styles/fonts.scss
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/styles/power-select-overrides.scss
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/application.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/alert-message-display.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/alert-message.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/column-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/confirm-dialog.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/create-database-form.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/create-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/csv-format-params.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/database-search-bar.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/edit-setting-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/edit-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/export-result.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/fileresource-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/hdfs-viewer-modal.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/info-dialog.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/job-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/jobs-browser.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/list-filter.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/list-group.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/list-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/multiple-database-search-bar.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/notification-message.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/property-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/query-editor.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/query-result-log.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/query-result-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/radio-button.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/service-check-entry.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/setting-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/setting-list.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/simple-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/table-advanced-settings.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/table-columns.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/table-properties.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/table-rename-form.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/table-statistics.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/tabs-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/tabs-pane.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/top-application-bar.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/udf-edit.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/udf-item.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/udf-new.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/upload-table-source.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/upload-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/validated-text-field.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/visual-explain-detail.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/components/visual-explain.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases-error.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database-error.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables-error.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/new-database.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/new.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table-error.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/auth-error.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/auth-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/auth.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/columns.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/ddl.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/details.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/edit.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/partitions.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/rename.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/stats.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/storage.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/table/view.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/databases/database/tables/upload-table.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/jobs-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/jobs.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/messages.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/messages/message.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/password.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/savedqueries-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/savedqueries.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/service-check.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/settings-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/settings.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/tables.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/udfs-loading.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/udfs.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/templates/udfs/new.hbs
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/transforms/date.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/constants.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hdfs-picker-config.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/enhancer.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/fallback.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/index.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/processor.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/renderer-force.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/renderer.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/app/utils/hive-explainer/transformer.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/bower.json
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/config/environment.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/ember-cli-build.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/package.json
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-300.eot
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-300.svg
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-300.ttf
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-300.woff
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-300.woff2
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-regular.eot
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-regular.svg
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-regular.ttf
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-regular.woff
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/public/fonts/roboto/roboto-v15-latin-regular.woff2
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/testem.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/.jshintrc
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/destroy-app.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/flash-message.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/module-for-acceptance.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/resolver.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/responsive.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/helpers/start-app.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/index.html
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/integration/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/test-helper.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/tests/unit/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/vendor/.gitkeep
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/vendor/browser-pollyfills.js
 delete mode 100644 contrib/views/hive20/src/main/resources/ui/yarn.lock
 delete mode 100644 contrib/views/hive20/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/hive20/src/main/resources/view.xml
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/AsyncJobRunnerImplTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/ConnectionFailuresTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/HiveJdbcConnectionDelegateTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/JobExecutionTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/PropertyValidatorTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/ResultSetIteratorTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/parsers/ParserUtilsTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/AlterTableQueryGeneratorTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/AnalyzeTableQueryGeneratorSpecTest.groovy
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/CreateTableQueryGeneratorTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/DeleteDatabaseQueryGeneratorSpecTest.groovy
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/InsertFromQueryGeneratorSpecTest.groovy
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/internal/query/generators/RenameTableQueryGeneratorSpecTest.groovy
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/CSVParserTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/DataParserCSVTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/DataParserJSONTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/DataParserXMLTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/JsonParserTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/OpenCSVParserTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/OpenCSVTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/ParseUtilsTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/TableDataReaderTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/upload/XMLParserTest.java
 delete mode 100644 contrib/views/hive20/src/test/java/org/apache/ambari/view/hive20/resources/uploads/UploadServiceTest.java
 delete mode 100644 contrib/views/hive20/src/test/rest/postman/HIVE20_ENVIRONMENT.postman_environment.json
 delete mode 100644 contrib/views/hive20/src/test/rest/postman/hive20.postman_collection.json
 delete mode 100644 contrib/views/hueambarimigration/pom.xml
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/DataSourceAmbariDatabase.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/DataSourceHueDatabase.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/historyqueryset/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/historyqueryset/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/historyqueryset/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/historyqueryset/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/instancedetail/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/instancedetail/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/instancedetail/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/instancedetail/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/savedqueryset/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/savedqueryset/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/savedqueryset/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/hive/savedqueryset/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/instancedetail/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/instancedetail/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/instancedetail/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/instancedetail/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/jobqueryset/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/jobqueryset/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/jobqueryset/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/jobqueryset/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/savedscriptqueryset/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/savedscriptqueryset/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/savedscriptqueryset/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/savedscriptqueryset/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/udfqueryset/MysqlQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/udfqueryset/OracleQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/udfqueryset/PostgressQuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/ambariqueryset/pig/udfqueryset/QuerySetAmbariDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/historyqueryset/MysqlQuerySetHueDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/historyqueryset/OracleQuerySetHueDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/historyqueryset/PostgressQuerySetHueDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/historyqueryset/QuerySetHueDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/historyqueryset/SqliteQuerySetHueDB.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/savedqueryset/MysqlQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/savedqueryset/OracleQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/savedqueryset/PostgressQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/savedqueryset/QuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/hive/savedqueryset/SqliteQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/jobqueryset/MysqlQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/jobqueryset/OracleQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/jobqueryset/PostgressQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/jobqueryset/QuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/jobqueryset/SqliteQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/savedscriptqueryset/MysqlQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/savedscriptqueryset/OracleQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/savedscriptqueryset/PostgressQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/savedscriptqueryset/QuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/savedscriptqueryset/SqliteQuerySetHueDb.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/udfqueryset/MysqlQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/udfqueryset/OracleQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/udfqueryset/PostgressQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/udfqueryset/QuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/pig/udfqueryset/SqliteQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/userdetails/MysqlQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/userdetails/OracleQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/userdetails/PostgressQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/userdetails/QuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/datasource/queryset/huequeryset/userdetails/SqliteQuerySet.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/CreateJobId.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/CreateJobIdRevertChange.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/InitiateJobMigration.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/InitiateJobMigrationforRevertchange.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/AllInstanceDetailsAmbari.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/AmbariDatabaseCheck.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/AmbariWebHdfsCheck.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/CheckProgresStatus.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/ConfigurationCheckImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/HiveInstanceDetailsAmbari.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/HiveInstanceDetailsUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/HueDatabaseCheck.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/HueHttpUrlCheck.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/HueWebHdfsCheck.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/PigInstanceDetailsAmbari.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/PigInstanceDetailsUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/UserDetailHue.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/configuration/UserDetailsUtility.java
 delete mode 100755 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/historyquery/HiveHistoryMigrationUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/historyquery/HiveHistoryQueryMigrationImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/historyquery/HiveHistoryStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/savedquery/HiveSavedQueryMigrationImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/savedquery/HiveSavedQueryMigrationUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/hive/savedquery/HiveSavedQueryStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigjob/PigJobMigrationImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigjob/PigJobMigrationUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigjob/PigJobStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigscript/PigSavedScriptStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigscript/PigScriptMigrationImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigscript/PigScriptMigrationUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigudf/PigUdfMigrationImplementation.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigudf/PigUdfMigrationUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/pig/pigudf/PigUdfStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/revertchange/RevertChangeStartJob.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/migration/revertchange/RevertChangeUtility.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/DataStoreStorage.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/InstanceKeyValueStorage.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/KeyValueStorage.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/LocalKeyValueStorage.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/PersistentConfiguration.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/SmokeTestEntity.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/Storage.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/ContextConfigurationAdapter.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/FilteringStrategy.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/Indexed.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/ItemNotFound.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/OnlyOwnersFilteringStrategy.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/Owned.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/PersonalResource.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/persistence/utils/StorageUtil.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/CRUDResourceManager.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/PersonalCRUDResourceManager.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/SharedCRUDResourceManager.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/MigrationResourceManager.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/MigrationResourceProvider.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/ConfigurationModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/HiveModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/InstanceModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/JobReturnIdModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/MigrationModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/MigrationResponse.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/PigModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/ProgressCheckModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/resources/scripts/models/UserModel.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/utils/BadRequestFormattedException.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/utils/FilePaginator.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/utils/MisconfigurationFormattedException.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/utils/NotFoundFormattedException.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/java/org/apache/ambari/view/huetoambarimigration/utils/ServiceFormattedException.java
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/image/updateimg.gif
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.bowerrc
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.editorconfig
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.ember-cli
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.gitignore
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.jshintrc
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.travis.yml
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/.watchmanconfig
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/README.md
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/adapters/application.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/app.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/components/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/controllers/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/helpers/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/index.html
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/allinstancedetail.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/ambaridatabase.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/ambariwebhdfsurl.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/checkprogress.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/getmigrationresultid.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/hiveinstancedetail.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/huedatabase.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/huehttpurl.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/huewebhdfsurl.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/piginstancedetail.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/returnjobid.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/returnjobidforrevertchange.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/startmigration.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/startrevertchange.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/models/usersdetail.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/resolver.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/router.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/check-configuration.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/hive-history.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/hive-saved-query.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/pig-job.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/pig-script.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/pig-udf.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/home-page/revert-change.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/routes/index.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/serializers/application.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/styles/app.css
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/styles/app.scss
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/application.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/check-configuration.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/hive-history.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/hive-saved-query.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/pig-job.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/pig-script.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/pig-udf.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/app/templates/home-page/revert-change.hbs
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/bower.json
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/config/environment.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/ember-cli-build.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/package.json
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/public/crossdomain.xml
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/public/robots.txt
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/testem.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/.jshintrc
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/helpers/destroy-app.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/helpers/module-for-acceptance.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/helpers/resolver.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/helpers/start-app.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/index.html
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/tests/test-helper.js
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/vendor/.gitkeep
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/ui/hueambarimigration-view/yarn.lock
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/hueambarimigration/src/main/resources/view.xml
 delete mode 100644 contrib/views/jobs/pom.xml
 delete mode 100644 contrib/views/jobs/src/main/java/org/apache/ambari/view/jobs/ProxyServlet.java
 delete mode 100644 contrib/views/jobs/src/main/java/org/apache/ambari/view/jobs/ViewController.java
 delete mode 100644 contrib/views/jobs/src/main/java/org/apache/ambari/view/jobs/ViewControllerImpl.java
 delete mode 100644 contrib/views/jobs/src/main/java/org/apache/ambari/view/jobs/ViewStatus.java
 delete mode 100644 contrib/views/jobs/src/main/java/org/apache/ambari/view/jobs/rest/ViewStatusResource.java
 delete mode 100644 contrib/views/jobs/src/main/resources/WEB-INF/web.xml
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/.bowerrc
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/.editorconfig
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/.gitattributes
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/.gitignore
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/.jshintrc
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/Gruntfile.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/img/glyphicons-halflings.png
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/index.html
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/app.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/clusters.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/components.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/components_hosts.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/configurations.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/desired_configs.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/hive-queries.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/hive-query-2.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/services.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/tezDag-name-to-id.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/tezDag.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/assets/tezDagVertex.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/controllers/job_controller.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/controllers/jobs_controller.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/ajax.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/date.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/jobs.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/misc.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/number.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/string.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/helpers/validator.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/mappers/application_status_mapper.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/mappers/jobs/hive_job_mapper.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/mappers/jobs/hive_jobs_mapper.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/mappers/server_data_mapper.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/mixins/run_periodically.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/models/component.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/models/jobs/abstract_job.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/models/jobs/hive_job.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/models/jobs/tez_dag.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/models/service.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/router.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/routes/application_route.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/store.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/translations.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/filter_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/job/hive_job_details_tez_dag_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/job/hive_job_details_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/jobs/select_custom_date_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/jobs_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/sort_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/scripts/views/table_view.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/styles/main.less
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/application.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/index.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/job/error_popup.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/job/hive_job_details_tez_dag.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/job/hover_op_table.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/job/job.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/jobs.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/jobs/custom_date_popup.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/jobs/jobs_name.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/sort_field_template.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/table/navigation/pagination_first.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/table/navigation/pagination_last.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/table/navigation/pagination_left.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/table/navigation/pagination_right.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/wrapper_layout.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/app/templates/wrapper_template.hbs
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/bower.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/package.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/test/.bowerrc
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/test/bower.json
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/test/index.html
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/test/spec/test.js
 delete mode 100644 contrib/views/jobs/src/main/resources/ui/yarn.lock
 delete mode 100644 contrib/views/jobs/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/jobs/src/main/resources/view.xml
 create mode 100644 contrib/views/pig/src/main/resources/ui/pig-web/.bowerrc
 delete mode 100644 contrib/views/storm/pom.xml
 delete mode 100644 contrib/views/storm/src/main/java/org/apache/ambari/storm/ProxyServlet.java
 delete mode 100644 contrib/views/storm/src/main/java/org/apache/ambari/storm/StormDetailsServlet.java
 delete mode 100644 contrib/views/storm/src/main/resources/WEB-INF/web.xml
 delete mode 100644 contrib/views/storm/src/main/resources/ui/.babelrc
 delete mode 100644 contrib/views/storm/src/main/resources/ui/.eslintignore.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/.eslintrc.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/app.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/BarChart.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/Breadcrumbs.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CommonExpanded.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CommonNotification.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CommonPagination.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CommonSwitchComponent.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CommonWindowPanel.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/CustomToastContainer.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/Editable.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/FSModel.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/FSReactToastr.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/Footer.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/LogLevelComponent.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/ProfilingView.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/RadialChart.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/RebalanceTopology.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/SearchLogs.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/components/TopologyGraph.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/BaseContainer.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/ClusterSummary.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/ComponentDetailView.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/Dashboard.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/NimbusConfigSummary.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/NimbusSummary.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/SupervisorSummary.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/TopologyDetailView.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/containers/TopologyListing.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/main.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/rest/TopologyREST.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/routers/routes.jsx
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/utils/Constants.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/scripts/utils/Utils.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/css/bootstrap.css
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/css/font-awesome.min.css
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/css/style.css
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/css/toastr.min.css
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/fonts/fontawesome-webfont.eot
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/fonts/fontawesome-webfont.svg
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/fonts/fontawesome-webfont.ttf
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/fonts/fontawesome-webfont.woff
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/fonts/fontawesome-webfont.woff2
 delete mode 100755 contrib/views/storm/src/main/resources/ui/app/styles/fonts/glyphicons-halflings-regular.eot
 delete mode 100755 contrib/views/storm/src/main/resources/ui/app/styles/fonts/glyphicons-halflings-regular.svg
 delete mode 100755 contrib/views/storm/src/main/resources/ui/app/styles/fonts/glyphicons-halflings-regular.ttf
 delete mode 100755 contrib/views/storm/src/main/resources/ui/app/styles/fonts/glyphicons-halflings-regular.woff
 delete mode 100755 contrib/views/storm/src/main/resources/ui/app/styles/fonts/glyphicons-halflings-regular.woff2
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/img/icon-bolt.png
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/img/icon-spout.png
 delete mode 100644 contrib/views/storm/src/main/resources/ui/app/styles/img/loader.gif
 delete mode 100644 contrib/views/storm/src/main/resources/ui/config/webpack.config.base.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/config/webpack.config.development.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/config/webpack.config.production.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/dev-server.js
 delete mode 100644 contrib/views/storm/src/main/resources/ui/index.html
 delete mode 100644 contrib/views/storm/src/main/resources/ui/package.json
 delete mode 100644 contrib/views/storm/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/storm/src/main/resources/view.xml
 delete mode 100644 contrib/views/tez/pom.xml
 delete mode 100644 contrib/views/tez/readme.md
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/ConfigurationService.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/PropertyService.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/ProxyServlet.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/SettingService.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/ViewController.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/ViewControllerImpl.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/ViewStatus.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/exceptions/TezWebAppException.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/AtsProxyResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/BaseProxyResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/BaseRedirectionResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/RMProxyResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/RMRedirectResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/rest/ViewStatusResource.java
 delete mode 100644 contrib/views/tez/src/main/java/org/apache/ambari/view/tez/utils/ProxyHelper.java
 delete mode 100644 contrib/views/tez/src/main/resources/WEB-INF/web.xml
 delete mode 100644 contrib/views/tez/src/main/resources/ui/ambari-scripts/init-view.js
 delete mode 100644 contrib/views/tez/src/main/resources/view.log4j.properties
 delete mode 100644 contrib/views/tez/src/main/resources/view.xml
 delete mode 100644 contrib/views/tez/src/test/java/org/apache/ambari/view/tez/utils/ProxyHelperTest.java
 create mode 100644 contrib/views/wfmanager/src/main/resources/ui/.bowerrc


[ambari] 01/04: Merge remote-tracking branch 'origin/trunk' into branch-feature-AMBARI-14714

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jluniya pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 220450bf2d6573b48d483d01ceb4fc9158e182ed
Merge: 4988a2f 60e54750
Author: Jayush Luniya <jl...@HW11039.local>
AuthorDate: Sat Jul 7 00:33:44 2018 -0700

    Merge remote-tracking branch 'origin/trunk' into branch-feature-AMBARI-14714

 .reviewboardrc                                     |    19 -
 .../controllers/ambariViews/ViewsEditCtrl.js       |     7 +-
 .../controllers/ambariViews/ViewsListCtrl.js       |     7 +-
 .../controllers/clusters/ClusterInformationCtrl.js |     4 +-
 .../remoteClusters/RemoteClustersEditCtrl.js       |     2 +-
 .../stackVersions/StackVersionsCreateCtrl.js       |    28 +-
 .../stackVersions/StackVersionsEditCtrl.js         |    22 +-
 .../controllers/userManagement/GroupCreateCtrl.js  |    19 +-
 .../controllers/userManagement/GroupEditCtrl.js    |    46 -
 .../controllers/userManagement/GroupsListCtrl.js   |     5 +-
 .../controllers/userManagement/UserEditCtrl.js     |    45 -
 .../controllers/userManagement/UsersListCtrl.js    |     5 +-
 .../app/scripts/directives/comboSearch.js          |     2 +-
 .../app/scripts/directives/editableList.js         |    82 +-
 .../ui/admin-web/app/scripts/i18n.config.js        |    18 +-
 .../app/scripts/services/ConfirmationModal.js      |     6 +-
 .../ui/admin-web/app/scripts/services/Filters.js   |     6 +-
 .../ui/admin-web/app/scripts/services/Stack.js     |     1 +
 .../admin-web/app/styles/bootstrap-overrides.css   |    21 +
 .../resources/ui/admin-web/app/styles/main.css     |    49 +-
 .../ui/admin-web/app/styles/stack-versions.css     |    74 +
 .../ui/admin-web/app/styles/user-management.css    |    12 +-
 .../resources/ui/admin-web/app/styles/views.css    |     4 +
 .../ui/admin-web/app/views/ambariViews/edit.html   |     2 +-
 .../app/views/ambariViews/modals/create.html       |     8 -
 .../app/views/clusters/clusterInformation.html     |     3 +-
 .../app/views/directives/editableList.html         |    11 +-
 .../app/views/modals/ConfirmationModal.html        |     2 +-
 .../ui/admin-web/app/views/stackVersions/list.html |     2 +-
 .../app/views/stackVersions/stackVersionPage.html  |    32 +-
 .../app/views/userManagement/groupEdit.html        |    23 +-
 .../views/userManagement/modals/userCreate.html    |    12 +-
 .../app/views/userManagement/userEdit.html         |    12 +-
 ambari-agent/conf/unix/ambari-agent.ini            |     4 +-
 ambari-agent/conf/windows/ambari-agent.ini         |     2 +-
 ambari-agent/pom.xml                               |    41 +-
 .../src/main/python/ambari_agent/ActionQueue.py    |    49 +-
 .../python/ambari_agent/AlertStatusReporter.py     |    22 +-
 .../src/main/python/ambari_agent/AmbariAgent.py    |     3 +-
 .../src/main/python/ambari_agent/AmbariConfig.py   |    73 +-
 .../python/ambari_agent/ClusterMetadataCache.py    |    18 +
 .../python/ambari_agent/ClusterTopologyCache.py    |    31 +-
 .../main/python/ambari_agent/CommandStatusDict.py  |    80 +-
 .../python/ambari_agent/ComponentStatusExecutor.py |    83 +-
 .../python/ambari_agent/ConfigurationBuilder.py    |     6 +-
 .../src/main/python/ambari_agent/Constants.py      |     7 +-
 .../ambari_agent/CustomServiceOrchestrator.py      |    99 +-
 .../src/main/python/ambari_agent/ExitHelper.py     |     7 +-
 ambari-agent/src/main/python/ambari_agent/Grep.py  |    14 +
 .../src/main/python/ambari_agent/Hardware.py       |     4 +-
 .../main/python/ambari_agent/HeartbeatThread.py    |    50 +-
 .../src/main/python/ambari_agent/HostCleanup.py    |     9 +-
 .../src/main/python/ambari_agent/HostInfo.py       |     4 +-
 .../main/python/ambari_agent/HostStatusReporter.py |    16 +-
 .../main/python/ambari_agent/InitializerModule.py  |    47 +-
 .../src/main/python/ambari_agent/NetUtil.py        |     6 +-
 .../src/main/python/ambari_agent/PythonExecutor.py |     7 +-
 .../main/python/ambari_agent/RecoveryManager.py    |   421 +-
 ambari-agent/src/main/python/ambari_agent/Utils.py |     8 +-
 .../main/python/ambari_agent/alerts/base_alert.py  |    51 +-
 .../ambari_agent/listeners/AgentActionsListener.py |    66 +
 .../listeners/AlertDefinitionsEventListener.py     |     7 +-
 .../listeners/CommandsEventListener.py             |     5 +-
 .../listeners/ConfigurationEventListener.py        |    15 +-
 .../listeners/HostLevelParamsEventListener.py      |    11 +-
 .../listeners/MetadataEventListener.py             |    22 +-
 .../listeners/ServerResponsesListener.py           |    26 +-
 .../listeners/TopologyEventListener.py             |     5 +-
 .../main/python/ambari_agent/listeners/__init__.py |    42 +-
 ambari-agent/src/main/python/ambari_agent/main.py  |    40 +-
 .../src/main/python/ambari_agent/security.py       |    21 +-
 .../test/python/ambari_agent/TestActionQueue.py    |   218 +-
 .../test/python/ambari_agent/TestAmbariConfig.py   |    29 +
 .../python/ambari_agent/TestCommandStatusDict.py   |    78 +
 .../ambari_agent/TestConfigurationBuilder.py       |    34 +
 .../ambari_agent/TestCustomServiceOrchestrator.py  |   182 +-
 .../src/test/python/ambari_agent/TestFileCache.py  |     4 +-
 .../src/test/python/ambari_agent/TestGrep.py       |    31 +
 .../test/python/ambari_agent/TestPythonExecutor.py |    14 +-
 .../python/ambari_agent/TestRecoveryManager.py     |   175 +-
 .../test/python/ambari_agent/TestRegistration.py   |    17 +-
 .../stomp/metadata_after_registration.json         |     6 +-
 .../python/resource_management/TestTarArchive.py   |    66 +
 .../resource_management/TestXmlConfigResource.py   |    36 +-
 .../src/main/python/ambari_commons/constants.py    |     3 +
 .../ambari_commons/credential_store_helper.py      |    49 +-
 .../src/main/python/ambari_commons/firewall.py     |     2 +-
 .../src/main/python/ambari_commons/inet_utils.py   |    20 +-
 .../main/python/ambari_commons/libs/__init__.py    |    19 +
 .../python/ambari_commons/libs/ppc64le/__init__.py |    19 +
 .../libs/ppc64le/_posixsubprocess.so               |   Bin 0 -> 115672 bytes
 .../python/ambari_commons/libs/x86_64/__init__.py  |    19 +
 .../{ => libs/x86_64}/_posixsubprocess.so          |   Bin
 .../src/main/python/ambari_commons/os_check.py     |     4 +-
 .../python/ambari_commons/repo_manager/__init__.py |    18 +-
 .../ambari_commons/repo_manager/apt_manager.py     |    39 +-
 .../ambari_commons/repo_manager/generic_manager.py |     6 +
 .../repo_manager/repo_manager_helper.py            |    54 +
 .../ambari_commons/repo_manager/yum_manager.py     |    17 +-
 .../ambari_commons/repo_manager/zypper_manager.py  |    23 +-
 .../python/ambari_commons/resources/os_family.json |    16 +-
 .../src/main/python/ambari_commons/shell.py        |    12 +-
 .../src/main/python/ambari_commons/subprocess32.py |     7 +-
 .../src/main/python/ambari_stomp/transport.py      |     4 +-
 .../src/main/python/ambari_ws4py/websocket.py      |    54 +-
 .../resource_management/core/providers/accounts.py |    14 +-
 .../resource_management/core/providers/system.py   |     3 +-
 .../main/python/resource_management/core/shell.py  |    22 +-
 .../execution_command/execution_command.py         |     2 +-
 .../libraries/functions/copy_tarball.py            |    37 +-
 .../functions/generate_logfeeder_input_config.py   |    44 +
 .../libraries/functions/install_windows_msi.py     |     3 +-
 .../libraries/functions/namenode_ha_utils.py       |   185 +-
 .../libraries/functions/package_conditions.py      |     9 +
 .../libraries/functions/ranger_functions_v2.py     |    87 +-
 .../libraries/functions/reload_windows_env.py      |     2 +-
 .../libraries/functions/repository_util.py         |     2 +-
 .../libraries/functions/setup_atlas_hook.py        |     2 +-
 .../libraries/functions/setup_ranger_plugin_xml.py |    76 +-
 .../libraries/functions/solr_cloud_util.py         |    67 +-
 .../libraries/functions/stack_select.py            |     3 +-
 .../libraries/functions/tar_archive.py             |    53 +-
 .../libraries/functions/upgrade_summary.py         |     8 +-
 .../libraries/providers/hdfs_resource.py           |    96 +-
 .../libraries/providers/xml_config.py              |    10 +-
 .../libraries/resources/hdfs_resource.py           |     3 +
 .../libraries/resources/xml_config.py              |     1 +
 .../resource_management/libraries/script/script.py |    84 +-
 .../2.0.7/services/HIVE/package/scripts/hive.py    |     2 +-
 ambari-infra/ambari-infra-assembly/pom.xml         |     8 +
 ambari-infra/ambari-infra-manager-it/pom.xml       |    57 +
 .../test/java/org/apache/ambari/infra/Solr.java    |   107 +
 .../java/org/apache/ambari/infra/TestUtil.java     |    82 +
 .../ambari/infra/solr/metrics/MetricsIT.java       |   142 +
 .../infra/solr/metrics/MockMetricsServer.java      |    75 +
 .../ambari/infra/steps/AbstractInfraSteps.java     |   133 +-
 .../apache/ambari/infra/steps/ExportJobsSteps.java |    65 +-
 .../ambari-infra-manager/docker/docker-compose.yml |     3 +-
 .../docker/infra-manager-docker-compose.sh         |     4 +-
 ambari-infra/ambari-infra-manager/pom.xml          |    21 +-
 .../src/main/resources/swagger/swagger.html        |    75 +-
 ambari-infra/ambari-infra-solr-client/README.md    |  1056 +
 ambari-infra/ambari-infra-solr-client/build.xml    |     8 +
 .../ambari/infra/solr/AmbariSolrCloudCLI.java      |    65 +-
 .../ambari/infra/solr/AmbariSolrCloudClient.java   |    28 +
 .../infra/solr/AmbariSolrCloudClientBuilder.java   |    12 +
 .../infra/solr/commands/DeleteZnodeZkCommand.java  |    37 +
 .../solr/commands/DumpCollectionsCommand.java      |   157 +
 .../infra/solr/domain/json/SolrCollection.java     |    89 +
 .../infra/solr/domain/json/SolrCoreData.java       |    57 +
 .../ambari/infra/solr/domain/json/SolrShard.java   |    55 +
 .../src/main/python/migrationConfigGenerator.py    |   513 +
 .../src/main/python/migrationHelper.py             |  1900 +-
 .../src/main/python/solrDataManager.py             |   398 +-
 .../src/main/resources/ambariSolrMigration.sh      |   322 +
 .../resources/data/security-without-authr.json     |     6 +
 .../src/main/resources/managed-schema              |    93 +
 .../src/main/resources/solrIndexHelper.sh          |    16 +-
 ambari-infra/ambari-infra-solr-plugin/.gitignore   |     3 +
 .../ambari-infra-solr-plugin/docker/Dockerfile     |    46 +
 .../docker/docker-compose.yml                      |    54 +
 .../docker/infra-solr-docker-compose.sh            |   122 +
 .../ambari-infra-solr-plugin/docker/infra-solr.sh  |    69 +
 .../ambari-infra-solr-plugin/docker/solr.xml       |   108 +
 ambari-infra/ambari-infra-solr-plugin/pom.xml      |    27 +
 .../solr/metrics/reporters/AMSCacheReporter.java   |    51 +
 .../infra/solr/metrics/reporters/AMSProtocol.java  |    24 +
 .../infra/solr/metrics/reporters/AMSReporter.java  |   104 +
 .../solr/metrics/reporters/GaugeConverter.java     |    29 +
 .../infra/solr/metrics/reporters/MetricsUtils.java |    79 +
 .../metrics/reporters/ScheduledAMSReporter.java    |   117 +
 .../reporters/ScheduledAMSReporterBuilder.java     |   101 +
 .../solr/metrics/reporters/SimpleAMSReporter.java  |    38 +
 .../reporters/SolrMetricsSecurityConfig.java       |    44 +
 .../solr/metrics/reporters/SolrMetricsSink.java    |   103 +
 ambari-infra/pom.xml                               |    52 +-
 ambari-logsearch/README.md                         |     2 +-
 .../config/api/LogSearchConfigFactory.java         |     2 +-
 .../model/inputconfig/FilterGrokDescriptor.java    |     4 +
 .../api/model/inputconfig/InputDescriptor.java     |     2 +
 .../api/model/inputconfig/InputFileDescriptor.java |     7 +
 .../ambari-logsearch-config-zookeeper/pom.xml      |     1 -
 .../config/zookeeper/LogSearchConfigZK.java        |    54 +-
 .../inputconfig/impl/FilterGrokDescriptorImpl.java |    38 +
 .../inputconfig/impl/InputDescriptorImpl.java      |    21 +
 .../inputconfig/impl/InputFileDescriptorImpl.java  |    83 +
 ambari-logsearch/ambari-logsearch-it/log4j.dtd     |   230 +
 ambari-logsearch/ambari-logsearch-it/pom.xml       |    81 +-
 .../ambari/logsearch/domain/StoryDataRegistry.java |     9 +
 .../patterns/AmbariInfraSolrLogPatternIT.java      |    39 +
 .../logsearch/patterns/AmbariLogPatternIT.java     |   255 +
 .../logsearch/patterns/AtlasLogPatternIT.java      |    42 +
 .../logsearch/patterns/HBaseLogPatternIT.java      |    45 +
 .../logsearch/patterns/HDFSLogPatternIT.java       |    42 +
 .../logsearch/patterns/HdfsAuditLogPatternIT.java  |    80 +
 .../logsearch/patterns/HiveLogPatterntIT.java      |   116 +
 .../ambari/logsearch/patterns/JinjaFunctions.java  |    27 +
 .../logsearch/patterns/KafkaLogPatternIT.java      |    90 +
 .../logsearch/patterns/KnoxLogPatternIT.java       |    59 +
 .../ambari/logsearch/patterns/LayoutQuery.java     |    23 +
 .../ambari/logsearch/patterns/ListAppender.java    |    59 +
 .../ambari/logsearch/patterns/Log4jContent.java    |    25 +
 .../ambari/logsearch/patterns/Log4jProperties.java |    65 +
 .../apache/ambari/logsearch/patterns/Log4jXml.java |    74 +
 .../logsearch/patterns/Log4jXmlProperties.java     |    45 +
 .../logsearch/patterns/MetricsLogPatternIT.java    |    67 +
 .../ambari/logsearch/patterns/PatternITBase.java   |   153 +
 .../logsearch/patterns/RangerLogPatternIT.java     |    77 +
 .../logsearch/patterns/SmartSenseLogPatternIT.java |   145 +
 .../logsearch/patterns/Spark2LogPatternIT.java     |    62 +
 .../ambari/logsearch/patterns/StackDefContent.java |    61 +
 .../logsearch/patterns/StormLogPatternIT.java      |    90 +
 .../logsearch/patterns/YarnLogPatternIT.java       |   159 +
 .../logsearch/patterns/ZeppelinLogPatternIT.java   |    45 +
 .../logsearch/patterns/ZookeeperLogPatternIT.java  |    43 +
 .../logsearch/steps/AbstractLogSearchSteps.java    |    34 +-
 .../logsearch/steps/LogSearchDockerSteps.java      |     2 +-
 .../stories/backend/logfeeder_parsing_tests.story  |     2 +-
 .../input.config-smartsense.json.j2                |    85 +
 .../service-log-level-counts-values.json           |     8 +-
 .../ambari/logfeeder/plugin/common/ConfigItem.java |     3 +-
 .../plugin/common/LogFeederProperties.java         |     3 +-
 .../ambari/logfeeder/plugin/common/MetricData.java |     4 +-
 .../ambari/logfeeder/plugin/filter/Filter.java     |     4 +
 .../ambari/logfeeder/plugin/input/Input.java       |    15 +-
 .../logfeeder/plugin/input/cache/LRUCache.java     |    31 +-
 .../ambari-logsearch-logfeeder/build.xml           |     4 +-
 .../ambari-logsearch-logfeeder/pom.xml             |    11 +-
 .../ambari/logfeeder/common/ConfigHandler.java     |    16 +-
 .../logfeeder/common/LogEntryParseTester.java      |    12 +-
 .../logfeeder/common/LogFeederConstants.java       |     1 +
 .../ambari/logfeeder/conf/InputSimulateConfig.java |     2 +
 .../ambari/logfeeder/conf/LogEntryCacheConfig.java |     2 +
 .../ambari/logfeeder/conf/LogFeederProps.java      |    20 +-
 .../logfeeder/conf/LogFeederSecurityConfig.java    |     2 -
 .../logfeeder/conf/MetricsCollectorConfig.java     |     2 +
 .../apache/ambari/logfeeder/filter/FilterGrok.java |    25 +-
 .../apache/ambari/logfeeder/input/InputFile.java   |   220 +-
 .../ambari/logfeeder/input/InputFileMarker.java    |     2 +-
 .../ambari/logfeeder/input/InputManagerImpl.java   |    12 +
 .../logfeeder/input/file/FileCheckInHelper.java    |     4 +-
 .../input/monitor/AbstractLogFileMonitor.java      |    64 +
 .../input/monitor/CheckpointCleanupMonitor.java    |    48 +
 .../input/monitor/LogFileDetachMonitor.java        |    79 +
 .../input/monitor/LogFilePathUpdateMonitor.java    |    74 +
 .../loglevelfilter/LogLevelFilterHandler.java      |     4 +
 .../logfeeder/metrics/LogFeederAMSClient.java      |     5 +
 .../ambari/logfeeder/output/OutputManagerImpl.java |    22 +-
 .../apache/ambari/logfeeder/output/OutputSolr.java |    27 +-
 .../org/apache/ambari/logfeeder/util/FileUtil.java |   137 +-
 .../ambari/logfeeder/util/LogFeederUtil.java       |    24 +
 .../src/main/scripts/logfeeder-env.sh~HEAD         |    40 -
 .../src/main/scripts/logfeeder-env.sh~trunk        |    40 -
 .../src/main/scripts/logfeeder.sh                  |     9 +-
 ambari-logsearch/ambari-logsearch-server/build.xml |     4 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   |    25 +-
 .../main/configsets/audit_logs/conf/managed-schema |    60 +-
 .../main/configsets/audit_logs/conf/solrconfig.xml |     2 +-
 .../configsets/hadoop_logs/conf/managed-schema     |   116 +-
 .../configsets/hadoop_logs/conf/solrconfig.xml     |     2 +-
 .../main/configsets/history/conf/managed-schema    |    47 +-
 .../main/configsets/history/conf/solrconfig.xml    |     2 +-
 .../logsearch/auth/filter/AbstractJWTFilter.java   |     9 +-
 .../logsearch/common/LogSearchConstants.java       |     4 +-
 .../ambari/logsearch/conf/SecurityConfig.java      |     7 +-
 .../logsearch/conf/SolrAuditLogPropsConfig.java    |    20 +
 .../logsearch/conf/SolrConnectionPropsConfig.java  |    20 +
 .../ambari/logsearch/conf/SolrPropsConfig.java     |     4 +
 .../configurer/SolrCollectionConfigurer.java       |     8 +-
 .../AbstractOperationHolderConverter.java          |    57 +-
 .../AuditBarGraphRequestQueryConverter.java        |     2 +
 .../BaseServiceLogRequestQueryConverter.java       |     4 +-
 ...viceLogLevelDateRangeRequestQueryConverter.java |     6 +
 .../apache/ambari/logsearch/doc/DocConstants.java  |     4 +
 .../handler/AbstractSolrConfigHandler.java         |    60 +-
 .../logsearch/handler/CreateCollectionHandler.java |     6 +-
 .../handler/UploadConfigurationHandler.java        |    37 +-
 .../logsearch/manager/ServiceLogsManager.java      |     2 +-
 .../logsearch/manager/ShipperConfigManager.java    |     7 +-
 .../logsearch/model/common/LSServerFilterGrok.java |    25 +-
 .../logsearch/model/common/LSServerInput.java      |     8 +
 .../logsearch/model/common/LSServerInputFile.java  |    52 +
 .../model/request/LogParamDefinition.java          |     8 +-
 .../model/request/ShipperConfigTestParams.java     |    16 +-
 .../model/request/impl/AuditBarGraphRequest.java   |    33 +-
 .../model/request/impl/AuditComponentRequest.java  |    16 +-
 .../model/request/impl/AuditLogRequest.java        |    33 +-
 .../request/impl/AuditServiceLoadRequest.java      |    18 +-
 .../model/request/impl/BaseLogRequest.java         |   111 +-
 .../model/request/impl/BaseServiceLogRequest.java  |    85 +-
 .../model/request/impl/CommonSearchRequest.java    |   121 +-
 .../model/request/impl/EventHistoryRequest.java    |    33 +-
 .../request/impl/FieldAuditBarGraphRequest.java    |    33 +-
 .../model/request/impl/FieldAuditLogRequest.java   |    33 +-
 .../model/request/impl/HostLogFilesRequest.java    |    50 +-
 .../model/request/impl/ServiceAnyGraphRequest.java |    60 +-
 .../model/request/impl/ServiceGraphRequest.java    |    20 +-
 .../impl/ServiceLogAggregatedInfoRequest.java      |     2 +-
 .../impl/ServiceLogComponentHostRequest.java       |     2 +-
 .../impl/ServiceLogComponentLevelRequest.java      |     2 +-
 .../request/impl/ServiceLogExportRequest.java      |    31 +-
 .../impl/ServiceLogHostComponentRequest.java       |    20 +-
 .../request/impl/ServiceLogLevelCountRequest.java  |     2 +-
 .../model/request/impl/ServiceLogRequest.java      |    72 +-
 .../request/impl/ServiceLogTruncatedRequest.java   |    46 +-
 .../request/impl/ShipperConfigTestRequest.java     |    18 +-
 .../request/impl/TopFieldAuditLogRequest.java      |    34 +-
 .../model/request/impl/UserExportRequest.java      |    33 +-
 .../impl/body/AuditBarGraphBodyRequest.java        |    51 +
 .../impl/body/AuditComponentBodyRequest.java       |    37 +
 .../request/impl/body/AuditLogBodyRequest.java     |    52 +
 .../impl/body/AuditServiceLoadBodyRequest.java     |    38 +
 .../request/impl/body/BaseLogBodyRequest.java      |   129 +
 .../impl/body/BaseServiceLogBodyRequest.java       |   103 +
 .../request/impl/body/ClusterBodyRequest.java      |    42 +
 .../request/impl/body/CommonSearchBodyRequest.java |   143 +
 .../impl/body/FieldAuditBarGraphBodyRequest.java   |    51 +
 .../impl/body/FieldAuditLogBodyRequest.java        |    51 +
 .../request/impl/body/HostLogFilesBodyRequest.java |    69 +
 .../impl/body/ServiceAnyGraphBodyRequest.java      |    77 +
 .../request/impl/body/ServiceGraphBodyRequest.java |    38 +
 .../body/ServiceLogAggregatedInfoBodyRequest.java  |    26 +
 .../request/impl/body/ServiceLogBodyRequest.java   |    90 +
 .../body/ServiceLogComponentHostBodyRequest.java   |    26 +
 .../body/ServiceLogComponentLevelBodyRequest.java  |    26 +
 .../impl/body/ServiceLogExportBodyRequest.java     |    51 +
 .../body/ServiceLogHostComponentBodyRequest.java   |    39 +
 .../impl/body/ServiceLogLevelCountBodyRequest.java |    26 +
 .../impl/body/ServiceLogTruncatedBodyRequest.java  |    64 +
 .../impl/body/TopFieldAuditLogBodyRequest.java     |    37 +
 .../request/impl/body/UserExportBodyRequest.java   |    51 +
 .../impl/query/AuditBarGraphQueryRequest.java      |    52 +
 .../impl/query/AuditComponentQueryRequest.java     |    38 +
 .../request/impl/query/AuditLogQueryRequest.java   |    53 +
 .../impl/query/AuditServiceLoadQueryRequest.java   |    40 +
 .../request/impl/query/BaseLogQueryRequest.java    |   130 +
 .../impl/query/BaseServiceLogQueryRequest.java     |   104 +
 .../impl/query/CommonSearchQueryRequest.java       |   143 +
 .../impl/query/EventHistoryQueryRequest.java       |    53 +
 .../impl/query/FieldAuditBarGraphQueryRequest.java |    52 +
 .../impl/query/FieldAuditLogQueryRequest.java      |    52 +
 .../impl/query/HostLogFilesQueryRequest.java       |    69 +
 .../impl/query/ServiceAnyGraphQueryRequest.java    |    79 +
 .../impl/query/ServiceGraphQueryRequest.java       |    39 +
 .../ServiceLogAggregatedInfoQueryRequest.java      |    26 +
 .../query/ServiceLogComponentHostQueryRequest.java |    26 +
 .../ServiceLogComponentLevelQueryRequest.java      |    26 +
 .../impl/query/ServiceLogExportQueryRequest.java   |    52 +
 .../query/ServiceLogHostComponentQueryRequest.java |    40 +
 .../query/ServiceLogLevelCountQueryRequest.java    |    26 +
 .../request/impl/query/ServiceLogQueryRequest.java |    92 +
 .../query/ServiceLogTruncatedQueryRequest.java     |    65 +
 .../impl/query/TopFieldAuditLogQueryRequest.java   |    53 +
 .../request/impl/query/UserExportQueryRequest.java |    52 +
 .../ambari/logsearch/rest/AuditLogsResource.java   |   129 +-
 .../logsearch/rest/EventHistoryResource.java       |     4 +-
 .../ambari/logsearch/rest/ServiceLogsResource.java |   276 +-
 .../logsearch/rest/ShipperConfigResource.java      |     4 +-
 .../apache/ambari/logsearch/util/DownloadUtil.java |     8 +-
 .../org/apache/ambari/logsearch/util/SolrUtil.java |    22 +-
 .../filters/LogsearchKRBAuthenticationFilter.java  |    67 +-
 .../src/main/resources/default.properties          |    12 +-
 .../src/main/resources/swagger/swagger.html        |    77 +-
 .../src/main/scripts/logsearch-env.sh~HEAD         |    40 -
 .../src/main/scripts/logsearch-env.sh~trunk        |    40 -
 .../src/main/scripts/logsearch.sh                  |     7 +-
 .../AuditBarGraphRequestQueryConverterTest.java    |    12 +-
 .../AuditComponentRequestQueryConverterTest.java   |     5 +-
 .../converter/AuditLogRequestConverterTest.java    |     9 +-
 .../AuditServiceLoadRequestQueryConverterTest.java |     9 +-
 .../BaseServiceLogRequestQueryConverterTest.java   |    15 +-
 .../EventHistoryRequestQueryConverterTest.java     |     3 +-
 .../FieldAuditLogRequestQueryConverterTest.java    |    11 +-
 .../HostLogFilesRequestQueryConverterTest.java     |     5 +-
 .../ServiceLogAnyGraphRequestConverterTest.java    |     9 +-
 ...LogComponentLevelRequestQueryConverterTest.java |    13 +-
 ...LogComponentRequestFacetQueryConverterTest.java |    15 +-
 ...viceLogLevelCountRequestQueryConverterTest.java |    11 +-
 ...LogLevelDateRangeRequestQueryConverterTest.java |    12 +-
 ...rviceLogTreeRequestFacetQueryConverterTest.java |    16 +-
 ...rviceLogTruncatedRequestQueryConverterTest.java |    10 +-
 .../TopFieldAuditLogRequestQueryConverterTest.java |    11 +-
 .../UserExportRequestQueryConverterTest.java       |    11 +-
 ambari-logsearch/ambari-logsearch-web/package.json |     1 -
 .../src/app/app-routing.module.ts                  |    27 +-
 .../ambari-logsearch-web/src/app/app.module.ts     |    20 +-
 .../classes/components/graph/graph.component.ts    |   125 +-
 .../components/graph/time-graph.component.less     |     2 +-
 .../components/graph/time-graph.component.ts       |    57 +-
 .../src/app/classes/list-item.ts                   |     1 +
 .../src/app/classes/models/app-state.ts            |     4 +-
 .../src/app/classes/models/log-type-tab.ts         |    51 +
 .../src/app/classes/models/logs-state.ts           |    25 +
 .../src/app/classes/models/store.ts                |    18 +-
 .../src/app/classes/models/tab.ts                  |    48 -
 .../ambari-logsearch-web/src/app/classes/string.ts |     8 +
 .../action-menu/action-menu.component.html         |    12 +-
 .../action-menu/action-menu.component.less         |    70 +
 .../action-menu/action-menu.component.spec.ts      |    14 +-
 .../action-menu/action-menu.component.ts           |    20 +-
 .../src/app/components/app.component.html          |    12 +-
 .../src/app/components/app.component.less          |    18 +-
 .../src/app/components/app.component.ts            |    25 +-
 .../audit-logs-entries.component.spec.ts           |    14 +-
 .../audit-logs-entries.component.ts                |     6 +-
 .../audit-logs-table.component.spec.ts             |    14 +-
 .../breadrumbs/breadcrumbs.component.less          |     7 +
 .../components/breadrumbs/breadcrumbs.component.ts |    32 +-
 .../cluster-filter.component.spec.ts               |    14 +-
 .../cluster-filter/cluster-filter.component.ts     |    34 +-
 .../context-menu/context-menu.component.spec.ts    |    16 +-
 .../filter-button/filter-button.component.ts       |    56 +-
 .../filters-panel/filters-panel.component.html     |    21 +-
 .../filters-panel/filters-panel.component.less     |     6 +
 .../filters-panel/filters-panel.component.spec.ts  |    16 +-
 .../filters-panel/filters-panel.component.ts       |   101 +-
 .../log-context/log-context.component.html         |    19 +-
 .../log-context/log-context.component.less         |    17 +-
 .../log-context/log-context.component.spec.ts      |    14 +-
 .../log-context/log-context.component.ts           |    40 +-
 .../log-index-filter.component.html                |     6 +-
 .../log-index-filter.component.less                |     5 +
 .../log-index-filter.component.spec.ts             |    14 +-
 .../log-index-filter/log-index-filter.component.ts |    37 +-
 .../components/log-level/log-level.component.ts    |    18 +-
 .../login-form/login-form.component.html           |     4 +-
 .../login-form/login-form.component.spec.ts        |    27 +-
 .../components/login-form/login-form.component.ts  |    78 +-
 .../logs-container/logs-container.component.html   |     8 +-
 .../logs-container/logs-container.component.less   |     1 -
 .../logs-container.component.spec.ts               |    14 +-
 .../logs-container/logs-container.component.ts     |   296 +-
 .../main-container/main-container.component.less   |    21 -
 .../main-container/main-container.component.ts     |    23 +-
 .../menu-button/menu-button.component.html         |     3 +-
 .../menu-button/menu-button.component.less         |    10 +
 .../menu-button/menu-button.component.ts           |    81 +-
 .../search-box/search-box.component.html           |    14 +-
 .../search-box/search-box.component.less           |    16 +-
 .../components/search-box/search-box.component.ts  |    74 +-
 .../service-logs-table.component.spec.ts           |    14 +-
 .../service-logs-table.component.ts                |    22 +-
 .../src/app/components/tabs/tabs.component.html    |    24 +-
 .../src/app/components/tabs/tabs.component.spec.ts |    22 +-
 .../src/app/components/tabs/tabs.component.ts      |    71 +-
 .../time-histogram/time-histogram.component.ts     |    11 +-
 .../time-range-picker.component.spec.ts            |    14 +-
 .../time-range-picker.component.ts                 |    19 +-
 .../timezone-picker.component.spec.ts              |    14 +-
 .../components/top-menu/top-menu.component.spec.ts |    12 +-
 .../src/app/modules/app-load/app-load.module.ts    |    14 +-
 .../src/app/modules/app-load/app-load.service.ts   |    73 -
 .../models/data-availability-state.model.ts        |    32 +
 .../modules/app-load/services/app-load.service.ts  |   256 +
 .../app-load/stores/data-avaibility-state.store.ts |    34 +
 .../src/app/modules/shared/animations.less         |    33 +
 .../data-loading-indicator.component.html          |    50 +
 .../data-loading-indicator.component.less          |   157 +
 .../data-loading-indicator.component.spec.ts       |    56 +
 .../data-loading-indicator.component.ts            |    84 +
 .../dropdown-button.component.spec.ts              |     8 +-
 .../dropdown-button/dropdown-button.component.ts   |    36 +-
 .../dropdown-list/dropdown-list.component.html     |    69 +-
 .../dropdown-list/dropdown-list.component.less     |    42 +-
 .../dropdown-list/dropdown-list.component.spec.ts  |    16 +-
 .../dropdown-list/dropdown-list.component.ts       |   142 +-
 .../filter-dropdown.component.spec.ts              |    16 +-
 .../filter-dropdown/filter-dropdown.component.ts   |     2 +-
 .../shared/components/modal/modal.component.html   |     3 +-
 .../shared/components/modal/modal.component.less   |    13 +
 .../shared/components/modal/modal.component.ts     |     3 +
 .../src/app/modules/shared/main.less               |     1 +
 .../src/app/modules/shared/mixins.less             |     2 +-
 .../src/app/modules/shared/notifications.less      |    66 +
 .../shared/services/notification.service.ts        |    41 +-
 .../src/app/modules/shared/shared.module.ts        |    12 +-
 .../src/app/modules/shared/variables.less          |     9 +-
 .../shipper-configuration.component.less           |     4 +
 .../shipper-configuration.component.ts             |    50 +-
 ...ipper-service-configuration-form.component.html |    16 +-
 ...shipper-service-configuration-form.component.ts |    56 +-
 .../shipper/directives/validator.directive.ts      |    14 +
 .../services/shipper-configuration.service.ts      |    13 +-
 .../app/modules/shipper/services/shipper.guard.ts  |    83 +
 .../app/modules/shipper/shipper-routing.module.ts  |    10 +-
 .../src/app/modules/shipper/shipper.module.ts      |     4 +-
 .../src/app/pipes/component-label.ts               |     2 +-
 .../src/app/services/auth-guard.service.ts         |     2 +-
 .../src/app/services/auth.service.spec.ts          |    11 +-
 .../src/app/services/auth.service.ts               |    80 +-
 .../services/component-generator.service.spec.ts   |    14 +-
 .../app/services/history-manager.service.spec.ts   |    16 +-
 .../src/app/services/history-manager.service.ts    |   296 +-
 .../src/app/services/http-client.service.ts        |    62 +-
 .../src/app/services/login-screen-guard.service.ts |    42 +
 .../logs-breadcrumbs-resolver.service.spec.ts      |    72 +
 .../services/logs-breadcrumbs-resolver.service.ts  |    42 +
 .../app/services/logs-container.service.spec.ts    |    14 +-
 .../src/app/services/logs-container.service.ts     |   961 +-
 .../services/logs-filtering-utils.service.spec.ts  |    71 +
 .../app/services/logs-filtering-utils.service.ts   |   553 +
 .../src/app/services/mock-api-data.service.spec.ts |    14 +-
 .../src/app/services/mock-api-data.service.ts      |    62 +-
 .../src/app/services/storage/logs-state.service.ts |    33 +
 .../src/app/services/storage/reducers.service.ts   |     8 +-
 .../src/app/services/storage/tabs.service.ts       |     2 +-
 .../src/app/services/tab.guard.spec.ts             |    78 +
 .../src/app/services/tab.guard.ts                  |    51 +
 .../src/app/services/user-settings.service.spec.ts |    14 +-
 .../src/app/services/user-settings.service.ts      |    60 +-
 .../src/app/services/utils.service.ts              |     4 +-
 .../src/app/test-config.spec.ts                    |     4 +-
 .../ambari-logsearch-web/src/assets/i18n/en.json   |    44 +-
 .../src/assets/images/ambari-logo.png              |   Bin 0 -> 2779 bytes
 .../ambari-logsearch-web/src/index.html            |    18 +-
 .../src/mockdata/mock-data-common.ts               |   118 +-
 .../src/mockdata/mock-data-get.ts                  |    88 +-
 .../src/mockdata/mock-data-post.ts                 |  1649 +-
 .../ambari-logsearch-web/src/styles.less           |     5 +-
 .../src/vendor/css/bootstrap-logsearch.min.css     |     2 +-
 .../src/vendor/css/fonts/Roboto-Bold-webfont.eot   |   Bin 0 -> 36098 bytes
 .../src/vendor/css/fonts/Roboto-Bold-webfont.svg   |   607 +
 .../src/vendor/css/fonts/Roboto-Bold-webfont.ttf   |   Bin 0 -> 35912 bytes
 .../src/vendor/css/fonts/Roboto-Bold-webfont.woff  |   Bin 0 -> 21320 bytes
 .../src/vendor/js/bootstrap-logsearch.min.js       |     4 +-
 ambari-logsearch/ambari-logsearch-web/yarn.lock    |     4 -
 ambari-logsearch/docker/Dockerfile                 |     6 +-
 ambari-logsearch/docker/all.yml                    |     2 +-
 ambari-logsearch/docker/docker-compose.yml         |     4 +-
 .../docker/knox/logsearch/1.0.0/service.xml        |    12 +-
 ambari-logsearch/docker/logsearch-docker.sh        |    16 +-
 ambari-logsearch/docker/solr.yml                   |     4 +-
 ambari-logsearch/docker/sso.yml                    |     6 +-
 .../test-config/logfeeder/logfeeder.properties     |     2 +-
 .../shipper-conf/input.config-ambari.json          |   641 +-
 .../logfeeder/shipper-conf/input.config-storm.json |    75 +
 .../streamline-1-TestAgg-2-3/6700/worker.log       |     5 +
 .../streamline-1-TestAgg-2-3/6701/worker.log       |     5 +
 ambari-logsearch/pom.xml                           |    31 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml     |     8 +-
 .../src/main/assembly/collector.xml                |     1 +
 ambari-metrics/ambari-metrics-common/pom.xml       |    41 +-
 .../sink/timeline/AbstractTimelineMetricsSink.java |   108 +-
 .../hadoop/metrics2/sink/timeline/Precision.java   |     1 -
 .../sink/timeline/SingleValuedTimelineMetric.java  |    22 +-
 .../metrics2/sink/timeline/TimelineMetric.java     |    28 +-
 .../sink/timeline/TimelineMetricMetadata.java      |    41 +-
 .../sink/timeline/TimelineMetricUtils.java         |    65 +
 .../metrics2/sink/timeline/TimelineMetrics.java    |    11 +-
 .../availability/MetricCollectorHAHelper.java      |     8 +-
 .../timeline/AbstractTimelineMetricSinkTest.java   |   240 +
 .../AbstractTimelineMetricSinkTest.java            |   108 -
 .../availability/MetricCollectorHATest.java        |     5 +
 .../timeline/cache/HandleConnectExceptionTest.java |    10 +
 .../src/main/conf/flume-metrics2.properties.j2     |     8 +-
 .../sink/flume/FlumeTimelineMetricsSink.java       |    13 +-
 .../ambari-metrics/datasource.js                   |   111 +
 ambari-metrics/ambari-metrics-hadoop-sink/pom.xml  |     5 +-
 .../sink/timeline/HadoopTimelineMetricsSink.java   |    15 +-
 .../timeline/HadoopTimelineMetricsSinkTest.java    |     8 +-
 .../ambari-metrics-host-aggregator/pom.xml         |    12 +-
 .../host/aggregator/AggregatorApplication.java     |   328 +-
 .../host/aggregator/TimelineMetricsHolder.java     |   137 +-
 .../sink/timeline/AbstractMetricPublisher.java     |    12 +-
 .../sink/timeline/AggregatedMetricsPublisher.java  |     5 +
 .../sink/timeline/RawMetricsPublisher.java         |     5 +
 .../host/aggregator/TimelineMetricsHolderTest.java |     5 +-
 .../timeline/AggregatedMetricsPublisherTest.java   |     3 +-
 .../sink/timeline/RawMetricsPublisherTest.java     |     4 +-
 .../src/main/python/amhm_service.py                |     6 +-
 .../src/main/python/core/aggregator.py             |     6 +-
 .../src/main/python/core/application_metric_map.py |    52 +-
 .../src/main/python/core/config_reader.py          |    25 +-
 .../src/main/python/core/emitter.py                |    42 +-
 .../src/main/python/core/host_info.py              |     1 -
 .../src/main/python/core/stop_handler.py           |     4 +-
 .../src/main/python/main.py                        |    19 +-
 .../test/python/core/TestApplicationMetricMap.py   |    38 +-
 ambari-metrics/ambari-metrics-kafka-sink/pom.xml   |     2 +-
 .../sink/kafka/KafkaTimelineMetricsReporter.java   |    10 +-
 .../sink/storm/StormTimelineMetricsReporter.java   |    16 +-
 .../sink/storm/StormTimelineMetricsSink.java       |    13 +-
 .../sink/storm/StormTimelineMetricsReporter.java   |    13 +-
 .../sink/storm/StormTimelineMetricsSink.java       |    13 +-
 .../conf/unix/ambari-metrics-collector             |    78 +-
 .../conf/unix/ams-env.sh                           |    17 +
 .../conf/unix/ams-site.xml                         |   360 +
 .../conf/unix/hbase-site.xml                       |   280 +
 .../conf/unix/sqlline/phoenix_utils.py             |     7 +-
 .../conf/unix/sqlline/sqlline.py                   |     4 +-
 .../ambari-metrics-timelineservice/pom.xml         |   287 +-
 .../ambari/metrics/AMSApplicationServer.java       |   143 +
 .../metrics/core/loadsimulator/LoadRunner.java     |   154 +
 .../core/loadsimulator/MetricsLoadSimulator.java   |   138 +
 .../core/loadsimulator/MetricsSenderWorker.java    |    60 +
 .../metrics/core/loadsimulator/data/AppID.java     |    45 +
 .../core/loadsimulator/data/AppMetrics.java        |    47 +
 .../loadsimulator/data/ApplicationInstance.java    |    58 +
 .../loadsimulator/data/HostMetricsGenerator.java   |    61 +
 .../metrics/core/loadsimulator/data/Metric.java    |    71 +
 .../data/MetricsGeneratorConfigurer.java           |    93 +
 .../core/loadsimulator/net/MetricsSender.java      |    31 +
 .../core/loadsimulator/net/RestMetricsSender.java  |    92 +
 .../loadsimulator/net/StdOutMetricsSender.java     |    56 +
 .../metrics/core/loadsimulator/net/UrlService.java |   100 +
 .../metrics/core/loadsimulator/util/Json.java      |    62 +
 .../loadsimulator/util/RandomMetricsProvider.java  |    39 +
 .../core/loadsimulator/util/TimeStampProvider.java |    51 +
 .../metrics/core/timeline/FunctionUtils.java       |    47 +
 .../core/timeline/HBaseTimelineMetricsService.java |   567 +
 .../core/timeline/MetricsCacheCommitterThread.java |    38 +
 .../MetricsSystemInitializationException.java      |    41 +
 .../core/timeline/PhoenixHBaseAccessor.java        |  2046 +
 .../core/timeline/TimelineMetricConfiguration.java |   741 +
 .../timeline/TimelineMetricDistributedCache.java   |    32 +
 .../timeline/TimelineMetricServiceSummary.java     |    74 +
 .../timeline/TimelineMetricSplitPointComputer.java |   240 +
 .../metrics/core/timeline/TimelineMetricStore.java |   125 +
 .../core/timeline/TimelineMetricStoreWatcher.java  |   126 +
 .../timeline/TimelineMetricsAggregatorSink.java    |    60 +
 .../core/timeline/TimelineMetricsFilter.java       |   198 +
 .../core/timeline/TimelineMetricsIgniteCache.java  |   326 +
 .../core/timeline/TransientMetricReadHelper.java   |   139 +
 .../aggregators/AbstractTimelineAggregator.java    |   474 +
 .../core/timeline/aggregators/AggregatorUtils.java |   255 +
 .../timeline/aggregators/CustomDownSampler.java    |    44 +
 .../timeline/aggregators/DownSamplerUtils.java     |   122 +
 .../aggregators/EventMetricDownSampler.java        |    84 +
 .../core/timeline/aggregators/Function.java        |   213 +
 .../aggregators/TimelineClusterMetric.java         |    97 +
 .../aggregators/TimelineMetricAggregator.java      |    59 +
 .../TimelineMetricAggregatorFactory.java           |   529 +
 .../aggregators/TimelineMetricAppAggregator.java   |   192 +
 .../TimelineMetricClusterAggregator.java           |   152 +
 .../TimelineMetricClusterAggregatorSecond.java     |   287 +
 ...tricClusterAggregatorSecondWithCacheSource.java |   104 +
 .../TimelineMetricFilteringHostAggregator.java     |    94 +
 .../aggregators/TimelineMetricHostAggregator.java  |   125 +
 .../aggregators/TimelineMetricReadHelper.java      |   184 +
 .../core/timeline/aggregators/TopNDownSampler.java |   112 +
 .../v2/TimelineMetricClusterAggregator.java        |    93 +
 .../v2/TimelineMetricFilteringHostAggregator.java  |   119 +
 .../v2/TimelineMetricHostAggregator.java           |    77 +
 .../availability/AggregationTaskRunner.java        |   141 +
 .../timeline/availability/CheckpointManager.java   |    95 +
 .../availability/MetricCollectorHAController.java  |   330 +
 .../OnlineOfflineStateModelFactory.java            |    69 +
 .../discovery/TimelineMetricHostMetadata.java      |    60 +
 .../discovery/TimelineMetricMetadataKey.java       |    80 +
 .../discovery/TimelineMetricMetadataManager.java   |   852 +
 .../discovery/TimelineMetricMetadataSync.java      |   227 +
 ...ractTimelineMetricsSeriesAggregateFunction.java |    98 +
 .../timeline/function/SeriesAggregateFunction.java |    42 +
 .../TimelineMetricsSeriesAggregateFunction.java    |    25 +
 ...elineMetricsSeriesAggregateFunctionFactory.java |    41 +
 .../TimelineMetricsSeriesAvgAggregateFunction.java |    39 +
 .../TimelineMetricsSeriesMaxAggregateFunction.java |    41 +
 .../TimelineMetricsSeriesMinAggregateFunction.java |    41 +
 .../TimelineMetricsSeriesSumAggregateFunction.java |    39 +
 .../metrics/core/timeline/query/Condition.java     |    52 +
 .../core/timeline/query/ConditionBuilder.java      |   156 +
 .../core/timeline/query/ConnectionProvider.java    |    29 +
 .../core/timeline/query/DefaultCondition.java      |   322 +
 .../timeline/query/DefaultPhoenixDataSource.java   |    90 +
 .../core/timeline/query/EmptyCondition.java        |   174 +
 .../timeline/query/PhoenixConnectionProvider.java  |    31 +
 .../core/timeline/query/PhoenixTransactSQL.java    |  1106 +
 .../query/SplitByMetricNamesCondition.java         |   194 +
 .../metrics/core/timeline/query/TopNCondition.java |   162 +
 .../timeline/query/TransientMetricCondition.java   |   206 +
 .../core/timeline/sink/DefaultFSSinkProvider.java  |   153 +
 .../core/timeline/sink/ExternalMetricsSink.java    |    48 +
 .../core/timeline/sink/ExternalSinkProvider.java   |    35 +
 .../core/timeline/sink/HttpSinkProvider.java       |   231 +
 .../core/timeline/sink/KafkaSinkProvider.java      |   118 +
 .../DefaultInternalMetricsSourceProvider.java      |    42 +
 .../timeline/source/InternalMetricsSource.java     |    30 +
 .../timeline/source/InternalSourceProvider.java    |    39 +
 .../core/timeline/source/RawMetricsSource.java     |    85 +
 .../source/cache/InternalMetricCacheKey.java       |   109 +
 .../source/cache/InternalMetricCacheValue.java     |    37 +
 .../source/cache/InternalMetricsCache.java         |   229 +
 .../source/cache/InternalMetricsCacheProvider.java |    48 +
 .../cache/InternalMetricsCacheSizeOfEngine.java    |   148 +
 .../upgrade/core/AbstractPhoenixMetricsCopier.java |   164 +
 .../upgrade/core/MetricsDataMigrationLauncher.java |   331 +
 .../upgrade/core/PhoenixClusterMetricsCopier.java  |    74 +
 .../upgrade/core/PhoenixHostMetricsCopier.java     |    77 +
 .../timeline/uuid/HashBasedUuidGenStrategy.java    |   225 +
 .../core/timeline/uuid/MD5UuidGenStrategy.java     |    60 +
 .../core/timeline/uuid/MetricUuidGenStrategy.java  |    40 +
 .../timeline/uuid/Murmur3HashUuidGenStrategy.java  |    54 +
 .../core/timeline/uuid/TimelineMetricUuid.java     |    55 +
 .../records/ApplicationAttemptFinishData.java      |    95 +
 .../records/ApplicationAttemptHistoryData.java     |   171 +
 .../records/ApplicationAttemptStartData.java       |    82 +
 .../metrics/records/ApplicationFinishData.java     |    94 +
 .../metrics/records/ApplicationHistoryData.java    |   213 +
 .../metrics/records/ApplicationStartData.java      |   106 +
 .../metrics/records/ContainerFinishData.java       |    90 +
 .../metrics/records/ContainerHistoryData.java      |   182 +
 .../ambari/metrics/records/ContainerStartData.java |    92 +
 .../pb/ApplicationAttemptFinishDataPBImpl.java     |   239 +
 .../impl/pb/ApplicationAttemptStartDataPBImpl.java |   208 +
 .../impl/pb/ApplicationFinishDataPBImpl.java       |   226 +
 .../impl/pb/ApplicationStartDataPBImpl.java        |   229 +
 .../records/impl/pb/ContainerFinishDataPBImpl.java |   204 +
 .../records/impl/pb/ContainerStartDataPBImpl.java  |   258 +
 .../metrics/timeline/GenericObjectMapper.java      |   135 +
 .../ambari/metrics/timeline/NameValuePair.java     |    59 +
 .../ambari/metrics/timeline/TimelineReader.java    |   155 +
 .../ambari/metrics/timeline/TimelineStore.java     |    29 +
 .../ambari/metrics/timeline/TimelineWriter.java    |    46 +
 .../ambari/metrics/webapp/AMSController.java       |    37 +
 .../apache/ambari/metrics/webapp/AMSWebApp.java    |    42 +
 .../ambari/metrics/webapp/JAXBContextResolver.java |    64 +
 .../ambari/metrics/webapp/TimelineWebServices.java |   539 +
 .../ApplicationHistoryClientService.java           |   215 -
 .../ApplicationHistoryManager.java                 |   146 -
 .../ApplicationHistoryManagerImpl.java             |   250 -
 .../ApplicationHistoryReader.java                  |   117 -
 .../ApplicationHistoryServer.java                  |   203 -
 .../ApplicationHistoryStore.java                   |    37 -
 .../ApplicationHistoryWriter.java                  |   112 -
 .../FileSystemApplicationHistoryStore.java         |   784 -
 .../MemoryApplicationHistoryStore.java             |   274 -
 .../NullApplicationHistoryStore.java               |   127 -
 .../metrics/loadsimulator/LoadRunner.java          |   159 -
 .../loadsimulator/MetricsLoadSimulator.java        |   139 -
 .../metrics/loadsimulator/MetricsSenderWorker.java |    65 -
 .../metrics/loadsimulator/data/AppID.java          |    46 -
 .../metrics/loadsimulator/data/AppMetrics.java     |    48 -
 .../loadsimulator/data/ApplicationInstance.java    |    59 -
 .../loadsimulator/data/HostMetricsGenerator.java   |    63 -
 .../metrics/loadsimulator/data/Metric.java         |    71 -
 .../data/MetricsGeneratorConfigurer.java           |    95 -
 .../metrics/loadsimulator/net/MetricsSender.java   |    31 -
 .../loadsimulator/net/RestMetricsSender.java       |    93 -
 .../loadsimulator/net/StdOutMetricsSender.java     |    56 -
 .../metrics/loadsimulator/net/UrlService.java      |   101 -
 .../metrics/loadsimulator/util/Json.java           |    63 -
 .../loadsimulator/util/RandomMetricsProvider.java  |    40 -
 .../loadsimulator/util/TimeStampProvider.java      |    52 -
 .../metrics/timeline/HBaseTimelineMetricStore.java |   516 -
 .../timeline/MetricsCacheCommitterThread.java      |    38 -
 .../MetricsSystemInitializationException.java      |    42 -
 .../metrics/timeline/PhoenixHBaseAccessor.java     |  1829 -
 .../timeline/TimelineMetricConfiguration.java      |   537 -
 .../metrics/timeline/TimelineMetricStore.java      |   106 -
 .../timeline/TimelineMetricStoreWatcher.java       |   127 -
 .../timeline/TimelineMetricsAggregatorSink.java    |    60 -
 .../metrics/timeline/TimelineMetricsFilter.java    |   177 -
 .../aggregators/AbstractTimelineAggregator.java    |   496 -
 .../timeline/aggregators/AggregatorUtils.java      |    62 -
 .../timeline/aggregators/CustomDownSampler.java    |    44 -
 .../timeline/aggregators/DownSamplerUtils.java     |   122 -
 .../aggregators/EventMetricDownSampler.java        |    83 -
 .../metrics/timeline/aggregators/Function.java     |   212 -
 .../aggregators/TimelineClusterMetric.java         |   101 -
 .../aggregators/TimelineMetricAggregator.java      |    59 -
 .../TimelineMetricAggregatorFactory.java           |   446 -
 .../aggregators/TimelineMetricAppAggregator.java   |   188 -
 .../TimelineMetricClusterAggregator.java           |   144 -
 .../TimelineMetricClusterAggregatorSecond.java     |   472 -
 .../aggregators/TimelineMetricHostAggregator.java  |   122 -
 .../aggregators/TimelineMetricReadHelper.java      |   167 -
 .../timeline/aggregators/TopNDownSampler.java      |   112 -
 .../v2/TimelineMetricClusterAggregator.java        |    93 -
 .../v2/TimelineMetricHostAggregator.java           |    76 -
 .../availability/AggregationTaskRunner.java        |   145 -
 .../timeline/availability/CheckpointManager.java   |    98 -
 .../availability/MetricCollectorHAController.java  |   320 -
 .../OnlineOfflineStateModelFactory.java            |    69 -
 .../discovery/TimelineMetricMetadataKey.java       |    60 -
 .../discovery/TimelineMetricMetadataManager.java   |   278 -
 .../discovery/TimelineMetricMetadataSync.java      |   226 -
 ...ractTimelineMetricsSeriesAggregateFunction.java |    97 -
 .../timeline/function/SeriesAggregateFunction.java |    42 -
 .../TimelineMetricsSeriesAggregateFunction.java    |    25 -
 ...elineMetricsSeriesAggregateFunctionFactory.java |    41 -
 .../TimelineMetricsSeriesAvgAggregateFunction.java |    39 -
 .../TimelineMetricsSeriesMaxAggregateFunction.java |    41 -
 .../TimelineMetricsSeriesMinAggregateFunction.java |    41 -
 .../TimelineMetricsSeriesSumAggregateFunction.java |    39 -
 .../metrics/timeline/query/Condition.java          |    48 -
 .../metrics/timeline/query/ConditionBuilder.java   |   137 -
 .../metrics/timeline/query/ConnectionProvider.java |    29 -
 .../metrics/timeline/query/DefaultCondition.java   |   384 -
 .../timeline/query/DefaultPhoenixDataSource.java   |    90 -
 .../metrics/timeline/query/EmptyCondition.java     |   153 -
 .../timeline/query/PhoenixConnectionProvider.java  |    31 -
 .../metrics/timeline/query/PhoenixTransactSQL.java |   928 -
 .../query/SplitByMetricNamesCondition.java         |   189 -
 .../metrics/timeline/query/TopNCondition.java      |   196 -
 .../records/ApplicationAttemptFinishData.java      |    95 -
 .../records/ApplicationAttemptHistoryData.java     |   171 -
 .../records/ApplicationAttemptStartData.java       |    82 -
 .../records/ApplicationFinishData.java             |    94 -
 .../records/ApplicationHistoryData.java            |   213 -
 .../records/ApplicationStartData.java              |   106 -
 .../records/ContainerFinishData.java               |    90 -
 .../records/ContainerHistoryData.java              |   182 -
 .../records/ContainerStartData.java                |    92 -
 .../pb/ApplicationAttemptFinishDataPBImpl.java     |   239 -
 .../impl/pb/ApplicationAttemptStartDataPBImpl.java |   208 -
 .../impl/pb/ApplicationFinishDataPBImpl.java       |   226 -
 .../impl/pb/ApplicationStartDataPBImpl.java        |   229 -
 .../records/impl/pb/ContainerFinishDataPBImpl.java |   204 -
 .../records/impl/pb/ContainerStartDataPBImpl.java  |   258 -
 .../timeline/EntityIdentifier.java                 |   100 -
 .../timeline/GenericObjectMapper.java              |   135 -
 .../timeline/LeveldbTimelineStore.java             |  1473 -
 .../timeline/MemoryTimelineStore.java              |   360 -
 .../timeline/NameValuePair.java                    |    59 -
 .../timeline/TimelineReader.java                   |   155 -
 .../timeline/TimelineStore.java                    |    29 -
 .../timeline/TimelineWriter.java                   |    46 -
 .../timeline/package-info.java                     |    20 -
 .../webapp/AHSController.java                      |    55 -
 .../webapp/AHSLogsPage.java                        |    55 -
 .../applicationhistoryservice/webapp/AHSView.java  |    90 -
 .../webapp/AHSWebApp.java                          |    66 -
 .../webapp/AHSWebServices.java                     |   162 -
 .../webapp/AppAttemptPage.java                     |    69 -
 .../applicationhistoryservice/webapp/AppPage.java  |    71 -
 .../webapp/ContainerPage.java                      |    41 -
 .../webapp/JAXBContextResolver.java                |    64 -
 .../applicationhistoryservice/webapp/NavBlock.java |    51 -
 .../webapp/TimelineWebServices.java                |   648 -
 .../src/main/python/main.py                        |     4 +-
 .../main/resources/metrics_def/AMBARI_SERVER.dat   |    40 +
 .../resources/metrics_def/AMSSMOKETESTFAKE.DAT     |     1 +
 .../resources/metrics_def/AMSSMOKETESTFAKE.dat     |     1 +
 .../main/resources/metrics_def/HBASE_MASTER.dat    |   253 +
 .../resources/metrics_def/HBASE_REGIONSERVER.dat   |   600 +
 .../src/main/resources/metrics_def/HOST.dat        |     6 +
 .../resources/metrics_def/JOBHISTORYSERVER.dat     |    58 +
 .../main/resources/metrics_def/KAFKA_BROKER.dat    |     1 -
 .../main/resources/metrics_def/MASTER_HBASE.dat    |    69 -
 .../src/main/resources/metrics_def/NAMENODE.dat    |     2 +
 .../src/main/resources/metrics_def/SLAVE_HBASE.dat |   178 -
 .../metrics_def/TIMELINE_METRIC_STORE_WATCHER.DAT  |     1 +
 .../metrics_def/TIMELINE_METRIC_STORE_WATCHER.dat  |     1 +
 .../core/loadsimulator/data/TestAppMetrics.java    |   134 +
 .../core/loadsimulator/data/TestMetric.java        |    80 +
 .../jmetertest/jmetertest/AMSJMeterLoadTest.java   |   198 +
 .../jmetertest/jmetertest/AppGetMetric.java        |    57 +
 .../jmetertest/GetMetricRequestInfo.java           |    61 +
 .../jmetertest/jmetertest/JmeterTestPlanTask.java  |   276 +
 .../loadsimulator/net/TestRestMetricsSender.java   |    75 +
 .../loadsimulator/net/TestStdOutMetricsSender.java |    37 +
 .../util/TestRandomMetricsProvider.java            |    36 +
 .../loadsimulator/util/TestTimeStampProvider.java  |    51 +
 .../timeline/AbstractMiniHBaseClusterTest.java     |   313 +
 .../AbstractPhoenixConnectionlessTest.java         |   111 +
 .../ambari/metrics/core/timeline/FunctionTest.java |    62 +
 .../timeline/HBaseTimelineMetricsServiceTest.java  |   136 +
 .../core/timeline/ITPhoenixHBaseAccessor.java      |   556 +
 .../metrics/core/timeline/MetricTestHelper.java    |   119 +
 .../core/timeline/PhoenixHBaseAccessorTest.java    |   292 +
 .../metrics/core/timeline/TestClusterSuite.java    |    34 +
 .../core/timeline/TestMetricHostAggregate.java     |    65 +
 .../core/timeline/TestPhoenixTransactSQL.java      |   659 +
 .../core/timeline/TestTimelineMetricStore.java     |   133 +
 .../TimelineMetricSplitPointComputerTest.java      |   141 +
 .../timeline/TimelineMetricStoreWatcherTest.java   |   108 +
 .../TimelineMetricsAggregatorMemorySink.java       |   141 +
 .../core/timeline/TimelineMetricsFilterTest.java   |   259 +
 .../timeline/TimelineMetricsIgniteCacheTest.java   |   237 +
 .../metrics/core/timeline/TopNConditionTest.java   |   105 +
 .../AbstractTimelineAggregatorTest.java            |   181 +
 .../core/timeline/aggregators/DownSamplerTest.java |   117 +
 .../timeline/aggregators/ITClusterAggregator.java  |   711 +
 .../timeline/aggregators/ITMetricAggregator.java   |   355 +
 .../TimelineMetricClusterAggregatorSecondTest.java |   405 +
 ...ClusterAggregatorSecondWithCacheSourceTest.java |   115 +
 .../MetricCollectorHAControllerTest.java           |   106 +
 .../timeline/discovery/TestMetadataManager.java    |   280 +
 .../core/timeline/discovery/TestMetadataSync.java  |   126 +
 ...TimelineMetricsSeriesAggregateFunctionTest.java |   188 +
 .../core/timeline/query/DefaultConditionTest.java  |   172 +
 .../core/timeline/source/RawMetricsSourceTest.java |   142 +
 .../timeline/uuid/MetricUuidGenStrategyTest.java   |   216 +
 .../metrics/timeline/TestGenericObjectMapper.java  |   102 +
 .../metrics/webapp/TestTimelineWebServices.java    |   118 +
 .../ApplicationHistoryStoreTestUtils.java          |    84 -
 .../TestApplicationHistoryClientService.java       |   209 -
 .../TestApplicationHistoryManagerImpl.java         |    76 -
 .../TestApplicationHistoryServer.java              |   266 -
 .../TestFileSystemApplicationHistoryStore.java     |   233 -
 .../TestMemoryApplicationHistoryStore.java         |   206 -
 .../metrics/loadsimulator/data/TestAppMetrics.java |   134 -
 .../metrics/loadsimulator/data/TestMetric.java     |    80 -
 .../jmetertest/jmetertest/AMSJMeterLoadTest.java   |   198 -
 .../jmetertest/jmetertest/AppGetMetric.java        |    57 -
 .../jmetertest/GetMetricRequestInfo.java           |    61 -
 .../jmetertest/jmetertest/JmeterTestPlanTask.java  |   276 -
 .../loadsimulator/net/TestRestMetricsSender.java   |    76 -
 .../loadsimulator/net/TestStdOutMetricsSender.java |    37 -
 .../util/TestRandomMetricsProvider.java            |    36 -
 .../loadsimulator/util/TestTimeStampProvider.java  |    51 -
 .../timeline/AbstractMiniHBaseClusterTest.java     |   297 -
 .../AbstractPhoenixConnectionlessTest.java         |   111 -
 .../metrics/timeline/FunctionTest.java             |    62 -
 .../timeline/HBaseTimelineMetricStoreTest.java     |   136 -
 .../metrics/timeline/ITPhoenixHBaseAccessor.java   |   442 -
 .../metrics/timeline/MetricTestHelper.java         |   121 -
 .../metrics/timeline/PhoenixHBaseAccessorTest.java |   321 -
 .../metrics/timeline/TestClusterSuite.java         |    34 -
 .../metrics/timeline/TestMetricHostAggregate.java  |    66 -
 .../metrics/timeline/TestPhoenixTransactSQL.java   |   661 -
 .../metrics/timeline/TestTimelineMetricStore.java  |   115 -
 .../timeline/TimelineMetricStoreWatcherTest.java   |   109 -
 .../TimelineMetricsAggregatorMemorySink.java       |   141 -
 .../timeline/TimelineMetricsFilterTest.java        |   223 -
 .../metrics/timeline/TopNConditionTest.java        |   105 -
 .../AbstractTimelineAggregatorTest.java            |   179 -
 .../timeline/aggregators/DownSamplerTest.java      |   115 -
 .../timeline/aggregators/ITClusterAggregator.java  |   683 -
 .../timeline/aggregators/ITMetricAggregator.java   |   363 -
 .../TimelineMetricClusterAggregatorSecondTest.java |   407 -
 .../MetricCollectorHAControllerTest.java           |   105 -
 .../timeline/discovery/TestMetadataManager.java    |   156 -
 .../timeline/discovery/TestMetadataSync.java       |   128 -
 ...TimelineMetricsSeriesAggregateFunctionTest.java |   188 -
 .../timeline/query/DefaultConditionTest.java       |   116 -
 .../timeline/TestGenericObjectMapper.java          |   102 -
 .../timeline/TestLeveldbTimelineStore.java         |   253 -
 .../timeline/TestMemoryTimelineStore.java          |    83 -
 .../timeline/TimelineStoreTestUtils.java           |   789 -
 .../webapp/TestAHSWebApp.java                      |   199 -
 .../webapp/TestAHSWebServices.java                 |   302 -
 .../webapp/TestTimelineWebServices.java            |   391 -
 .../src/test/resources/loadsimulator/README        |     2 +-
 .../test/resources/test_data/full_whitelist.dat    |  1615 +
 .../test/resources/test_data/metric_blacklist.dat  |     2 +
 ambari-metrics/pom.xml                             |    45 +-
 ambari-project/pom.xml                             |    39 +-
 ambari-server/checkstyle.xml                       |     2 +-
 ambari-server/conf/unix/ambari-env.sh              |     4 +-
 ambari-server/conf/unix/ambari.properties          |     9 +-
 ambari-server/conf/unix/log4j.properties           |     3 +-
 ambari-server/docs/api/generated/index.html        | 57194 ++++++++++++-------
 ambari-server/docs/api/generated/swagger.json      |  4257 +-
 ambari-server/docs/configuration/index.md          |     6 -
 .../docs/security/kerberos/enabling_kerberos.md    |    94 +-
 .../docs/security/kerberos/kerberos_service.md     |   100 +-
 ambari-server/docs/security/sso/index.md           |   541 +
 ambari-server/findbugs.exclude.xml                 |    25 +
 ambari-server/pom.xml                              |    47 +-
 ambari-server/src/main/assemblies/server.xml       |     5 -
 .../ambari/annotations/ExperimentalFeature.java    |    13 +-
 .../MessageDestinationIsNotDefinedException.java   |     6 +-
 .../server/actionmanager/ActionDBAccessorImpl.java |    11 +-
 .../actionmanager/ExecutionCommandWrapper.java     |    27 +-
 .../ambari/server/agent/AgentReportsProcessor.java |    61 +-
 .../ambari/server/agent/CommandRepository.java     |    56 +
 .../ambari/server/agent/ExecutionCommand.java      |    41 +-
 .../ambari/server/agent/HeartBeatHandler.java      |    45 +-
 .../ambari/server/agent/HeartBeatResponse.java     |     4 +-
 .../ambari/server/agent/HeartbeatMonitor.java      |    83 +-
 .../apache/ambari/server/agent/RecoveryConfig.java |    90 +-
 .../server/agent/RecoveryConfigComponent.java      |   118 +
 .../ambari/server/agent/RecoveryConfigHelper.java  |    59 +-
 .../ambari/server/agent/RegistrationResponse.java  |     3 +-
 .../apache/ambari/server/agent/StatusCommand.java  |     4 +-
 .../server/agent/stomp/AgentClusterDataHolder.java |    62 +-
 .../server/agent/stomp/AgentConfigsHolder.java     |     6 +-
 .../ambari/server/agent/stomp/AgentDataHolder.java |    21 +-
 .../server/agent/stomp/AgentHostDataHolder.java    |    64 +-
 .../server/agent/stomp/AgentReportsController.java |    32 +-
 .../server/agent/stomp/AlertDefinitionsHolder.java |    21 +-
 .../server/agent/stomp/HostLevelParamsHolder.java  |    93 +-
 .../ambari/server/agent/stomp/MetadataHolder.java  |    58 +-
 .../ambari/server/agent/stomp/ReportsResponse.java |    24 +
 .../ambari/server/agent/stomp/StompResponse.java   |    42 +
 .../ambari/server/agent/stomp/TopologyHolder.java  |    40 +-
 .../ambari/server/agent/stomp/dto/AckReport.java   |    64 +
 .../server/agent/stomp/dto/AlertCluster.java       |    11 +-
 .../agent/stomp/dto/ComponentStatusReport.java     |     3 +-
 .../stomp/dto/HashAndTimestampIgnoreMixIn.java     |    32 +
 .../server/agent/stomp/dto/HashIgnoreMixIn.java    |    29 +
 .../server/agent/stomp/dto/HostRepositories.java   |    16 +-
 .../server/agent/stomp/dto/MetadataCluster.java    |    96 +-
 .../agent/stomp/dto/MetadataServiceInfo.java       |    24 +-
 .../server/agent/stomp/dto/TopologyCluster.java    |    31 +-
 .../server/agent/stomp/dto/TopologyComponent.java  |    16 +-
 .../ambari/server/api/AmbariErrorHandler.java      |    30 +-
 .../api/query/render/ClusterBlueprintRenderer.java |    18 +-
 .../ambari/server/api/services/AmbariMetaInfo.java |    46 +-
 .../ambari/server/api/services/ClusterService.java |     5 +-
 .../server/api/services/ConfigGroupService.java    |    96 +-
 .../server/api/services/ConfigurationService.java  |    56 +-
 .../server/api/services/HostComponentService.java  |   182 +-
 .../ambari/server/api/services/HostService.java    |     7 +-
 .../api/services/RequestScheduleService.java       |    84 +-
 .../server/api/services/RootServiceService.java    |     6 +-
 .../api/services/ServiceConfigVersionService.java  |    48 +-
 .../ambari/server/api/services/ServiceService.java |     4 +-
 .../ambari/server/api/services/SettingService.java |     2 +-
 .../server/api/services/ViewUrlsService.java       |   140 -
 .../mpackadvisor/commands/MpackAdvisorCommand.java |    11 +-
 .../services/parsers/JsonRequestBodyParser.java    |     6 +-
 .../services/stackadvisor/StackAdvisorHelper.java  |     9 +-
 .../services/stackadvisor/StackAdvisorRequest.java |     1 +
 .../ConfigurationRecommendationCommand.java        |    23 +-
 ...leSignOnConfigurationRecommendationCommand.java |   121 -
 .../stackadvisor/commands/StackAdvisorCommand.java |    22 +-
 .../commands/StackAdvisorCommandType.java          |     2 +
 .../services/views/ViewDataMigrationService.java   |    17 +-
 .../api/services/views/ViewInstanceService.java    |   161 +-
 .../api/services/views/ViewPermissionService.java  |    54 +-
 .../api/services/views/ViewPrivilegeService.java   |   143 +-
 .../server/api/services/views/ViewService.java     |    53 +-
 .../server/api/services/views/ViewUrlsService.java |   214 +
 .../api/services/views/ViewVersionService.java     |    56 +-
 .../eventcreator/ComponentEventCreator.java        |    18 +-
 .../request/eventcreator/HostEventCreator.java     |     2 +-
 .../eventcreator/PrivilegeEventCreator.java        |     6 +-
 .../eventcreator/ViewInstanceEventCreator.java     |    20 +-
 .../eventcreator/ViewPrivilegeEventCreator.java    |    12 +-
 .../ambari/server/checks/CheckDescription.java     |    62 +-
 .../server/checks/ComponentsExistInRepoCheck.java  |    14 +-
 .../KerberosAdminPersistedCredentialCheck.java     |   132 +
 .../server/checks/MissingOsInRepoVersionCheck.java |   107 +
 .../ambari/server/cleanup/CleanupDriver.java       |     3 +-
 .../AmbariServerConfigurationKey.java              |    14 +-
 .../ambari/server/configuration/Configuration.java |   203 +-
 .../server/configuration/SingleFileWatch.java      |    95 +
 .../configuration/spring/AgentStompConfig.java     |    13 +-
 .../configuration/spring/ApiSecurityConfig.java    |     1 +
 .../configuration/spring/ApiStompConfig.java       |     7 +-
 .../configuration/spring/GuiceBeansConfig.java     |     6 +
 .../configuration/spring/RootStompConfig.java      |    17 +-
 .../server/controller/ActionExecutionContext.java  |    67 +
 .../AmbariCustomCommandExecutionHelper.java        |   104 +-
 .../server/controller/AmbariHandlerList.java       |     1 +
 .../controller/AmbariManagementController.java     |    53 +-
 .../controller/AmbariManagementControllerImpl.java |   154 +-
 .../ambari/server/controller/AmbariServer.java     |    20 +-
 .../server/controller/ConfigGroupRequest.java      |    13 +
 .../server/controller/ConfigGroupResponse.java     |    18 +
 .../server/controller/ConfigurationRequest.java    |    12 +
 .../server/controller/ConfigurationResponse.java   |    12 +
 .../server/controller/DeleteIdentityHandler.java   |     1 -
 .../controller/HostComponentProcessResponse.java   |     7 +
 .../server/controller/HostComponentSwagger.java    |    88 +
 .../ambari/server/controller/HostResponse.java     |     2 +-
 .../ambari/server/controller/KerberosDetails.java  |    89 +
 .../ambari/server/controller/KerberosHelper.java   |    21 +
 .../server/controller/KerberosHelperImpl.java      |   250 +-
 .../controller/OrderedRequestStageContainer.java   |     4 -
 .../server/controller/PrivilegeResponse.java       |    25 +-
 .../controller/RequestScheduleRequestSwagger.java  |   113 +
 .../controller/RequestScheduleResponseSwagger.java |   140 +
 .../controller/ServiceComponentHostResponse.java   |    20 +-
 .../controller/ServiceConfigVersionRequest.java    |    13 +-
 .../controller/ServiceConfigVersionResponse.java   |    21 +-
 .../server/controller/ViewInstanceRequest.java     |    23 +-
 .../server/controller/ViewInstanceResponse.java    |    21 +-
 .../server/controller/ViewPermissionResponse.java  |    14 +-
 .../server/controller/ViewPrivilegeRequest.java    |    12 +-
 .../server/controller/ViewPrivilegeResponse.java   |    12 +-
 .../ambari/server/controller/ViewResponse.java     |     6 +-
 .../server/controller/ViewUrlResponseSwagger.java  |    50 +
 .../server/controller/ViewVersionResponse.java     |    23 +-
 .../ambari/server/controller/WidgetResponse.java   |    10 +
 .../internal/AbstractProviderModule.java           |    12 +-
 .../ActiveWidgetLayoutResourceProvider.java        |    13 +-
 .../internal/AlertGroupResourceProvider.java       |     6 +-
 .../internal/AmbariPrivilegeResourceProvider.java  |    43 +-
 .../internal/AmbariServerConfigurationHandler.java |   123 +-
 .../AmbariServerLDAPConfigurationHandler.java      |    48 +-
 .../AmbariServerSSOConfigurationHandler.java       |   249 +
 .../internal/BlueprintConfigurationProcessor.java  |   696 +-
 .../internal/BlueprintResourceProvider.java        |    34 +-
 .../internal/ClientConfigResourceProvider.java     |   104 +-
 .../internal/ClusterPrivilegeResourceProvider.java |    31 +-
 .../internal/ClusterResourceProvider.java          |    14 +-
 .../internal/ComponentResourceProvider.java        |   259 +-
 .../internal/ConfigGroupResourceProvider.java      |   160 +-
 .../internal/ConfigurationResourceProvider.java    |   130 +-
 .../DeleteHostComponentStatusMetaData.java         |    17 +-
 .../internal/ExportBlueprintRequest.java           |     6 +-
 .../internal/GroupPrivilegeResourceProvider.java   |    77 +-
 .../HostComponentProcessResourceProvider.java      |    57 +-
 .../internal/HostComponentResourceProvider.java    |   372 +-
 .../controller/internal/HostResourceProvider.java  |    44 +-
 .../internal/PrivilegeResourceProvider.java        |    48 +-
 .../internal/RequestResourceProvider.java          |    93 +-
 .../internal/RequestScheduleResourceProvider.java  |   259 +-
 .../RootServiceComponentConfigurationHandler.java  |    11 +-
 ...erviceComponentConfigurationHandlerFactory.java |    16 +-
 ...viceComponentConfigurationResourceProvider.java |    10 +-
 .../ServiceConfigVersionResourceProvider.java      |   120 +-
 .../internal/ServiceResourceProvider.java          |    47 +-
 .../internal/StackAdvisorResourceProvider.java     |     2 +-
 .../internal/UpgradeResourceProvider.java          |   132 +-
 .../UserAuthenticationSourceResourceProvider.java  |     5 +-
 .../UserAuthorizationResourceProvider.java         |    30 +-
 .../internal/UserPrivilegeResourceProvider.java    |    77 +-
 .../controller/internal/UserResourceProvider.java  |     3 +-
 .../internal/ViewInstanceResourceProvider.java     |   184 +-
 .../internal/ViewPermissionResourceProvider.java   |    51 +-
 .../internal/ViewPrivilegeResourceProvider.java    |    56 +-
 .../controller/internal/ViewResourceProvider.java  |    20 +-
 .../internal/ViewURLResourceProvider.java          |    60 +-
 .../internal/ViewVersionResourceProvider.java      |   114 +-
 .../internal/WidgetResourceProvider.java           |    11 +
 .../metrics/timeline/MetricsRequestHelper.java     |     6 +-
 .../cache/TimelineMetricsCacheSizeOfEngine.java    |     3 +-
 .../utilities/KerberosIdentityCleaner.java         |    24 +-
 .../controller/utilities/RemovableIdentities.java  |     3 +
 .../ambari/server/events/AgentActionEvent.java     |    55 +
 .../server/events/AgentConfigsUpdateEvent.java     |     2 +-
 .../events/AlertDefinitionsAgentUpdateEvent.java   |     2 +-
 .../events/AlertDefinitionsUIUpdateEvent.java      |     2 +-
 .../server/events/AlertGroupsUpdateEvent.java      |     2 +-
 .../ambari/server/events/AlertUpdateEvent.java     |     2 +-
 .../apache/ambari/server/events/AmbariEvent.java   |    28 +-
 .../server/events/AmbariHostUpdateEvent.java       |    37 -
 .../events/AmbariPropertiesChangedEvent.java       |    31 +
 .../ambari/server/events/AmbariUpdateEvent.java    |    78 -
 .../server/events/ClusterProvisionedEvent.java     |    35 +
 .../ambari/server/events/ConfigsUpdateEvent.java   |     2 +-
 .../server/events/DefaultMessageEmitter.java       |    93 +-
 .../server/events/ExecutionCommandEvent.java       |     2 +-
 .../server/events/HostComponentsUpdateEvent.java   |     2 +-
 .../server/events/HostLevelParamsUpdateEvent.java  |     6 +-
 .../ambari/server/events/HostRegisteredEvent.java  |     9 +-
 .../ambari/server/events/HostUpdateEvent.java      |     2 +-
 .../ambari/server/events/HostsRemovedEvent.java    |    56 +-
 .../ambari/server/events/MessageEmitter.java       |   281 +-
 .../ambari/server/events/MessageNotDelivered.java  |    32 +
 .../ambari/server/events/MetadataUpdateEvent.java  |    18 +-
 .../ambari/server/events/RequestUpdateEvent.java   |     6 +-
 .../apache/ambari/server/events/STOMPEvent.java    |    79 +
 .../ambari/server/events/STOMPHostEvent.java       |    37 +
 .../ServiceComponentRecoveryChangedEvent.java      |    19 +-
 .../events/ServiceCredentialStoreUpdateEvent.java  |    52 +
 .../ambari/server/events/ServiceUpdateEvent.java   |     2 +-
 .../server/events/TopologyAgentUpdateEvent.java    |     2 +-
 .../ambari/server/events/TopologyUpdateEvent.java  |    16 +-
 .../ambari/server/events/UpdateEventType.java      |     1 -
 .../ambari/server/events/UpgradeUpdateEvent.java   |     2 +-
 .../alerts/AlertDefinitionsUIUpdateListener.java   |    23 +-
 .../alerts/AlertGroupsUpdateListener.java          |    20 +-
 .../alerts/AlertMaintenanceModeListener.java       |    35 +-
 .../listeners/alerts/AlertReceivedListener.java    |     6 +-
 .../HostComponentsUpdateListener.java              |    14 +-
 .../events/listeners/hosts/HostUpdateListener.java |    16 +-
 .../listeners/requests/STOMPUpdateListener.java    |    55 +
 .../listeners/requests/StateUpdateListener.java    |    50 -
 .../listeners/services/ServiceUpdateListener.java  |    14 +-
 .../events/listeners/tasks/TaskStatusListener.java |    10 +-
 .../upgrade/StackUpgradeFinishListener.java        |     7 +
 .../listeners/upgrade/UpgradeUpdateListener.java   |    12 +-
 .../events/publishers/AgentCommandsPublisher.java  |     4 +-
 .../events/publishers/STOMPUpdatePublisher.java    |    66 +
 .../publishers/StateUpdateEventPublisher.java      |    66 -
 .../ambari/server/hooks/users/UserHookService.java |     1 -
 .../server/metadata/ClusterMetadataGenerator.java  |    30 +-
 .../metrics/system/impl/AmbariMetricSinkImpl.java  |    15 +-
 .../metrics/system/impl/MetricsServiceImpl.java    |     6 +-
 .../system/impl/StompEventsMetricsSource.java      |    12 +-
 .../apache/ambari/server/orm/DBAccessorImpl.java   |    71 +-
 .../ambari/server/orm/dao/AlertDefinitionDAO.java  |     6 +-
 .../ambari/server/orm/dao/AlertDispatchDAO.java    |    16 +-
 .../server/orm/dao/HostConfigMappingDAO.java       |    12 +-
 .../ambari/server/orm/dao/HostRoleCommandDAO.java  |    19 +-
 .../apache/ambari/server/orm/dao/RequestDAO.java   |    98 +-
 .../ambari/server/orm/dao/TopologyRequestDAO.java  |     6 +
 .../server/orm/entities/HostRoleCommandEntity.java |     5 +-
 .../server/orm/entities/RepoDefinitionEntity.java  |    30 +-
 .../server/orm/entities/TopologyRequestEntity.java |     3 +-
 .../ambari/server/orm/entities/UpgradeEntity.java  |     9 +
 .../orm/entities/UserAuthenticationEntity.java     |    21 +-
 .../ambari/server/orm/entities/UserEntity.java     |    19 +-
 .../ambari/server/orm/entities/WidgetEntity.java   |    17 +
 .../server/orm/helpers/dbms/GenericDbmsHelper.java |    14 +-
 .../ambari/server/security/CertificateManager.java |    44 +-
 .../AmbariBasicAuthenticationFilter.java           |     2 +
 .../AmbariLocalAuthenticationProvider.java         |     7 +-
 .../authentication/AmbariUserAuthentication.java   |    37 +-
 .../security/authentication/AmbariUserDetails.java |    86 +
 .../jwt/AmbariJwtAuthenticationFilter.java         |   123 +-
 .../jwt/AmbariJwtAuthenticationProvider.java       |    10 +-
 .../jwt/JwtAuthenticationProperties.java           |     9 +
 .../jwt/JwtAuthenticationPropertiesProvider.java   |   179 +
 .../AmbariAuthToLocalUserDetailsService.java       |    11 +-
 .../AmbariKerberosAuthenticationFilter.java        |     2 +
 .../pam/AmbariPamAuthenticationProvider.java       |     6 +-
 .../authorization/AmbariAuthorizationFilter.java   |     2 +
 .../AmbariLdapAuthenticationProvider.java          |     6 +-
 .../AmbariUserAuthorizationFilter.java             |    11 +-
 .../authorization/AuthorizationHelper.java         |    12 +-
 .../ambari/server/security/authorization/User.java |     2 +-
 .../authorization/UserIdAuthentication.java        |    24 -
 .../unsecured/rest/CertificateDownload.java        |     4 +-
 .../server/serveraction/AbstractServerAction.java  |    15 +-
 .../ConfigureAmbariIdentitiesServerAction.java     |    14 +-
 .../kerberos/DestroyPrincipalsServerAction.java    |     1 +
 .../kerberos/FinalizeKerberosServerAction.java     |    27 +-
 .../server/serveraction/kerberos/KDCType.java      |     8 +
 .../upgrades/AbstractUpgradeServerAction.java      |    10 +
 .../serveraction/upgrades/AddComponentAction.java  |   154 +
 .../upgrades/ComponentVersionCheckAction.java      |     1 +
 .../serveraction/upgrades/ConfigureAction.java     |   112 +-
 .../upgrades/CreateZeppelinSiteConfig.java         |    90 +
 .../DeleteUnsupportedServicesAndComponents.java    |   117 +
 .../upgrades/OozieConfigCalculation.java           |   105 +-
 .../org/apache/ambari/server/stack/HostsType.java  |    20 +-
 .../ambari/server/stack/MasterHostResolver.java    |    45 +-
 .../org/apache/ambari/server/stack/RepoUtil.java   |    11 +-
 .../apache/ambari/server/stack/ServiceModule.java  |     3 +
 .../apache/ambari/server/stack/StackManager.java   |    10 +-
 .../apache/ambari/server/stack/StackModule.java    |   120 +
 .../ambari/server/stack/StackServiceDirectory.java |     8 +
 .../org/apache/ambari/server/state/Clusters.java   |    10 +-
 .../apache/ambari/server/state/ConfigHelper.java   |   156 +-
 .../ambari/server/state/ConfigMergeHelper.java     |    15 +-
 .../apache/ambari/server/state/RepositoryInfo.java |    23 +
 .../ambari/server/state/ServiceComponent.java      |     2 +
 .../ambari/server/state/ServiceComponentImpl.java  |     5 +-
 .../server/state/ServiceComponentSupport.java      |   112 +
 .../apache/ambari/server/state/ServiceImpl.java    |    20 +-
 .../org/apache/ambari/server/state/StackInfo.java  |     8 +
 .../apache/ambari/server/state/UpgradeContext.java |    65 +
 .../apache/ambari/server/state/UpgradeHelper.java  |   119 +-
 .../ambari/server/state/alert/MetricSource.java    |     6 +-
 .../ambari/server/state/cluster/ClusterImpl.java   |    44 +-
 .../ambari/server/state/cluster/ClustersImpl.java  |    76 +-
 .../server/state/configgroup/ConfigGroupImpl.java  |     6 +-
 .../apache/ambari/server/state/host/HostImpl.java  |    30 +-
 .../ambari/server/state/stack/UpgradePack.java     |    62 +-
 .../state/stack/upgrade/AddComponentTask.java      |   138 +
 .../state/stack/upgrade/ClusterGrouping.java       |    35 +-
 .../upgrade/ConfigUpgradeChangeDefinition.java     |   125 +-
 .../server/state/stack/upgrade/ConfigureTask.java  |     4 +-
 .../state/stack/upgrade/RegenerateKeytabsTask.java |    81 +
 .../state/stack/upgrade/SecurityCondition.java     |    53 +-
 .../state/stack/upgrade/ServerSideActionTask.java  |     4 +
 .../server/state/stack/upgrade/StageWrapper.java   |     3 +-
 .../ambari/server/state/stack/upgrade/Task.java    |    53 +-
 .../svccomphost/ServiceComponentHostImpl.java      |    46 +-
 .../ambari/server/topology/AmbariContext.java      |    15 +-
 .../topology/ClusterConfigurationRequest.java      |    11 +-
 .../server/topology/ClusterTopologyImpl.java       |     4 +-
 .../ambari/server/topology/Configuration.java      |    37 +
 .../topology/STOMPComponentsDeleteHandler.java     |   147 +
 .../server/topology/TopologyDeleteFormer.java      |   102 -
 .../ambari/server/topology/TopologyManager.java    |     3 +
 .../topology/validators/HiveServiceValidator.java  |     2 +-
 .../ambari/server/update/HostUpdateHelper.java     |     3 +-
 .../server/upgrade/AbstractUpgradeCatalog.java     |    11 +-
 .../ambari/server/upgrade/UpgradeCatalog270.java   |   527 +-
 .../utils/ScheduledExecutorCompletionService.java  |    58 +
 .../org/apache/ambari/server/utils/StageUtils.java |   110 +-
 .../apache/ambari/server/view/ViewRegistry.java    |     6 +
 ambari-server/src/main/python/ambari-server.py     |    13 +-
 .../src/main/python/ambari_server/serverSetup.py   |    46 +-
 .../src/main/python/ambari_server/serverUpgrade.py |    22 +-
 .../src/main/python/ambari_server/serverUtils.py   |   188 +-
 .../src/main/python/ambari_server/setupMpacks.py   |    13 +-
 .../src/main/python/ambari_server/setupSecurity.py |    77 +-
 .../src/main/python/ambari_server/setupSso.py      |   323 +-
 .../src/main/python/ambari_server/utils.py         |    74 +-
 .../src/main/python/azuredb_create_generator.py    |     3 +-
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |    20 +-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |    24 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |    20 +-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |    20 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |    20 +-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |    20 +-
 .../package/scripts/accumulo_configuration.py      |    12 +-
 .../ACCUMULO/1.6.1.2.2.0/package/scripts/params.py |     8 +-
 .../hadoop-metrics2-accumulo.properties.j2         |     3 +
 .../0.1.0/configuration/infra-solr-env.xml         |    55 +-
 .../configuration/infra-solr-security-json.xml     |    12 +-
 .../0.1.0/configuration/infra-solr-xml.xml         |     2 +-
 .../AMBARI_INFRA_SOLR/0.1.0/metainfo.xml           |    27 +-
 .../0.1.0/package/scripts/collection.py            |   303 +-
 .../0.1.0/package/scripts/command_commons.py       |   283 +-
 .../0.1.0/package/scripts/infra_solr.py            |    46 +-
 .../0.1.0/package/scripts/infra_solr_client.py     |     9 +-
 .../0.1.0/package/scripts/migrate.py               |    12 +-
 .../0.1.0/package/scripts/params.py                |    22 +
 .../0.1.0/package/scripts/setup_infra_solr.py      |    35 +-
 .../package/templates/infra-solr-security.json.j2  |    12 +
 .../0.1.0/package/templates/infra-solr.conf.j2     |    17 +
 .../0.1.0/properties/infra-solr-env.sh.j2          |    28 +-
 .../AMBARI_INFRA_SOLR/0.1.0/properties/solr.xml.j2 |    96 +
 .../AMBARI_INFRA_SOLR/0.1.0/service_advisor.py     |     6 +-
 .../AMBARI_METRICS/0.1.0/configuration/ams-env.xml |     8 +
 .../0.1.0/configuration/ams-hbase-env.xml          |     2 +-
 .../0.1.0/configuration/ams-hbase-site.xml         |    19 +-
 .../0.1.0/configuration/ams-site.xml               |    90 +-
 .../AMBARI_METRICS/0.1.0/metainfo.xml              |    27 +-
 .../HDP/grafana-infra-solr-collections.json        |  2088 +
 .../HDP/grafana-infra-solr-cores.json              |  2113 +
 .../HDP/grafana-infra-solr-hosts.json              |  1184 +
 .../AMBARI_METRICS/0.1.0/package/scripts/ams.py    |    74 +-
 .../0.1.0/package/scripts/hbase_service.py         |     4 +
 .../0.1.0/package/scripts/metrics_monitor.py       |     6 +
 .../AMBARI_METRICS/0.1.0/package/scripts/params.py |    35 +-
 .../0.1.0/package/scripts/params_linux.py          |     2 +-
 .../templates/hadoop-metrics2-hbase.properties.j2  |   100 +-
 .../0.1.0/package/templates/metric_monitor.ini.j2  |     5 +-
 .../package/templates/smoketest_metrics.json.j2    |     1 -
 .../AMBARI_METRICS/0.1.0/service_advisor.py        |    25 +-
 .../ATLAS/0.1.0.2.3/package/scripts/params.py      |     2 +-
 .../common-services/DRUID/0.10.1/metainfo.xml      |     2 +-
 .../DRUID/0.10.1/package/scripts/druid.py          |     2 +-
 .../DRUID/0.10.1/package/scripts/params.py         |     2 +-
 .../0.5.0.2.1/package/scripts/params_linux.py      |     2 +-
 .../FLUME/1.4.0.2.0/package/scripts/params.py      |     6 +
 .../package/templates/flume-metrics2.properties.j2 |     3 +
 .../common-services/GANGLIA/3.5.0/metainfo.xml     |     4 +-
 .../HAWQ/2.0.0/package/scripts/params.py           |     4 +-
 .../0.96.0.2.0/package/scripts/hbase_service.py    |     4 +
 .../0.96.0.2.0/package/scripts/params_linux.py     |     8 +-
 .../package/scripts/phoenix_queryserver.py         |     5 +
 .../0.96.0.2.0/package/scripts/phoenix_service.py  |     2 +-
 ...oop-metrics2-hbase.properties-GANGLIA-MASTER.j2 |     3 +
 .../hadoop-metrics2-hbase.properties-GANGLIA-RS.j2 |     3 +
 .../HDFS/2.1.0.2.0/configuration/core-site.xml     |    10 +
 .../HDFS/2.1.0.2.0/configuration/hdfs-log4j.xml    |     3 +
 .../common-services/HDFS/2.1.0.2.0/metainfo.xml    |     3 +-
 .../alerts/alert_datanode_unmounted_data_dir.py    |     1 +
 .../package/alerts/alert_metrics_deviation.py      |    24 +-
 .../2.1.0.2.0/package/scripts/hdfs_namenode.py     |    18 +-
 .../HDFS/2.1.0.2.0/package/scripts/journalnode.py  |     2 +-
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py     |    32 +-
 .../2.1.0.2.0/package/scripts/namenode_ha_state.py |   140 +-
 .../HDFS/2.1.0.2.0/package/scripts/params_linux.py |    80 +-
 .../HDFS/2.1.0.2.0/package/scripts/utils.py        |     4 +
 .../HDFS/2.1.0.2.0/package/scripts/zkfc_slave.py   |    26 +-
 .../common-services/HIVE/0.12.0.2.0/metainfo.xml   |     6 +-
 .../HIVE/0.12.0.2.0/package/scripts/hive.py        |     5 +-
 .../0.12.0.2.0/package/scripts/hive_interactive.py |     2 +-
 .../0.12.0.2.0/package/scripts/hive_service.py     |     4 +
 .../0.12.0.2.0/package/scripts/params_linux.py     |     9 +-
 .../HIVE/0.12.0.2.0/package/scripts/pre_upgrade.py |   107 +
 .../hadoop-metrics2-hivemetastore.properties.j2    |     4 +-
 .../hadoop-metrics2-hiveserver2.properties.j2      |     3 +
 .../templates/hadoop-metrics2-llapdaemon.j2        |     3 +
 .../templates/hadoop-metrics2-llaptaskscheduler.j2 |     3 +
 .../KAFKA/0.8.1/configuration/kafka-broker.xml     |     5 +
 .../common-services/KAFKA/0.8.1/metainfo.xml       |     2 +-
 .../KAFKA/0.8.1/package/scripts/kafka.py           |    19 +-
 .../KAFKA/0.8.1/package/scripts/params.py          |    14 +-
 .../KAFKA/0.8.1/package/scripts/service_check.py   |    31 +-
 .../0.8.1/package/scripts/setup_ranger_kafka.py    |    10 +-
 .../package/templates/input.config-kafka.json.j2   |     2 +-
 .../KERBEROS/1.10.3-10/metainfo.xml                |     2 +-
 .../1.10.3-10/package/scripts/service_check.py     |     5 +-
 .../KERBEROS/1.10.3-30/metainfo.xml                |     2 +-
 .../1.10.3-30/package/scripts/service_check.py     |     5 +-
 .../KNOX/0.5.0.2.2/package/scripts/params_linux.py |     6 +-
 .../0.5.0.2.2/package/scripts/service_check.py     |     4 +-
 .../0.5.0.2.2/package/scripts/setup_ranger_knox.py |    10 +-
 .../common-services/LOGSEARCH/0.5.0/alerts.json    |    46 +-
 .../0.5.0/configuration/logfeeder-env.xml          |    22 +
 .../0.5.0/configuration/logfeeder-properties.xml   |    12 +
 .../0.5.0/configuration/logsearch-properties.xml   |    20 +-
 .../common-services/LOGSEARCH/0.5.0/metainfo.xml   |    27 +-
 .../0.5.0/package/alerts/alert_logfeeder.py        |    85 +
 .../LOGSEARCH/0.5.0/package/scripts/logfeeder.py   |     9 +-
 .../LOGSEARCH/0.5.0/package/scripts/logsearch.py   |     9 +
 .../LOGSEARCH/0.5.0/package/scripts/params.py      |    12 +-
 .../0.5.0/package/scripts/setup_logfeeder.py       |     2 +
 .../0.5.0/package/scripts/setup_logsearch.py       |     6 +-
 .../templates/input.config-logsearch.json.j2       |     2 +-
 .../0.5.0/properties/audit_logs-solrconfig.xml.j2  |     2 +-
 .../0.5.0/properties/input.config-ambari.json.j2   |   286 +-
 .../LOGSEARCH/0.5.0/properties/logfeeder-env.sh.j2 |     3 +-
 .../0.5.0/properties/logfeeder-log4j.xml.j2        |    13 +-
 .../LOGSEARCH/0.5.0/properties/logsearch-env.sh.j2 |     3 +-
 .../properties/service_logs-solrconfig.xml.j2      |     2 +-
 .../LOGSEARCH/0.5.0/service_advisor.py             |    40 +-
 .../MAHOUT/1.0.0.2.3/package/scripts/params.py     |     2 +-
 .../common-services/OOZIE/4.0.0.2.0/metainfo.xml   |     2 +-
 .../OOZIE/4.0.0.2.0/package/scripts/oozie.py       |     2 +-
 .../4.0.0.2.0/package/scripts/oozie_service.py     |     2 +-
 .../4.0.0.2.0/package/scripts/params_linux.py      |     2 +-
 .../common-services/OOZIE/4.2.0.2.3/metainfo.xml   |     2 +-
 .../PIG/0.12.0.2.0/package/scripts/params_linux.py |     2 +-
 .../PXF/3.0.0/package/scripts/params.py            |     4 +-
 .../RANGER/0.4.0/configuration/ranger-env.xml      |     2 +-
 .../common-services/RANGER/0.4.0/metainfo.xml      |     2 +-
 .../RANGER/0.4.0/package/scripts/ranger_tagsync.py |    21 +-
 .../0.4.0/package/scripts/setup_ranger_xml.py      |    86 +-
 .../common-services/RANGER/0.6.0/metainfo.xml      |     2 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py    |    24 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/params.py |     4 +-
 .../0.60.0.2.2/package/scripts/params_linux.py     |     5 +-
 .../common-services/SPARK/1.2.1/metainfo.xml       |     2 +-
 .../SPARK/1.2.1/package/scripts/livy_server.py     |     7 +-
 .../SPARK/1.2.1/package/scripts/params.py          |     2 +-
 .../common-services/SPARK2/2.0.0/metainfo.xml      |     2 +-
 .../SPARK2/2.0.0/package/scripts/livy2_server.py   |     7 +-
 .../SPARK2/2.0.0/package/scripts/params.py         |     2 +-
 .../STORM/0.9.1/package/scripts/params_linux.py    |    44 +-
 .../STORM/0.9.1/package/scripts/params_windows.py  |     6 -
 .../0.9.1/package/scripts/setup_ranger_storm.py    |    21 +-
 .../STORM/0.9.1/package/templates/config.yaml.j2   |     7 +-
 .../package/templates/input.config-storm.json.j2   |    79 +-
 .../package/templates/storm-metrics2.properties.j2 |     3 +
 .../common-services/STORM/0.9.3/metainfo.xml       |     2 +-
 .../common-services/SUPERSET/0.15.0/metainfo.xml   |     2 +-
 .../TEZ/0.4.0.2.1/package/scripts/params_linux.py  |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/params_linux.py |    11 +-
 .../2.1.0.2.0/package/scripts/resourcemanager.py   |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/service.py      |     4 +
 .../templates/input.config-mapreduce2.json.j2      |    18 +-
 .../0.6.0/package/scripts/alert_check_zeppelin.py  |     3 +-
 .../ZEPPELIN/0.6.0/package/scripts/params.py       |     4 +-
 .../0.7.0/package/scripts/alert_check_zeppelin.py  |     3 +-
 .../ZEPPELIN/0.7.0/package/scripts/params.py       |     4 +-
 .../ZEPPELIN/0.7.0/service_advisor.py              |     2 +-
 .../common-services/ZOOKEEPER/3.4.6/metainfo.xml   |     2 +-
 .../common-services/ZOOKEEPER/3.4.9/metainfo.xml   |     2 +-
 .../ZOOKEEPER/3.4.9/service_advisor.py             |     2 +-
 .../resources/custom_actions/scripts/check_host.py |    35 +-
 .../resources/custom_actions/scripts/ru_set_all.py |   151 -
 .../custom_actions/scripts/stack_select_set_all.py |   116 +
 .../src/main/resources/scripts/Ambaripreupload.py  |    29 +-
 .../src/main/resources/scripts/configs.py          |    40 +-
 .../src/main/resources/scripts/stack_advisor.py    |     6 +
 .../resources/scripts/takeover_files_mapping.json  |     3 +-
 .../src/main/resources/slider_resources/README.txt |    17 -
 .../stack-hooks/after-INSTALL/scripts/params.py    |    13 +-
 .../after-INSTALL/scripts/shared_initialization.py |    11 +-
 .../stack-hooks/before-ANY/scripts/params.py       |    45 +-
 .../stack-hooks/before-SET_KEYTAB/scripts/hook.py  |    38 +
 .../before-START/files/fast-hdfs-resource.jar      |   Bin 28296600 -> 19286899 bytes
 .../stack-hooks/before-START/scripts/params.py     |     6 +
 .../before-START/scripts/shared_initialization.py  |    11 +-
 .../templates/hadoop-metrics2.properties.j2        |     3 +
 .../0.8/services/HIVE/package/scripts/hive.py      |     2 +-
 .../0.8/services/OOZIE/package/scripts/oozie.py    |     2 +-
 .../HDP/2.0.6/properties/stack_packages.json       |     6 -
 .../STORM/package/templates/config.yaml.j2         |    48 +-
 .../stacks/HDP/2.1/services/HIVE/metainfo.xml      |     6 +-
 .../stacks/HDP/2.1/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/FALCON/metainfo.xml    |     2 +-
 .../stacks/HDP/2.2/services/FLUME/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/HBASE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/HDFS/metainfo.xml      |     2 +-
 .../stacks/HDP/2.2/services/HIVE/metainfo.xml      |     8 +-
 .../stacks/HDP/2.2/services/KNOX/metainfo.xml      |     2 +-
 .../stacks/HDP/2.2/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/PIG/metainfo.xml       |     2 +-
 .../stacks/HDP/2.2/services/SLIDER/metainfo.xml    |     2 +-
 .../stacks/HDP/2.2/services/SQOOP/metainfo.xml     |     2 +-
 .../stacks/HDP/2.2/services/TEZ/metainfo.xml       |     2 +-
 .../stacks/HDP/2.2/services/YARN/metainfo.xml      |     4 +-
 .../2.3.ECS/services/ECS/package/scripts/params.py |     2 +-
 .../HDP/2.3.ECS/services/ZOOKEEPER/metainfo.xml    |     2 +-
 .../stacks/HDP/2.3/services/ACCUMULO/metainfo.xml  |     2 +-
 .../stacks/HDP/2.3/services/ATLAS/metainfo.xml     |     2 +-
 .../stacks/HDP/2.3/services/HDFS/metainfo.xml      |     2 +-
 .../stacks/HDP/2.3/services/HIVE/metainfo.xml      |     8 +-
 .../stacks/HDP/2.3/services/PIG/metainfo.xml       |     2 +-
 .../HDP/2.3/services/RANGER_KMS/metainfo.xml       |     2 +-
 .../stacks/HDP/2.5/role_command_order.json         |     7 +-
 .../stacks/HDP/2.5/services/ATLAS/metainfo.xml     |     2 +-
 .../stacks/HDP/2.5/services/FALCON/metainfo.xml    |     2 +-
 .../stacks/HDP/2.5/services/HIVE/kerberos.json     |     4 +-
 .../stacks/HDP/2.5/services/HIVE/metainfo.xml      |     8 +-
 .../RANGER_KMS/themes/theme_version_2.json         |     1 +
 .../stacks/HDP/2.5/services/SPARK/metainfo.xml     |     2 +-
 .../stacks/HDP/2.5/services/ZEPPELIN/metainfo.xml  |     2 +-
 .../2.6/services/ATLAS/configuration/atlas-env.xml |     2 +-
 .../stacks/HDP/2.6/services/ATLAS/metainfo.xml     |     6 +
 .../stacks/HDP/2.6/services/FALCON/metainfo.xml    |     2 +-
 .../configuration/hadoop-metrics2.properties.xml   |     3 +
 .../stacks/HDP/2.6/services/OOZIE/metainfo.xml     |     2 +-
 .../stacks/HDP/2.6/services/RANGER/metainfo.xml    |     6 +
 .../services/SPARK2/configuration/livy2-env.xml    |    10 +
 .../stacks/HDP/2.6/services/SPARK2/metainfo.xml    |     2 +-
 .../stacks/HDP/2.6/services/YARN/kerberos.json     |     2 +-
 .../stacks/HDP/2.6/services/ZEPPELIN/metainfo.xml  |     2 +-
 .../stacks/HDP/2.6/services/stack_advisor.py       |   124 +-
 .../resources/stacks/PERF/1.0/hdp_urlinfo.json     |     4 +-
 .../resources/stacks/PERF/1.0/repos/repoinfo.xml   |    86 +-
 .../configuration/hadoop-metrics2.properties.xml   |     5 +
 .../src/main/resources/stacks/PERF/1.0/vdf.xml     |     6 +-
 .../resources/stacks/PERF/2.0/hdp_urlinfo.json     |     4 +-
 .../resources/stacks/PERF/2.0/repos/repoinfo.xml   |    86 +-
 .../src/main/resources/stacks/PERF/2.0/vdf.xml     |     6 +-
 .../resources/stacks/PERF/install_packages.sed     |    17 +-
 .../main/resources/stacks/ambari_configuration.py  |   142 +-
 .../src/main/resources/stacks/service_advisor.py   |   157 +-
 .../src/main/resources/stacks/stack_advisor.py     |   141 +-
 .../src/main/resources/upgrade-config.xsd          |    24 +-
 ambari-server/src/main/resources/upgrade-pack.xsd  |    36 +-
 .../src/main/resources/version_definition.xsd      |     2 +
 ambari-server/src/main/resources/widgets.json      |     4 +-
 .../actionmanager/ExecutionCommandWrapperTest.java |     9 +
 .../ambari/server/agent/AgentResourceTest.java     |     2 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |    29 +-
 .../server/agent/stomp/AgentDataHolderTest.java    |   104 +
 .../agent/stomp/dto/MetadataClusterTest.java       |   144 +
 .../ambari/server/api/AmbariErrorHandlerTest.java  |    16 +-
 .../api/resources/BaseResourceDefinitionTest.java  |     6 +-
 .../server/api/services/AmbariMetaInfoTest.java    |     7 +-
 .../stackadvisor/StackAdvisorHelperTest.java       |    47 +-
 .../stackadvisor/StackAdvisorRequestTypeTest.java  |    25 +-
 .../ConfigurationRecommendationCommandTest.java    |     2 +-
 .../commands/StackAdvisorCommandTest.java          |    12 +-
 .../request/creator/AuditEventCreatorTestBase.java |     5 +
 .../request/creator/ComponentEventCreatorTest.java |    34 +-
 .../request/creator/HostEventCreatorTest.java      |     2 +-
 .../request/creator/PrivilegeEventCreatorTest.java |    24 +-
 .../creator/ViewInstanceEventCreatorTest.java      |    20 +-
 .../creator/ViewPrivilegeEventCreatorTest.java     |    24 +-
 .../KerberosAdminPersistedCredentialCheckTest.java |   255 +
 .../checks/MissingOsInRepoVersionCheckTest.java    |   138 +
 .../configuration/RecoveryConfigHelperTest.java    |    85 +-
 .../server/configuration/SingleFileWatchTest.java  |    81 +
 .../AmbariCustomCommandExecutionHelperTest.java    |   102 +
 .../server/controller/AmbariHandlerListTest.java   |    16 +-
 .../AmbariManagementControllerImplTest.java        |     1 -
 .../controller/AmbariManagementControllerTest.java |    23 +-
 .../server/controller/KerberosHelperTest.java      |   125 +-
 .../AbstractControllerResourceProviderTest.java    |     6 +-
 .../internal/AbstractResourceProviderTest.java     |     6 +-
 .../ActiveWidgetLayoutResourceProviderTest.java    |    13 +-
 .../AmbariPrivilegeResourceProviderTest.java       |    98 +-
 .../AmbariServerConfigurationHandlerTest.java      |   197 +-
 .../AmbariServerSSOConfigurationHandlerTest.java   |   226 +
 .../internal/BlueprintResourceProviderTest.java    |    94 +-
 .../internal/ClientConfigResourceProviderTest.java |   132 +-
 .../ClusterPrivilegeResourceProviderTest.java      |    32 +-
 .../internal/ComponentResourceProviderTest.java    |   116 +-
 .../internal/ConfigGroupResourceProviderTest.java  |   146 +-
 .../ConfigurationResourceProviderTest.java         |    36 +-
 .../GroupPrivilegeResourceProviderTest.java        |    28 +-
 .../HostComponentProcessResourceProviderTest.java  |    26 +-
 .../HostComponentResourceProviderTest.java         |   135 +-
 .../internal/HostResourceProviderTest.java         |     3 +-
 .../controller/internal/JMXHostProviderTest.java   |     6 +-
 .../internal/RequestResourceProviderTest.java      |    25 +-
 .../RequestScheduleResourceProviderTest.java       |    90 +-
 ...ComponentConfigurationResourceProviderTest.java |    47 +-
 .../internal/ServiceResourceProviderTest.java      |    42 +-
 ...erAuthenticationSourceResourceProviderTest.java |    13 +-
 .../UserAuthorizationResourceProviderTest.java     |    34 +-
 .../UserPrivilegeResourceProviderTest.java         |    34 +-
 .../internal/UserResourceProviderTest.java         |     3 +-
 .../internal/ViewInstanceResourceProviderTest.java |    30 +-
 .../ViewPrivilegeResourceProviderTest.java         |     8 +-
 .../internal/ViewURLResourceProviderTest.java      |    46 +-
 .../metrics/timeline/AMSPropertyProviderTest.java  |    70 +-
 .../metrics/timeline/MetricsPaddingMethodTest.java |    14 +-
 .../cache/TimelineMetricCacheSizingTest.java       |     1 -
 .../utilities/KerberosIdentityCleanerTest.java     |    22 +
 .../apache/ambari/server/events/EventsTest.java    |     1 +
 .../listeners/tasks/TaskStatusListenerTest.java    |     4 +-
 .../upgrade/AlertMaintenanceModeListenerTest.java  |    63 +-
 .../metric/system/impl/MetricsSourceTest.java      |    17 +
 .../system/impl/TestAmbariMetricsSinkImpl.java     |     5 +
 .../ambari/server/orm/DBAccessorImplTest.java      |    54 +
 .../server/orm/InMemoryDefaultTestModule.java      |     2 +-
 .../server/security/CertificateManagerTest.java    |    38 +
 .../server/security/SecurityHelperImplTest.java    |     3 +-
 .../server/security/TestAuthenticationFactory.java |    78 +-
 .../AmbariLocalAuthenticationProviderTest.java     |     3 +-
 .../jwt/AmbariJwtAuthenticationFilterTest.java     |   138 +-
 .../AmbariAuthToLocalUserDetailsServiceTest.java   |    27 +-
 .../AmbariAuthorizationFilterTest.java             |     5 +-
 .../authorization/AuthorizationHelperTest.java     |     3 +-
 .../security/ldap/AmbariLdapDataPopulatorTest.java |     3 +-
 .../kerberos/FinalizeKerberosServerActionTest.java |    13 +-
 .../upgrades/AddComponentActionTest.java           |   199 +
 .../upgrades/KerberosKeytabsActionTest.java        |     4 +-
 .../upgrades/OozieConfigCalculationTest.java       |   152 +
 .../ambari/server/stack/StackManagerMock.java      |    22 +-
 .../ambari/server/state/ConfigHelperTest.java      |    77 +-
 .../server/state/ServiceComponentSupportTest.java  |   122 +
 .../ambari/server/state/cluster/ClusterTest.java   |     4 +
 .../ambari/server/state/cluster/ClustersTest.java  |     8 +-
 .../apache/ambari/server/state/host/HostTest.java  |     3 +
 .../KerberosDescriptorUpdateHelperTest.java        |     2 +
 .../ambari/server/state/stack/UpgradePackTest.java |     1 +
 .../server/testutils/PartialNiceMockBinder.java    |     2 +
 .../ambari/server/topology/ConfigurationTest.java  |    47 +
 .../server/topology/TopologyManagerTest.java       |     3 +
 .../ambari/server/update/HostUpdateHelperTest.java |     2 +
 .../server/upgrade/UpgradeCatalog252Test.java      |    10 +
 .../server/upgrade/UpgradeCatalog260Test.java      |    26 +-
 .../server/upgrade/UpgradeCatalog270Test.java      |   419 +-
 .../utils/ManagedThreadPoolExecutorTest.java       |    64 +-
 .../ambari/server/utils/PasswordUtilsTest.java     |     2 +
 .../apache/ambari/server/utils/StageUtilsTest.java |    28 +-
 .../ambari/server/view/ViewRegistryTest.java       |    35 +-
 ambari-server/src/test/python/TestAmbariServer.py  |    33 +-
 ambari-server/src/test/python/TestMpacks.py        |     8 +-
 .../src/test/python/TestResourceFilesKeeper.py     |     2 +-
 ambari-server/src/test/python/TestServerUpgrade.py |     4 +-
 ambari-server/src/test/python/TestServerUtils.py   |    71 +-
 .../src/test/python/TestServiceAdvisor.py          |    72 +
 ambari-server/src/test/python/TestSetupSso.py      |   431 +-
 ambari-server/src/test/python/TestStackFeature.py  |    24 +-
 ambari-server/src/test/python/TestStackSelect.py   |    12 +-
 .../src/test/python/TestUpgradeSummary.py          |    12 +-
 .../AMBARI_METRICS/test_service_advisor.py         |    12 +-
 .../python/common-services/HAWQ/test_hawqmaster.py |     6 +-
 .../LOGSEARCH/test_service_advisor.py              |   123 +-
 .../common-services/configs/hawq_default.json      |     6 +-
 .../common-services/configs/hive_default.json      |     6 +-
 .../configs/hive_unsupported_jdbc_type.json        |     6 +-
 .../common-services/configs/pxf_default.json       |     6 +-
 .../configs/ranger_admin_default.json              |     6 +-
 .../ranger_admin_unsupported_db_flavor.json        |     2 +-
 .../configs/ranger_kms_default.json                |     6 +-
 .../configs/ranger_kms_unsupported_db_flavor.json  |     6 +-
 .../common-services/configs/sqoop_default.json     |     6 +-
 .../configs/sqoop_unsupported_jdbc_driver.json     |     2 +-
 .../test/python/custom_actions/TestCheckHost.py    |     9 +
 .../configs/install_packages_config.json           |     6 +-
 .../configs/install_packages_repository_file.json  |     6 +-
 .../configs/remove_previous_stacks.json            |     6 +-
 .../test/python/custom_actions/test_ru_set_all.py  |   272 -
 .../custom_actions/test_stack_select_set_all.py    |   343 +
 ambari-server/src/test/python/hdfs.json            |  2689 +
 .../2.0.6/AMBARI_METRICS/test_metrics_collector.py |     3 +-
 .../2.0.6/AMBARI_METRICS/test_metrics_monitor.py   |   142 +
 .../HDFS/test_alert_datanode_unmounted_data_dir.py |    23 +-
 .../2.0.6/HDFS/test_alert_metrics_deviation.py     |   112 +-
 .../test/python/stacks/2.0.6/HDFS/test_namenode.py |    47 +-
 .../stacks/2.0.6/HIVE/test_hive_metastore.py       |    22 +-
 .../python/stacks/2.0.6/HIVE/test_hive_server.py   |    12 +-
 .../python/stacks/2.0.6/OOZIE/test_oozie_server.py |     6 +-
 .../test/python/stacks/2.0.6/SQOOP/test_sqoop.py   |     4 +-
 .../stacks/2.0.6/configs/altfs_plus_hdfs.json      |     6 +-
 .../stacks/2.0.6/configs/client-upgrade.json       |     6 +-
 .../stacks/2.0.6/configs/default.hbasedecom.json   |     6 +-
 .../test/python/stacks/2.0.6/configs/default.json  |    11 +-
 .../2.0.6/configs/default.non_gmetad_host.json     |     6 +-
 .../stacks/2.0.6/configs/default_ams_embedded.json |    11 +-
 .../stacks/2.0.6/configs/default_client.json       |     6 +-
 .../stacks/2.0.6/configs/default_hive_nn_ha.json   |     6 +-
 .../stacks/2.0.6/configs/default_hive_nn_ha_2.json |     6 +-
 .../2.0.6/configs/default_hive_non_hdfs.json       |     6 +-
 .../stacks/2.0.6/configs/default_no_install.json   |     6 +-
 .../stacks/2.0.6/configs/default_oozie_mysql.json  |     6 +-
 .../configs/default_update_exclude_file_only.json  |     6 +-
 .../stacks/2.0.6/configs/default_with_bucket.json  |     6 +-
 .../default_yarn_include_file_dont_manage.json     |     6 +-
 .../configs/default_yarn_include_file_manage.json  |     6 +-
 .../test/python/stacks/2.0.6/configs/flume_22.json |     6 +-
 .../python/stacks/2.0.6/configs/flume_only.json    |     6 +-
 .../python/stacks/2.0.6/configs/flume_target.json  |     6 +-
 .../2.0.6/configs/ha_bootstrap_active_node.json    |    12 +-
 .../2.0.6/configs/ha_bootstrap_standby_node.json   |    12 +-
 .../ha_bootstrap_standby_node_initial_start.json   |    12 +-
 ...tandby_node_initial_start_dfs_nameservices.json |    12 +-
 .../python/stacks/2.0.6/configs/ha_default.json    |     6 +-
 .../python/stacks/2.0.6/configs/ha_secured.json    |     6 +-
 .../python/stacks/2.0.6/configs/hbase-2.2.json     |     6 +-
 .../stacks/2.0.6/configs/hbase-check-2.2.json      |     6 +-
 .../stacks/2.0.6/configs/hbase-preupgrade.json     |     6 +-
 .../stacks/2.0.6/configs/hbase-rs-2.2-phoenix.json |     6 +-
 .../python/stacks/2.0.6/configs/hbase-rs-2.2.json  |     6 +-
 .../python/stacks/2.0.6/configs/hbase_no_phx.json  |     6 +-
 .../stacks/2.0.6/configs/hbase_with_phx.json       |     6 +-
 .../test/python/stacks/2.0.6/configs/nn_eu.json    |     6 +-
 .../python/stacks/2.0.6/configs/nn_eu_standby.json |     6 +-
 .../python/stacks/2.0.6/configs/nn_ru_lzo.json     |     6 +-
 .../stacks/2.0.6/configs/oozie_existing_sqla.json  |     6 +-
 .../2.0.6/configs/ranger-namenode-start.json       |     6 +-
 .../2.0.6/configs/rebalancehdfs_default.json       |     8 +-
 .../2.0.6/configs/rebalancehdfs_secured.json       |     8 +-
 .../stacks/2.0.6/configs/repository_file.json      |     6 +-
 .../test/python/stacks/2.0.6/configs/secured.json  |     6 +-
 .../stacks/2.0.6/configs/secured_client.json       |     6 +-
 .../stacks/2.0.6/configs/secured_no_jce_name.json  |     6 +-
 .../secured_yarn_include_file_dont_manage.json     |     6 +-
 .../configs/secured_yarn_include_file_manage.json  |     6 +-
 .../stacks/2.0.6/configs/zk-service_check_2.2.json |     6 +-
 .../hooks/after-INSTALL/test_after_install.py      |    12 +-
 .../2.0.6/hooks/before-ANY/test_before_any.py      |     2 +-
 .../before-SET_KEYTAB/test_before_set_keytab.py    |    41 +
 .../2.0.6/hooks/before-START/test_before_start.py  |    36 +-
 .../python/stacks/2.1/FALCON/test_falcon_server.py |     2 +-
 .../python/stacks/2.1/HIVE/test_hive_metastore.py  |    32 +-
 .../python/stacks/2.1/configs/client-upgrade.json  |     6 +-
 .../stacks/2.1/configs/default-storm-start.json    |    16 +-
 .../test/python/stacks/2.1/configs/default.json    |     6 +-
 .../stacks/2.1/configs/hive-metastore-upgrade.json |     6 +-
 .../stacks/2.1/configs/secured-storm-start.json    |    12 +-
 .../test/python/stacks/2.1/configs/secured.json    |    10 +-
 .../stacks/2.2/KERBEROS/test_kerberos_client.py    |     2 +-
 .../python/stacks/2.2/RANGER/test_ranger_admin.py  |     4 +-
 .../test/python/stacks/2.2/configs/default.json    |     6 +-
 .../2.2/configs/default_custom_path_config.json    |     6 +-
 .../python/stacks/2.2/configs/falcon-upgrade.json  |     6 +-
 .../python/stacks/2.2/configs/hive-upgrade.json    |     6 +-
 .../configs/journalnode-upgrade-hdfs-secure.json   |     6 +-
 .../stacks/2.2/configs/journalnode-upgrade.json    |     6 +-
 .../python/stacks/2.2/configs/knox_upgrade.json    |     6 +-
 .../python/stacks/2.2/configs/oozie-downgrade.json |     6 +-
 .../python/stacks/2.2/configs/oozie-upgrade.json   |     8 +-
 .../2.2/configs/pig-service-check-secure.json      |     6 +-
 .../stacks/2.2/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.2/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.2/configs/ranger-admin-upgrade.json   |     6 +-
 .../2.2/configs/ranger-usersync-upgrade.json       |     6 +-
 .../test/python/stacks/2.2/configs/secured.json    |     6 +-
 .../2.2/configs/spark-job-history-server.json      |     2 +-
 .../stacks/2.3/ATLAS/test_metadata_server.py       |    20 +-
 .../test/python/stacks/2.3/configs/ats_1_5.json    |     6 +-
 .../stacks/2.3/configs/default.hbasedecom.json     |     2 +-
 .../test/python/stacks/2.3/configs/default.json    |     6 +-
 .../python/stacks/2.3/configs/hbase_default.json   |     6 +-
 .../python/stacks/2.3/configs/hbase_secure.json    |     6 +-
 .../src/test/python/stacks/2.3/configs/secure.json |     6 +-
 .../python/stacks/2.3/configs/spark_default.json   |     6 +-
 .../python/stacks/2.3/configs/storm_default.json   |     6 +-
 .../stacks/2.3/configs/storm_default_secure.json   |     6 +-
 .../stacks/2.4/AMBARI_INFRA/test_infra_solr.py     |    24 +-
 .../python/stacks/2.4/LOGSEARCH/test_logfeeder.py  |    10 +
 .../python/stacks/2.4/LOGSEARCH/test_logsearch.py  |    15 +-
 .../test/python/stacks/2.4/configs/default.json    |     9 +-
 .../python/stacks/2.5/HIVE/test_hive_server_int.py |     6 +-
 .../python/stacks/2.5/RANGER/test_ranger_admin.py  |    30 +-
 .../stacks/2.5/RANGER/test_ranger_usersync.py      |     8 +
 .../stacks/2.5/RANGER_KMS/test_kms_server.py       |    77 +-
 .../stacks/2.5/ZEPPELIN/test_zeppelin_060.py       |     5 +
 .../test/python/stacks/2.5/configs/default.json    |     6 +-
 .../python/stacks/2.5/configs/hsi_default.json     |     6 +-
 .../2.5/configs/hsi_default_for_restart.json       |     6 +-
 .../src/test/python/stacks/2.5/configs/hsi_ha.json |     6 +-
 .../stacks/2.5/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.5/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.5/configs/ranger-kms-default.json     |     6 +-
 .../stacks/2.5/configs/ranger-kms-secured.json     |     6 +-
 .../test/python/stacks/2.5/configs/secured.json    |     6 +-
 .../src/test/python/stacks/2.6/DRUID/test_druid.py |     2 +-
 .../python/stacks/2.6/RANGER/test_ranger_admin.py  |    46 +-
 .../stacks/2.6/RANGER/test_ranger_tagsync.py       |    15 +
 .../stacks/2.6/ZEPPELIN/test_zeppelin_070.py       |    20 +-
 .../test/python/stacks/2.6/configs/default.json    |     6 +-
 .../2.6/configs/default_kafka_plaintext.json       |     6 +-
 .../2.6/configs/default_kafka_plaintextsasl.json   |     6 +-
 .../2.6/configs/default_kafka_sasl_plaintext.json  |     6 +-
 .../stacks/2.6/configs/default_kafka_sasl_ssl.json |     6 +-
 .../stacks/2.6/configs/ranger-admin-default.json   |     6 +-
 .../stacks/2.6/configs/ranger-admin-secured.json   |     6 +-
 .../stacks/2.6/configs/secure_kafka_sasl_ssl.json  |     2 +-
 .../python/stacks/test_ambari_configuration.py     |   218 +-
 .../src/test/python/validation-hosts.json          |   191 +
 .../HIVE/0.11.0.2.0.5.0/package/scripts/hive.py    |     2 +-
 .../dummy_stack/HIVE/package/scripts/hive.py       |     2 +-
 .../custom_actions/check_host_ip_addresses.json    |     6 +-
 .../custom_actions/check_last_agent_env.json       |     4 +-
 .../resources/custom_actions/invalid_check.json    |     6 +-
 .../ru_execute_tasks_namenode_prepare.json         |     6 +-
 .../stacks/HDP/2.0.6/services/YARN/metainfo.xml    |    14 +
 .../2.0.7/services/HIVE/package/scripts/hive.py    |     2 +-
 .../stacks/HDP/2.0.8/services/HBASE/metainfo.xml   |     4 +
 .../serviceadvisor/ServiceAdvisorCommandType.java  |     2 +
 ambari-utility/pom.xml                             |    25 +-
 .../annotations/SwaggerOverwriteNestedAPI.java     |    63 +
 .../ambari/annotations/SwaggerPreferredParent.java |    40 +
 .../apache/ambari/swagger/AmbariSwaggerReader.java |   106 +-
 .../ambari/swagger/AmbariSwaggerReaderTest.java    |   159 +-
 ambari-views/examples/README.md                    |     1 -
 .../auto-cluster-view/src/main/resources/view.xml  |     2 +-
 ambari-views/examples/pom.xml                      |     1 -
 ambari-views/examples/weather-view/docs/index.md   |   566 -
 .../examples/weather-view/docs/paloalto.png        |   Bin 39530 -> 0 bytes
 .../examples/weather-view/docs/weather.png         |   Bin 29121 -> 0 bytes
 ambari-views/examples/weather-view/pom.xml         |   114 -
 .../apache/ambari/view/weather/CityResource.java   |    99 -
 .../ambari/view/weather/CityResourceProvider.java  |   183 -
 .../apache/ambari/view/weather/CityService.java    |    75 -
 .../apache/ambari/view/weather/WeatherServlet.java |   131 -
 .../src/main/resources/WEB-INF/web.xml             |    37 -
 .../weather-view/src/main/resources/view.xml       |    94 -
 ambari-web/api-docs/css/api-explorer.css           |    44 -
 ambari-web/api-docs/lib/marked.js                  |   464 +-
 ambari-web/api-docs/swagger-ui.js                  |     7 +-
 ambari-web/api-docs/swagger-ui.min.js              |    21 +-
 ambari-web/app/app.js                              |    13 +-
 .../data/configurations/config_versions.json       |     3 +-
 ambari-web/app/assets/data/services/ambari.json    |     2 +-
 .../app/assets/data/services/ambari_server.json    |     2 +-
 .../app/assets/data/stack_versions/upgrade.json    |    62 +-
 .../assets/data/wizard/deploy/5_hosts/poll_3.json  |     8 +-
 .../assets/data/wizard/deploy/5_hosts/poll_4.json  |     8 +-
 .../assets/data/wizard/deploy/5_hosts/poll_5.json  |     8 +-
 .../data/wizard/deploy/master_failure/poll_3.json  |     8 +-
 .../data/wizard/deploy/master_failure/poll_4.json  |     8 +-
 .../data/wizard/deploy/slave_failure/poll_3.json   |     8 +-
 .../data/wizard/deploy/slave_failure/poll_4.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_3.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_4.json   |     8 +-
 .../data/wizard/deploy/slave_warning/poll_5.json   |     8 +-
 .../data/wizard/kerberos/kerberize_cluster.json    |     6 +-
 ambari-web/app/assets/index.html                   |     2 +-
 ambari-web/app/assets/test/tests.js                |     2 +-
 ambari-web/app/config.js                           |     3 +-
 ambari-web/app/controllers.js                      |     1 -
 ambari-web/app/controllers/application.js          |    45 +
 .../global/background_operations_controller.js     |    19 +-
 .../app/controllers/global/cluster_controller.js   |    75 +-
 .../controllers/global/configuration_controller.js |    61 +
 .../app/controllers/global/update_controller.js    |   124 +-
 ambari-web/app/controllers/installer.js            |   324 +-
 ambari-web/app/controllers/main.js                 |     8 +-
 .../main/admin/federation/step1_controller.js      |    17 +-
 .../main/admin/federation/step3_controller.js      |   112 +-
 .../main/admin/federation/step4_controller.js      |    88 +-
 .../journalNode/step1_controller.js                |    12 +
 .../journalNode/step3_controller.js                |    58 +-
 .../journalNode/step4_controller.js                |     7 +-
 .../journalNode/step5_controller.js                |    11 +-
 .../journalNode/step6_controller.js                |    13 +-
 .../journalNode/step7_controller.js                |    13 +-
 .../journalNode/step8_controller.js                |    35 -
 .../journalNode/wizard_controller.js               |     4 +-
 .../highAvailability/nameNode/step4_controller.js  |    29 +-
 .../highAvailability/nameNode/step7_controller.js  |    18 +-
 .../main/admin/highAvailability_controller.js      |    21 +-
 ambari-web/app/controllers/main/admin/kerberos.js  |    27 +-
 .../main/admin/kerberos/step5_controller.js        |    39 +-
 .../main/admin/kerberos/step7_controller.js        |    37 +-
 .../main/admin/kerberos/wizard_controller.js       |    17 +-
 .../main/admin/serviceAccounts_controller.js       |    64 +-
 .../controllers/main/admin/service_auto_start.js   |     1 +
 .../main/admin/stack_upgrade_history_controller.js |    35 +-
 .../main/charts/heatmap_metrics/heatmap_metric.js  |    44 +-
 .../main/dashboard/config_history_controller.js    |    15 +-
 ambari-web/app/controllers/main/host.js            |    52 +-
 .../main/host/bulk_operations_controller.js        |     8 +-
 ambari-web/app/controllers/main/host/details.js    |   119 +-
 .../app/controllers/main/service/add_controller.js |     6 +-
 .../app/controllers/main/service/info/configs.js   |    25 +-
 .../app/controllers/main/service/info/metric.js    |   126 +-
 .../app/controllers/main/service/info/summary.js   |    29 +-
 ambari-web/app/controllers/main/service/item.js    |    63 +-
 .../service/manage_config_groups_controller.js     |    66 +-
 .../main/service/reassign/step2_controller.js      |     9 -
 .../main/service/reassign/step3_controller.js      |    24 +-
 .../service/widgets/create/step2_controller.js     |    12 +-
 .../service/widgets/create/step3_controller.js     |    18 +-
 .../service/widgets/create/wizard_controller.js    |    55 +-
 ambari-web/app/controllers/wizard.js               |    19 +-
 .../app/controllers/wizard/step2_controller.js     |     2 +
 .../wizard/step7/assign_master_controller.js       |   104 +-
 .../app/controllers/wizard/step7_controller.js     |   139 +-
 .../app/controllers/wizard/step8_controller.js     |    80 +-
 .../app/data/configs/services/yarn_properties.js   |   126 +
 .../data/configs/wizards/federation_properties.js  |   133 +-
 ambari-web/app/data/controller_route.js            |     8 +
 ambari-web/app/data/dashboard_widgets.js           |    30 +-
 ambari-web/app/mappers/components_state_mapper.js  |     5 +-
 .../configs/stack_config_properties_mapper.js      |     4 +
 ambari-web/app/mappers/configs/themes_mapper.js    |    33 +-
 .../app/mappers/repository_version_mapper.js       |     4 +-
 ambari-web/app/mappers/service_metrics_mapper.js   |   154 +-
 .../mappers/socket/alert_groups_mapper_adapter.js  |    13 +
 .../app/mappers/socket/alert_summary_mapper.js     |     5 +-
 ambari-web/app/mappers/socket/topology_mapper.js   |    12 +-
 ambari-web/app/mappers/stack_mapper.js             |     4 +-
 ambari-web/app/mappers/widget_mapper.js            |     3 +-
 ambari-web/app/messages.js                         |   235 +-
 ambari-web/app/mixins.js                           |     2 +
 .../mixins/common/configs/configs_comparator.js    |    11 +-
 .../app/mixins/common/configs/configs_loader.js    |     6 +-
 .../app/mixins/common/configs/configs_saver.js     |     8 +-
 .../app/mixins/common/configs/enhanced_configs.js  |   272 +-
 ambari-web/app/mixins/common/serverValidator.js    |    19 +-
 .../app/mixins/common/widgets/widget_mixin.js      |    46 +-
 .../app/mixins/common/widgets/widget_section.js    |   224 +-
 .../main/dashboard/widgets/namenode_widget.js      |    15 +-
 .../details/host_components/decommissionable.js    |    61 +-
 .../configs/component_actions_by_configs.js        |   120 +-
 .../main/service/configs/config_overridable.js     |     1 +
 .../main/service/summary/hdfs_summary_widgets.js   |    29 +
 .../app/mixins/main/service/themes_mapping.js      |    24 +-
 ambari-web/app/mixins/wizard/addSecurityConfigs.js |    61 +-
 .../app/mixins/wizard/assign_master_components.js  |    43 +-
 ambari-web/app/mixins/wizard/selectHost.js         |     4 +-
 .../wizard/wizardDeployProgressController.js       |     7 +-
 .../mixins/wizard/wizard_misc_property_checker.js  |    91 +
 ambari-web/app/models.js                           |     1 -
 ambari-web/app/models/alerts/alert_definition.js   |     2 +-
 ambari-web/app/models/client_component.js          |    13 +-
 ambari-web/app/models/configs/config_group.js      |     4 +-
 .../app/models/configs/objects/service_config.js   |     2 +-
 .../app/models/configs/service_config_version.js   |     4 +-
 ambari-web/app/models/configs/theme/sub_section.js |     5 +
 .../app/models/configs/theme/sub_section_tab.js    |     5 +
 .../app/models/configs/theme/theme_condition.js    |     5 +
 ambari-web/app/models/host_component.js            |    12 +-
 ambari-web/app/models/repository.js                |     2 +
 ambari-web/app/models/service.js                   |     2 +-
 ambari-web/app/models/service/hdfs.js              |    29 +-
 ambari-web/app/models/stack_service.js             |    10 +-
 ambari-web/app/models/stack_service_component.js   |    27 +-
 ambari-web/app/models/stack_version/repository.js  |    38 -
 ambari-web/app/models/upgrade_entity.js            |     5 +
 ambari-web/app/models/widget.js                    |     1 +
 ambari-web/app/models/widget_layout.js             |     6 +-
 ambari-web/app/routes/add_host_routes.js           |    10 +-
 ambari-web/app/routes/add_kerberos_routes.js       |     6 +-
 ambari-web/app/routes/add_service_routes.js        |    57 +-
 ambari-web/app/routes/installer.js                 |     7 +-
 ambari-web/app/routes/main.js                      |    29 +-
 ambari-web/app/routes/manage_journalnode_routes.js |    24 +-
 .../app/routes/namenode_federation_routes.js       |    12 +-
 ambari-web/app/routes/reassign_master_routes.js    |     3 +-
 ambari-web/app/styles/alerts.less                  |    75 +-
 ambari-web/app/styles/application.less             |   457 +-
 ambari-web/app/styles/bootstrap_overrides.less     |    19 +-
 ambari-web/app/styles/common.less                  |    26 +-
 ambari-web/app/styles/config_versions_control.less |    21 +-
 ambari-web/app/styles/dashboard.less               |   327 +-
 .../app/styles/enhanced_service_dashboard.less     |    17 +-
 ambari-web/app/styles/hosts.less                   |    39 +-
 ambari-web/app/styles/modal_popups.less            |    11 +
 ambari-web/app/styles/service_configurations.less  |    33 +-
 ambari-web/app/styles/stack_versions.less          |   108 +-
 ambari-web/app/styles/theme/bootstrap-ambari.css   |     4 +-
 ambari-web/app/styles/top-nav.less                 |     3 +
 ambari-web/app/styles/visualsearch.less            |    53 +-
 ambari-web/app/styles/widgets.less                 |     4 +
 ambari-web/app/styles/wizard.less                  |   480 +-
 ambari-web/app/templates.js                        |     1 +
 ambari-web/app/templates/application.hbs           |    41 +-
 .../templates/common/assign_master_components.hbs  |     2 +
 .../app/templates/common/button_progress.hbs       |     4 +-
 .../common/configs/config_versions_control.hbs     |     8 +-
 .../common/configs/config_versions_dropdown.hbs    |    11 +-
 .../app/templates/common/configs/controls.hbs      |     6 +-
 .../common/configs/overriddenProperty.hbs          |     2 +-
 .../templates/common/configs/service_config.hbs    |    27 +-
 .../common/configs/service_config_wizard.hbs       |    10 +-
 .../templates/common/configs/services_config.hbs   |    54 +-
 .../templates/common/configs/widgets/controls.hbs  |     2 +-
 .../configs/widgets/controls/create_override.hbs   |     2 +-
 .../common/configs/widgets/controls/edit.hbs       |     2 +-
 .../configs/widgets/controls/remove_override.hbs   |     2 +-
 .../configs/widgets/controls/set_recommended.hbs   |     2 +-
 .../templates/common/form/check_db_connection.hbs  |    14 +-
 ambari-web/app/templates/common/form/dropdown.hbs  |     4 +-
 .../app/templates/common/host_progress_popup.hbs   |    12 +-
 .../common/modal_popups/widget_browser_popup.hbs   |     7 +-
 ambari-web/app/templates/common/progress.hbs       |    17 +-
 .../app/templates/common/widget/gauge_widget.hbs   |     9 +-
 .../app/templates/common/widget/graph_widget.hbs   |     9 +-
 .../app/templates/common/widget/number_widget.hbs  |     9 +-
 .../templates/common/widget/template_widget.hbs    |     9 +-
 .../app/templates/main/admin/federation/step1.hbs  |    10 +-
 .../admin/highAvailability/journalNode/step3.hbs   |    20 +-
 .../admin/highAvailability/journalNode/step5.hbs   |    13 +-
 .../admin/highAvailability/journalNode/step7.hbs   |    12 +-
 .../admin/highAvailability/journalNode/step8.hbs   |    18 -
 .../admin/highAvailability/journalNode/wizard.hbs  |     5 +-
 .../main/admin/highAvailability/nameNode/step1.hbs |     4 +-
 .../main/admin/highAvailability/nameNode/step3.hbs |     2 +-
 .../main/admin/highAvailability/nameNode/step4.hbs |     8 +-
 .../main/admin/highAvailability/nameNode/step6.hbs |     8 +-
 .../main/admin/highAvailability/nameNode/step8.hbs |    11 +-
 ambari-web/app/templates/main/admin/kerberos.hbs   |    60 +-
 .../app/templates/main/admin/kerberos/step1.hbs    |     3 +-
 .../app/templates/main/admin/kerberos/step2.hbs    |     4 +-
 .../app/templates/main/admin/kerberos/step3.hbs    |    12 +-
 .../app/templates/main/admin/kerberos/step4.hbs    |     4 +-
 .../app/templates/main/admin/kerberos/step5.hbs    |     6 +-
 .../templates/main/admin/service_auto_start.hbs    |     2 +-
 .../main/admin/stack_upgrade/upgrade_group.hbs     |     2 +-
 .../main/admin/stack_upgrade/upgrade_history.hbs   |     8 +-
 .../main/admin/stack_upgrade/upgrade_task.hbs      |     6 +-
 ambari-web/app/templates/main/alerts.hbs           |     2 +-
 .../alert_definition/alert_definition_summary.hbs  |     2 +-
 .../templates/main/alerts/definition_details.hbs   |   161 +-
 .../main/alerts/manage_alert_groups_popup.hbs      |     1 +
 ambari-web/app/templates/main/charts/heatmap.hbs   |    38 +-
 .../main/charts/heatmap/heatmap_host_detail.hbs    |    12 +-
 .../templates/main/dashboard/config_history.hbs    |     6 +-
 .../app/templates/main/dashboard/widgets.hbs       |    68 +-
 .../templates/main/dashboard/widgets/pie_chart.hbs |    28 +-
 .../main/dashboard/widgets/simple_text.hbs         |    32 +-
 .../templates/main/dashboard/widgets/uptime.hbs    |    20 +-
 ambari-web/app/templates/main/host.hbs             |    11 +-
 .../templates/main/host/details/host_component.hbs |     9 +-
 ambari-web/app/templates/main/host/host_alerts.hbs |     2 +-
 ambari-web/app/templates/main/host/summary.hbs     |    20 +-
 .../app/templates/main/service/info/metrics.hbs    |    29 +
 .../app/templates/main/service/info/summary.hbs    |    55 +-
 .../templates/main/service/info/summary/base.hbs   |     3 +-
 .../service/info/summary/hdfs/common_widgets.hbs   |    53 +
 .../main/service/info/summary/hdfs/slaves.hbs      |   139 +
 .../main/service/info/summary/hdfs/widgets.hbs     |    48 +-
 .../service/info/summary/master_components.hbs     |    10 +-
 .../app/templates/main/service/menu_item.hbs       |    16 +-
 .../app/templates/main/service/services/hdfs.hbs   |   137 +-
 .../app/templates/main/service/services/onefs.hbs  |   187 +
 .../app/templates/main/service/services/yarn.hbs   |    21 +-
 .../service/widgets/create/step2_add_metric.hbs    |    37 +-
 .../widgets/create/step2_component_dropdown.hbs    |    38 +
 .../config_launch_switch_config_group_of_host.hbs  |    12 +-
 .../templates/wizard/installer_cancel_button.hbs   |    26 +
 ambari-web/app/templates/wizard/step0.hbs          |     1 +
 .../app/templates/wizard/step1/editable_repo.hbs   |    29 +
 ambari-web/app/templates/wizard/step10.hbs         |     2 +-
 ambari-web/app/templates/wizard/step2.hbs          |     1 +
 ambari-web/app/templates/wizard/step3.hbs          |    23 +-
 .../step4/step4_service_validation_popup.hbs       |    19 +
 ambari-web/app/templates/wizard/step6.hbs          |    15 +-
 .../app/templates/wizard/step7/accounts_tab.hbs    |     4 +-
 .../app/templates/wizard/step7/directories_tab.hbs |     2 +-
 .../templates/wizard/step7_with_category_tabs.hbs  |     3 +-
 ambari-web/app/templates/wizard/step8.hbs          |     1 +
 ambari-web/app/utils/ajax/ajax.js                  |    85 +-
 ambari-web/app/utils/config.js                     |    63 +-
 .../utils/configs/modification_handlers/misc.js    |    20 +-
 .../configs/move_namenode_config_initializer.js    |     3 +-
 ambari-web/app/utils/db.js                         |     9 +
 ambari-web/app/utils/file_utils.js                 |    18 +
 ambari-web/app/utils/helper.js                     |    23 +
 ambari-web/app/utils/stomp_client.js               |    89 +-
 ambari-web/app/utils/string_utils.js               |    11 +
 ambari-web/app/utils/validator.js                  |     2 +-
 ambari-web/app/views.js                            |     5 +-
 .../views/common/assign_master_components_view.js  |     2 +
 .../configs/config_versions_dropdown_view.js       |     7 +-
 .../configs/service_config_layout_tab_view.js      |   111 -
 .../views/common/configs/service_config_view.js    |    56 +-
 .../configs/service_configs_by_category_view.js    |    74 +-
 .../app/views/common/configs/services_config.js    |    30 +
 .../configs/widgets/combo_config_widget_view.js    |    26 +-
 .../common/configs/widgets/config_widget_view.js   |   101 +-
 .../widgets/test_db_connection_widget_view.js      |    48 +
 ambari-web/app/views/common/controls_view.js       |    17 +-
 ambari-web/app/views/common/editable_list.js       |     8 +-
 ambari-web/app/views/common/filter_view.js         |    20 +-
 ambari-web/app/views/common/form/dropdown.js       |    10 +-
 .../views/common/host_progress_popup_body_view.js  |     8 +-
 .../views/common/modal_popups/log_tail_popup.js    |     9 +-
 .../app/views/common/quick_view_link_view.js       |   108 +-
 .../app/views/common/widget/heatmap_widget_view.js |     4 +-
 ambari-web/app/views/loading.js                    |     5 +-
 .../app/views/main/admin/federation/step1_view.js  |     4 +-
 .../app/views/main/admin/federation/step2_view.js  |     2 +
 .../highAvailability/journalNode/step3_view.js     |    72 +-
 .../highAvailability/journalNode/step5_view.js     |    33 +-
 .../highAvailability/journalNode/step7_view.js     |     9 +-
 .../highAvailability/journalNode/step8_view.js     |    29 -
 .../main/admin/stack_upgrade/upgrade_group_view.js |     9 +-
 .../admin/stack_upgrade/upgrade_history_view.js    |     6 +-
 .../main/admin/stack_upgrade/upgrade_task_view.js  |    49 +-
 .../alert_definition/alert_definition_summary.js   |     2 +
 .../main/alerts/alert_instances_popup_view.js      |     4 +-
 .../views/main/alerts/definition_details_view.js   |     2 +-
 .../app/views/main/charts/heatmap/heatmap_host.js  |    47 +-
 .../views/main/dashboard/config_history_view.js    |     7 +-
 ambari-web/app/views/main/dashboard/widget.js      |    25 +-
 ambari-web/app/views/main/dashboard/widgets.js     |   409 +-
 .../views/main/dashboard/widgets/hdfs_capacity.js  |    12 +-
 .../app/views/main/dashboard/widgets/hdfs_links.js |     6 +-
 .../views/main/dashboard/widgets/namenode_cpu.js   |     7 +-
 .../views/main/dashboard/widgets/namenode_heap.js  |     4 +-
 .../views/main/dashboard/widgets/namenode_rpc.js   |     9 +-
 .../main/dashboard/widgets/namenode_uptime.js      |     2 +-
 .../views/main/dashboard/widgets/text_widget.js    |     2 +
 .../main/dashboard/widgets/yarn_containers.js      |    85 +
 ambari-web/app/views/main/host.js                  |    10 +-
 ambari-web/app/views/main/host/combo_search_box.js |    19 +-
 ambari-web/app/views/main/host/details.js          |     2 +-
 .../views/main/host/details/host_component_view.js |     2 +-
 .../details/host_component_views/datanode_view.js  |    74 +-
 ambari-web/app/views/main/host/logs_view.js        |    10 +-
 ambari-web/app/views/main/host/summary.js          |    62 +-
 ambari-web/app/views/main/menu.js                  |    14 +-
 .../main/service/info/components_list_view.js      |     3 +
 .../app/views/main/service/info/metrics_view.js    |    31 +-
 ambari-web/app/views/main/service/info/summary.js  |    43 +-
 .../service/info/summary/hdfs/common_widgets.js    |    77 +
 .../views/main/service/info/summary/hdfs/slaves.js |    63 +
 .../main/service/info/summary/hdfs/widgets.js      |    96 +-
 ambari-web/app/views/main/service/item.js          |    30 +
 .../main/service/manage_config_groups_view.js      |     2 +-
 ambari-web/app/views/main/service/services/hdfs.js |    44 +-
 ambari-web/app/views/main/service/services/hive.js |     7 +-
 .../app/views/main/service/services/onefs.js       |   189 +
 .../main/service/widgets/create/expression_view.js |   104 +-
 .../main/service/widgets/create/step2_view.js      |    10 +
 .../wizard/step3/hostWarningPopupBody_view.js      |     3 +
 ambari-web/app/views/wizard/step3_view.js          |     3 +
 ambari-web/app/views/wizard/step6_view.js          |    10 +
 .../app/views/wizard/step7/accounts_tab_view.js    |    14 +-
 .../app/views/wizard/step7/databases_tab_view.js   |    41 +-
 .../app/views/wizard/step7/directories_tab_view.js |     9 +-
 ambari-web/app/views/wizard/step7_view.js          |     1 +
 ambari-web/brunch-config.js                        |     6 +-
 ambari-web/package.json                            |    13 +-
 .../global/background_operations_test.js           |    11 +-
 .../controllers/global/cluster_controller_test.js  |    29 +-
 .../global/configuration_controller_test.js        |   109 +
 .../controllers/global/update_controller_test.js   |    22 +-
 ambari-web/test/controllers/installer_test.js      |   121 +
 .../journalNode/step4_controller_test.js           |    22 -
 .../journalNode/step6_controller_test.js           |    55 +-
 .../journalNode/step7_controller_test.js           |    14 +-
 .../journalNode/step8_controller_test.js           |    61 -
 .../nameNode/step7_controller_test.js              |    26 +-
 .../main/admin/highAvailability_controller_test.js |    10 +-
 .../kerberos/kerberos_wizard_controler_test.js     |     4 -
 .../main/admin/kerberos/step5_controller_test.js   |    38 -
 .../main/admin/kerberos/step7_controller_test.js   |    38 -
 .../main/admin/service_auto_start_test.js          |     1 -
 .../admin/stack_upgrade_history_controller_test.js |    53 +
 .../charts/heatmap_metrics/heatmap_metric_test.js  |    20 +-
 .../dashboard/config_history_controller_test.js    |     4 +-
 .../test/controllers/main/host/details_test.js     |    94 +
 ambari-web/test/controllers/main/host_test.js      |    45 -
 .../test/controllers/main/service/item_test.js     |    69 +-
 .../widgets/create/step2_controller_test.js        |     4 +-
 ambari-web/test/controllers/main_test.js           |    21 +-
 .../wizard/step7/assign_master_controller_test.js  |   120 +-
 ambari-web/test/controllers/wizard/step7_test.js   |    37 +-
 ambari-web/test/controllers/wizard/step8_test.js   |     8 +
 .../test/mappers/components_state_mapper_test.js   |     2 +
 .../test/mappers/configs/themes_mapper_test.js     |    37 +-
 .../test/mappers/service_metrics_mapper_test.js    |   100 +
 .../socket/alert_groups_mapper_adapter_test.js     |    10 +-
 .../mappers/socket/alert_summary_mapper_test.js    |     6 +-
 .../test/mappers/socket/topology_mapper_test.js    |     2 +-
 .../mixins/common/configs/enhanced_configs_test.js |     9 +-
 .../test/mixins/common/serverValidator_test.js     |     6 +
 ambari-web/test/mixins/common/widget_mixin_test.js |    45 +
 .../configs/component_actions_by_configs_test.js   |    52 +-
 .../test/mixins/wizard/addSeccurityConfigs_test.js |   105 +
 .../test/models/configs/config_group_test.js       |     2 +-
 .../models/configs/objects/service_config_test.js  |     9 +-
 .../test/models/stack_service_component_test.js    |     4 +-
 ambari-web/test/utils/stomp_client_test.js         |    49 +-
 ambari-web/test/utils/string_utils_test.js         |    13 +
 .../configs/widgets/config_widget_view_test.js     |    44 +-
 .../test/views/common/quick_link_view_test.js      |   109 +-
 .../common/widget/heatmap_widget_view_test.js      |     4 +-
 .../admin/stack_upgrade/upgrade_task_view_test.js  |    42 +-
 .../views/main/charts/heatmap/heatmap_host_test.js |    62 +-
 .../test/views/main/dashboard/widget_test.js       |    21 +-
 .../main/dashboard/widgets/namenode_rpc_test.js    |    13 +-
 .../test/views/main/dashboard/widgets_test.js      |    30 +-
 .../test/views/main/host/combo_search_box_test.js  |    44 -
 .../main/host/details/host_component_view_test.js  |     9 +-
 .../host_component_views/datanode_view_test.js     |   153 +-
 .../host_component_views/decommissionable_test.js  |    19 -
 ambari-web/test/views/main/host/logs_view_test.js  |     4 +-
 ambari-web/test/views/main/host/summary_test.js    |    16 +-
 ambari-web/test/views/main/host_test.js            |    19 -
 .../views/main/service/info/metrics_view_test.js   |    16 +-
 .../main/service/info/summary/hdfs/slaves_test.js  |    79 +
 .../test/views/main/service/info/summary_test.js   |     4 +
 ambari-web/test/views/main/service/item_test.js    |     2 +-
 .../test/views/main/service/services/hdfs_test.js  |    40 -
 ambari-web/vendor/scripts/jszip.min.js             |    15 +
 .../vendor/scripts/theme/bootstrap-ambari.js       |     6 +-
 ambari-web/yarn.lock                               |   447 +-
 contrib/ambari-log4j/pom.xml                       |     1 -
 .../apache/ambari/fast_hdfs_resource/Resource.java |     9 +
 .../apache/ambari/fast_hdfs_resource/Runner.java   |   110 +-
 .../HDF/2.0/hooks/before-START/scripts/params.py   |     6 +
 .../templates/hadoop-metrics2.properties.j2        |    10 +-
 .../stacks/HDF/2.0/services/stack_advisor.py       |     1 +
 .../management-packs/isilon-onefs-mpack/pom.xml    |     2 +-
 .../ONEFS/1.0.0/package/scripts/params_linux.py    |     4 -
 .../addon-services/ONEFS/1.0.0/service_advisor.py  |    22 +-
 .../src/main/resources/mpack.json                  |     5 +-
 .../ODPi/2.0/hooks/before-START/scripts/params.py  |    19 +
 .../ODPi/2.0/services/HIVE/package/scripts/hive.py |     2 +-
 .../HIVE/package/scripts/hive_interactive.py       |     2 +-
 .../services/HIVE/package/scripts/params_linux.py  |     9 +
 .../hadoop-metrics2-hivemetastore.properties.j2    |    10 +-
 .../hadoop-metrics2-hiveserver2.properties.j2      |    10 +-
 .../templates/hadoop-metrics2-llapdaemon.j2        |    11 +-
 .../templates/hadoop-metrics2-llaptaskscheduler.j2 |     9 +-
 .../src/main/python/preinstall_checker.py          |     6 +-
 contrib/version-builder/version_builder.py         |     2 +-
 .../src/main/resources/ui/.bowerrc                 |     5 +
 .../capacity-scheduler/src/main/resources/view.xml |     2 +-
 .../resources/ui/hdfs-directory-viewer/.bowerrc    |     3 +-
 contrib/views/files/src/main/resources/ui/.bowerrc |     3 +-
 .../main/resources/ui/app/adapters/application.js  |    23 +-
 .../main/resources/ui/app/services/file-preview.js |     5 +-
 .../src/main/resources/ui/app/styles/app.less      |     3 +
 contrib/views/files/src/main/resources/view.xml    |     2 +-
 contrib/views/hawq/.gitignore                      |    19 -
 contrib/views/hawq/README.md                       |    64 -
 contrib/views/hawq/pom.xml                         |   271 -
 .../apache/ambari/view/hawq/HAWQDataSource.java    |    94 -
 .../apache/ambari/view/hawq/JsonApiResource.java   |    98 -
 .../org/apache/ambari/view/hawq/QueryResource.java |    36 -
 .../ambari/view/hawq/QueryResourceProvider.java    |   225 -
 .../org/apache/ambari/view/hawq/QueryService.java  |    70 -
 contrib/views/hawq/src/main/resources/ui/.bowerrc  |     4 -
 .../views/hawq/src/main/resources/ui/.editorconfig |    34 -
 .../views/hawq/src/main/resources/ui/.ember-cli    |    27 -
 .../views/hawq/src/main/resources/ui/.gitignore    |    19 -
 contrib/views/hawq/src/main/resources/ui/.jshintrc |    32 -
 .../src/main/resources/ui/app/adapters/query.js    |    31 -
 .../views/hawq/src/main/resources/ui/app/app.js    |    36 -
 .../resources/ui/app/components/query-table.js     |    30 -
 .../src/main/resources/ui/app/controllers/.gitkeep |     0
 .../src/main/resources/ui/app/helpers/.gitkeep     |     0
 .../hawq/src/main/resources/ui/app/index.html      |    42 -
 .../hawq/src/main/resources/ui/app/models/query.js |    47 -
 .../hawq/src/main/resources/ui/app/resolver.js     |    21 -
 .../views/hawq/src/main/resources/ui/app/router.js |    30 -
 .../main/resources/ui/app/routes/application.js    |    24 -
 .../hawq/src/main/resources/ui/app/routes/main.js  |    40 -
 .../src/main/resources/ui/app/serializers/query.js |    70 -
 .../hawq/src/main/resources/ui/app/styles/app.scss |    61 -
 .../resources/ui/app/templates/application.hbs     |    22 -
 .../ui/app/templates/components/query-table.hbs    |    59 -
 .../src/main/resources/ui/app/templates/main.hbs   |    20 -
 .../hawq/src/main/resources/ui/app/utils/utils.js  |    76 -
 .../views/hawq/src/main/resources/ui/bower.json    |    13 -
 .../src/main/resources/ui/config/environment.js    |    69 -
 .../hawq/src/main/resources/ui/ember-cli-build.js  |    51 -
 .../views/hawq/src/main/resources/ui/package.json  |    49 -
 .../main/resources/ui/public/assets/logo-hawq.png  |   Bin 1897 -> 0 bytes
 contrib/views/hawq/src/main/resources/ui/testem.js |    33 -
 .../hawq/src/main/resources/ui/tests/.jshintrc     |    52 -
 .../ui/tests/acceptance/application-test.js        |    54 -
 .../main/resources/ui/tests/helpers/destroy-app.js |    23 -
 .../ui/tests/helpers/module-for-acceptance.js      |    52 -
 .../main/resources/ui/tests/helpers/resolver.js    |    29 -
 .../main/resources/ui/tests/helpers/start-app.js   |    36 -
 .../main/resources/ui/tests/helpers/test-helper.js |   139 -
 .../hawq/src/main/resources/ui/tests/index.html    |    51 -
 .../integration/components/query-table-test.js     |   115 -
 .../src/main/resources/ui/tests/test-helper.js     |    22 -
 .../resources/ui/tests/unit/adapters/query-test.js |    35 -
 .../resources/ui/tests/unit/models/query-test.js   |    55 -
 .../resources/ui/tests/unit/routes/main-test.js    |    26 -
 .../ui/tests/unit/serializers/query-test.js        |    99 -
 .../resources/ui/tests/unit/utils/utils-test.js    |    93 -
 .../hawq/src/main/resources/ui/vendor/.gitkeep     |     0
 contrib/views/hawq/src/main/resources/ui/yarn.lock |  6665 ---
 .../hawq/src/main/resources/view.log4j.properties  |    27 -
 contrib/views/hawq/src/main/resources/view.xml     |    70 -
 .../ambari/view/hawq/HAWQDataSourceTest.java       |   170 -
 .../view/hawq/QueryResourceProviderTest.java       |   200 -
 contrib/views/hive-next/pom.xml                    |   391 -
 .../org/apache/ambari/view/hive2/AuthParams.java   |   102 -
 .../org/apache/ambari/view/hive2/BaseService.java  |    54 -
 .../ambari/view/hive2/ConnectionDelegate.java      |    37 -
 .../ambari/view/hive2/ConnectionFactory.java       |   167 -
 .../apache/ambari/view/hive2/ConnectionSystem.java |   135 -
 .../org/apache/ambari/view/hive2/DataMigrator.java |   101 -
 .../org/apache/ambari/view/hive2/HelpService.java  |   150 -
 .../view/hive2/HiveJdbcConnectionDelegate.java     |   106 -
 .../org/apache/ambari/view/hive2/HiveViewImpl.java |    52 -
 .../ambari/view/hive2/PropertyValidator.java       |   107 -
 .../org/apache/ambari/view/hive2/TestBean.java     |    36 -
 .../apache/ambari/view/hive2/actor/DeathWatch.java |    55 -
 .../apache/ambari/view/hive2/actor/HiveActor.java  |    46 -
 .../ambari/view/hive2/actor/JdbcConnector.java     |   645 -
 .../ambari/view/hive2/actor/LogAggregator.java     |   125 -
 .../view/hive2/actor/OperationController.java      |   408 -
 .../ambari/view/hive2/actor/ResultSetIterator.java |   167 -
 .../ambari/view/hive2/actor/StatementExecutor.java |   153 -
 .../view/hive2/actor/YarnAtsGUIDFetcher.java       |    71 -
 .../ambari/view/hive2/actor/message/Connect.java   |    77 -
 .../view/hive2/actor/message/CursorReset.java      |    22 -
 .../view/hive2/actor/message/ExecuteJob.java       |    38 -
 .../view/hive2/actor/message/ExecuteQuery.java     |    23 -
 .../view/hive2/actor/message/FetchError.java       |    42 -
 .../view/hive2/actor/message/FetchResult.java      |    42 -
 .../hive2/actor/message/GetColumnMetadataJob.java  |    59 -
 .../view/hive2/actor/message/GetMoreLogs.java      |    22 -
 .../ambari/view/hive2/actor/message/HiveJob.java   |    48 -
 .../view/hive2/actor/message/HiveMessage.java      |    53 -
 .../view/hive2/actor/message/JobRejected.java      |    44 -
 .../view/hive2/actor/message/JobSubmitted.java     |    38 -
 .../actor/message/LogAggregationFinished.java      |    21 -
 .../view/hive2/actor/message/RegisterActor.java    |    34 -
 .../view/hive2/actor/message/ResetCursor.java      |    22 -
 .../hive2/actor/message/ResultInformation.java     |    83 -
 .../view/hive2/actor/message/ResultNotReady.java   |    40 -
 .../view/hive2/actor/message/ResultReady.java      |    44 -
 .../view/hive2/actor/message/RunStatement.java     |    73 -
 .../view/hive2/actor/message/SQLStatementJob.java  |    65 -
 .../hive2/actor/message/StartLogAggregation.java   |    42 -
 .../actor/message/job/AsyncExecutionFailed.java    |    46 -
 .../view/hive2/actor/message/job/CancelJob.java    |    40 -
 .../actor/message/job/ExecuteNextStatement.java    |    22 -
 .../hive2/actor/message/job/ExecutionFailed.java   |    31 -
 .../view/hive2/actor/message/job/Failure.java      |    37 -
 .../view/hive2/actor/message/job/FetchFailed.java  |    31 -
 .../ambari/view/hive2/actor/message/job/Next.java  |    22 -
 .../view/hive2/actor/message/job/NoMoreItems.java  |    35 -
 .../view/hive2/actor/message/job/NoResult.java     |    21 -
 .../view/hive2/actor/message/job/Result.java       |    43 -
 .../hive2/actor/message/job/ResultSetHolder.java   |    33 -
 .../actor/message/job/SaveDagInformation.java      |    52 -
 .../view/hive2/actor/message/job/SaveGuidToDB.java |    46 -
 .../hive2/actor/message/job/UpdateYarnAtsGuid.java |    44 -
 .../hive2/actor/message/lifecycle/CleanUp.java     |    21 -
 .../actor/message/lifecycle/DestroyConnector.java  |    52 -
 .../actor/message/lifecycle/FreeConnector.java     |    53 -
 .../actor/message/lifecycle/InactivityCheck.java   |    21 -
 .../hive2/actor/message/lifecycle/KeepAlive.java   |    21 -
 .../lifecycle/TerminateInactivityCheck.java        |    21 -
 .../backgroundjobs/BackgroundJobController.java    |   113 -
 .../backgroundjobs/BackgroundJobException.java     |    30 -
 .../ambari/view/hive2/client/AsyncJobRunner.java   |    38 -
 .../view/hive2/client/AsyncJobRunnerImpl.java      |   143 -
 .../view/hive2/client/ColumnDescription.java       |    45 -
 .../hive2/client/ColumnDescriptionExtended.java    |    74 -
 .../view/hive2/client/ColumnDescriptionShort.java  |    53 -
 .../ambari/view/hive2/client/ConnectionConfig.java |    59 -
 .../apache/ambari/view/hive2/client/Cursor.java    |    30 -
 .../ambari/view/hive2/client/DDLDelegator.java     |    38 -
 .../ambari/view/hive2/client/DDLDelegatorImpl.java |   255 -
 .../ambari/view/hive2/client/EmptyCursor.java      |   110 -
 .../view/hive2/client/HiveAuthCredentials.java     |    31 -
 .../hive2/client/HiveAuthRequiredException.java    |    27 -
 .../client/HiveClientAuthRequiredException.java    |    25 -
 .../view/hive2/client/HiveClientException.java     |    25 -
 .../hive2/client/HiveClientRuntimeException.java   |    25 -
 .../view/hive2/client/NonPersistentCursor.java     |   156 -
 .../ambari/view/hive2/client/PersistentCursor.java |    87 -
 .../org/apache/ambari/view/hive2/client/Row.java   |    74 -
 .../hive2/exceptions/NotConnectedException.java    |    28 -
 .../view/hive2/internal/AsyncExecutionFailure.java |    23 -
 .../view/hive2/internal/AsyncExecutionSuccess.java |    25 -
 .../ambari/view/hive2/internal/Connectable.java    |    65 -
 .../view/hive2/internal/ConnectionException.java   |    25 -
 .../view/hive2/internal/ConnectionProperties.java  |    94 -
 .../view/hive2/internal/ConnectionSupplier.java    |    37 -
 .../view/hive2/internal/ContextSupplier.java       |    37 -
 .../view/hive2/internal/DataStorageSupplier.java   |    42 -
 .../view/hive2/internal/DefaultSupplier.java       |    62 -
 .../apache/ambari/view/hive2/internal/Either.java  |    79 -
 .../view/hive2/internal/HdfsApiSupplier.java       |    71 -
 .../view/hive2/internal/HiveConnectionWrapper.java |   152 -
 .../ambari/view/hive2/internal/HiveQuery.java      |    71 -
 .../ambari/view/hive2/internal/HiveResult.java     |   160 -
 .../ambari/view/hive2/internal/HiveTask.java       |    53 -
 .../view/hive2/internal/HiveTaskMessage.java       |   118 -
 .../view/hive2/internal/SafeViewContext.java       |   181 -
 .../view/hive2/persistence/DataStoreStorage.java   |   140 -
 .../view/hive2/persistence/IStorageFactory.java    |    23 -
 .../hive2/persistence/InstanceKeyValueStorage.java |   132 -
 .../view/hive2/persistence/KeyValueStorage.java    |   163 -
 .../hive2/persistence/LocalKeyValueStorage.java    |    69 -
 .../hive2/persistence/PersistentConfiguration.java |    52 -
 .../ambari/view/hive2/persistence/Storage.java     |    77 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../hive2/persistence/utils/FilteringStrategy.java |    32 -
 .../view/hive2/persistence/utils/Indexed.java      |    36 -
 .../view/hive2/persistence/utils/ItemNotFound.java |    43 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    38 -
 .../ambari/view/hive2/persistence/utils/Owned.java |    36 -
 .../hive2/persistence/utils/PersonalResource.java  |    22 -
 .../hive2/persistence/utils/StorageFactory.java    |    69 -
 .../view/hive2/resources/CRUDResourceManager.java  |   131 -
 .../view/hive2/resources/IResourceManager.java     |    37 -
 .../resources/PersonalCRUDResourceManager.java     |    99 -
 .../hive2/resources/SharedCRUDResourceManager.java |    44 -
 .../hive2/resources/browser/ConnectionService.java |   155 -
 .../resources/browser/HiveBrowserService.java      |   263 -
 .../view/hive2/resources/files/FileResource.java   |    70 -
 .../view/hive2/resources/files/FileService.java    |   283 -
 .../view/hive2/resources/jobs/Aggregator.java      |   391 -
 .../hive2/resources/jobs/JobResourceProvider.java  |   117 -
 .../view/hive2/resources/jobs/JobService.java      |   624 -
 .../resources/jobs/ModifyNotificationDelegate.java |    23 -
 .../jobs/ModifyNotificationInvocationHandler.java  |    40 -
 .../jobs/NoOperationStatusSetException.java        |    23 -
 .../hive2/resources/jobs/ProgressRetriever.java    |    66 -
 .../jobs/ResultsPaginationController.java          |   287 -
 .../hive2/resources/jobs/atsJobs/ATSParser.java    |   248 -
 .../resources/jobs/atsJobs/ATSParserFactory.java   |    43 -
 .../jobs/atsJobs/ATSRequestsDelegate.java          |    47 -
 .../jobs/atsJobs/ATSRequestsDelegateImpl.java      |   175 -
 .../hive2/resources/jobs/atsJobs/HiveQueryId.java  |    42 -
 .../hive2/resources/jobs/atsJobs/IATSParser.java   |    39 -
 .../hive2/resources/jobs/atsJobs/TezDagId.java     |    26 -
 .../hive2/resources/jobs/atsJobs/TezVertexId.java  |    24 -
 .../view/hive2/resources/jobs/rm/RMParser.java     |   129 -
 .../hive2/resources/jobs/rm/RMParserFactory.java   |    48 -
 .../resources/jobs/rm/RMRequestsDelegate.java      |    31 -
 .../resources/jobs/rm/RMRequestsDelegateImpl.java  |    99 -
 .../jobs/viewJobs/IJobControllerFactory.java       |    23 -
 .../view/hive2/resources/jobs/viewJobs/Job.java    |   131 -
 .../resources/jobs/viewJobs/JobController.java     |    44 -
 .../jobs/viewJobs/JobControllerFactory.java        |    40 -
 .../resources/jobs/viewJobs/JobControllerImpl.java |   327 -
 .../hive2/resources/jobs/viewJobs/JobImpl.java     |   335 -
 .../hive2/resources/jobs/viewJobs/JobInfo.java     |    78 -
 .../jobs/viewJobs/JobResourceManager.java          |    93 -
 .../resources/resources/FileResourceItem.java      |    78 -
 .../resources/FileResourceResourceManager.java     |    65 -
 .../resources/FileResourceResourceProvider.java    |   110 -
 .../resources/resources/FileResourceService.java   |   180 -
 .../hive2/resources/savedQueries/SavedQuery.java   |    96 -
 .../savedQueries/SavedQueryResourceManager.java    |   162 -
 .../savedQueries/SavedQueryResourceProvider.java   |   113 -
 .../resources/savedQueries/SavedQueryService.java  |   267 -
 .../ambari/view/hive2/resources/udfs/UDF.java      |    87 -
 .../hive2/resources/udfs/UDFResourceManager.java   |    65 -
 .../hive2/resources/udfs/UDFResourceProvider.java  |   111 -
 .../view/hive2/resources/udfs/UDFService.java      |   193 -
 .../view/hive2/resources/uploads/CSVParams.java    |    74 -
 .../resources/uploads/ColumnDescriptionImpl.java   |   119 -
 .../view/hive2/resources/uploads/HiveFileType.java |    30 -
 .../hive2/resources/uploads/TableDataReader.java   |   111 -
 .../view/hive2/resources/uploads/TableInput.java   |    51 -
 .../resources/uploads/UploadFromHdfsInput.java     |   130 -
 .../hive2/resources/uploads/UploadService.java     |   582 -
 .../resources/uploads/parsers/DataParser.java      |    66 -
 .../uploads/parsers/EndOfDocumentException.java    |    41 -
 .../hive2/resources/uploads/parsers/IParser.java   |    34 -
 .../resources/uploads/parsers/ParseOptions.java    |    61 -
 .../resources/uploads/parsers/ParseUtils.java      |   213 -
 .../hive2/resources/uploads/parsers/Parser.java    |   162 -
 .../resources/uploads/parsers/PreviewData.java     |    56 -
 .../resources/uploads/parsers/RowIterator.java     |    98 -
 .../resources/uploads/parsers/RowMapIterator.java  |    29 -
 .../parsers/csv/commonscsv/CSVIterator.java        |    57 -
 .../uploads/parsers/csv/commonscsv/CSVParser.java  |    88 -
 .../parsers/csv/opencsv/OpenCSVIterator.java       |    56 -
 .../uploads/parsers/csv/opencsv/OpenCSVParser.java |    92 -
 .../uploads/parsers/json/JSONIterator.java         |   160 -
 .../resources/uploads/parsers/json/JSONParser.java |    85 -
 .../resources/uploads/parsers/xml/XMLIterator.java |   195 -
 .../resources/uploads/parsers/xml/XMLParser.java   |   102 -
 .../resources/uploads/query/DeleteQueryInput.java  |    48 -
 .../uploads/query/InsertFromQueryInput.java        |    92 -
 .../resources/uploads/query/LoadQueryInput.java    |    67 -
 .../resources/uploads/query/QueryGenerator.java    |   142 -
 .../hive2/resources/uploads/query/RowFormat.java   |    57 -
 .../hive2/resources/uploads/query/TableInfo.java   |    97 -
 .../hive2/utils/BadRequestFormattedException.java  |    27 -
 .../apache/ambari/view/hive2/utils/Constants.java  |    25 -
 .../ambari/view/hive2/utils/FilePaginator.java     |   127 -
 .../view/hive2/utils/HiveActorConfiguration.java   |    71 -
 .../hive2/utils/HiveClientFormattedException.java  |    26 -
 .../view/hive2/utils/LoggingOutputStream.java      |    85 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../hive2/utils/NotFoundFormattedException.java    |    27 -
 .../hive2/utils/ResultFetchFormattedException.java |    27 -
 .../utils/ResultNotReadyFormattedException.java    |    27 -
 .../ambari/view/hive2/utils/ServiceCheck.java      |   132 -
 .../hive2/utils/ServiceFormattedException.java     |   105 -
 .../view/hive2/utils/SharedObjectsFactory.java     |   197 -
 .../hive-next/src/main/resources/application.conf  |    57 -
 .../src/main/resources/ui/hive-web/.bowerrc        |     4 -
 .../src/main/resources/ui/hive-web/.editorconfig   |    34 -
 .../src/main/resources/ui/hive-web/.ember-cli      |    27 -
 .../src/main/resources/ui/hive-web/.gitignore      |    37 -
 .../src/main/resources/ui/hive-web/.jshintrc       |    33 -
 .../src/main/resources/ui/hive-web/.travis.yml     |    38 -
 .../src/main/resources/ui/hive-web/Brocfile.js     |    55 -
 .../src/main/resources/ui/hive-web/README.md       |    14 -
 .../ui/hive-web/app/adapters/application.js        |    72 -
 .../resources/ui/hive-web/app/adapters/database.js |    25 -
 .../ui/hive-web/app/adapters/file-upload.js        |    30 -
 .../resources/ui/hive-web/app/adapters/file.js     |    26 -
 .../ui/hive-web/app/adapters/service-check.js      |    47 -
 .../ui/hive-web/app/adapters/upload-table.js       |    89 -
 .../src/main/resources/ui/hive-web/app/app.js      |    34 -
 .../resources/ui/hive-web/app/components/.gitkeep  |     0
 .../app/components/alert-message-widget.js         |    35 -
 .../hive-web/app/components/collapsible-widget.js  |    38 -
 .../app/components/column-filter-widget.js         |    56 -
 .../hive-web/app/components/date-range-widget.js   |    98 -
 .../ui/hive-web/app/components/expander-widget.js  |    36 -
 .../ui/hive-web/app/components/extended-input.js   |    50 -
 .../ui/hive-web/app/components/file-upload.js      |    34 -
 .../ui/hive-web/app/components/input-header.js     |    61 -
 .../ui/hive-web/app/components/job-tr-view.js      |    41 -
 .../ui/hive-web/app/components/modal-widget.js     |    58 -
 .../ui/hive-web/app/components/navbar-widget.js    |    42 -
 .../ui/hive-web/app/components/no-bubbling.js      |    31 -
 .../ui/hive-web/app/components/notify-widget.js    |    31 -
 .../hive-web/app/components/number-range-widget.js |    79 -
 .../ui/hive-web/app/components/panel-widget.js     |    30 -
 .../ui/hive-web/app/components/popover-widget.js   |    34 -
 .../ui/hive-web/app/components/progress-widget.js  |    30 -
 .../ui/hive-web/app/components/query-editor.js     |   129 -
 .../ui/hive-web/app/components/query-settings.js   |    55 -
 .../ui/hive-web/app/components/radio-button.js     |    39 -
 .../ui/hive-web/app/components/select-widget.js    |    66 -
 .../ui/hive-web/app/components/tabs-widget.js      |    68 -
 .../ui/hive-web/app/components/tree-view.js        |    23 -
 .../ui/hive-web/app/components/typeahead-widget.js |   129 -
 .../ui/hive-web/app/components/udf-tr-view.js      |    81 -
 .../ui/hive-web/app/components/upload-query.js     |    31 -
 .../app/components/validated-text-field.js         |    62 -
 .../app/components/visualization-tabs-widget.js    |    56 -
 .../resources/ui/hive-web/app/controllers/.gitkeep |     0
 .../ui/hive-web/app/controllers/application.js     |    33 -
 .../ui/hive-web/app/controllers/databases.js       |   476 -
 .../ui/hive-web/app/controllers/history.js         |   257 -
 .../resources/ui/hive-web/app/controllers/index.js |   790 -
 .../app/controllers/index/history-query/explain.js |   164 -
 .../app/controllers/index/history-query/logs.js    |   127 -
 .../app/controllers/index/history-query/results.js |   238 -
 .../ui/hive-web/app/controllers/insert-udfs.js     |    58 -
 .../ui/hive-web/app/controllers/messages.js        |    41 -
 .../ui/hive-web/app/controllers/modal-delete.js    |    33 -
 .../hive-web/app/controllers/modal-save-query.js   |    42 -
 .../ui/hive-web/app/controllers/modal-save.js      |    34 -
 .../ui/hive-web/app/controllers/open-queries.js    |   412 -
 .../ui/hive-web/app/controllers/queries.js         |   145 -
 .../ui/hive-web/app/controllers/query-tabs.js      |   189 -
 .../ui/hive-web/app/controllers/splash.js          |   193 -
 .../ui/hive-web/app/controllers/tez-ui.js          |   106 -
 .../resources/ui/hive-web/app/controllers/udfs.js  |   143 -
 .../ui/hive-web/app/controllers/upload-table.js    |   964 -
 .../ui/hive-web/app/controllers/visual-explain.js  |    64 -
 .../hive-web/app/controllers/visualization-ui.js   |   136 -
 .../resources/ui/hive-web/app/helpers/.gitkeep     |     0
 .../ui/hive-web/app/helpers/all-uppercase.js       |    25 -
 .../ui/hive-web/app/helpers/code-helper.js         |    28 -
 .../ui/hive-web/app/helpers/date-binding.js        |    27 -
 .../ui/hive-web/app/helpers/format-column-type.js  |    39 -
 .../ui/hive-web/app/helpers/log-helper.js          |    28 -
 .../ui/hive-web/app/helpers/path-binding.js        |    29 -
 .../ui/hive-web/app/helpers/preformatted-string.js |    28 -
 .../resources/ui/hive-web/app/helpers/tb-helper.js |    33 -
 .../src/main/resources/ui/hive-web/app/index.html  |    42 -
 .../resources/ui/hive-web/app/initializers/i18n.js |   351 -
 .../resources/ui/hive-web/app/mixins/filterable.js |   106 -
 .../resources/ui/hive-web/app/mixins/sortable.js   |    31 -
 .../main/resources/ui/hive-web/app/models/.gitkeep |     0
 .../resources/ui/hive-web/app/models/database.js   |    25 -
 .../ui/hive-web/app/models/file-resource.js        |    25 -
 .../main/resources/ui/hive-web/app/models/file.js  |    26 -
 .../main/resources/ui/hive-web/app/models/job.js   |    55 -
 .../ui/hive-web/app/models/saved-query.js          |    29 -
 .../main/resources/ui/hive-web/app/models/udf.js   |    27 -
 .../src/main/resources/ui/hive-web/app/router.js   |    53 -
 .../main/resources/ui/hive-web/app/routes/.gitkeep |     0
 .../ui/hive-web/app/routes/application.js          |    77 -
 .../resources/ui/hive-web/app/routes/history.js    |    29 -
 .../app/routes/index/history-query/explain.js      |    28 -
 .../app/routes/index/history-query/index.js        |    44 -
 .../app/routes/index/history-query/logs.js         |    28 -
 .../app/routes/index/history-query/results.js      |    28 -
 .../ui/hive-web/app/routes/index/index.js          |    36 -
 .../ui/hive-web/app/routes/index/saved-query.js    |    43 -
 .../resources/ui/hive-web/app/routes/loading.js    |    22 -
 .../resources/ui/hive-web/app/routes/messages.js   |    22 -
 .../resources/ui/hive-web/app/routes/queries.js    |    40 -
 .../resources/ui/hive-web/app/routes/splash.js     |   133 -
 .../resources/ui/hive-web/app/routes/tez-ui.js     |    22 -
 .../main/resources/ui/hive-web/app/routes/udfs.js  |    36 -
 .../ui/hive-web/app/routes/visual-explain.js       |    22 -
 .../ui/hive-web/app/routes/visualization-ui.js     |    22 -
 .../ui/hive-web/app/serializers/database.js        |    41 -
 .../resources/ui/hive-web/app/serializers/file.js  |    23 -
 .../resources/ui/hive-web/app/services/database.js |   243 -
 .../resources/ui/hive-web/app/services/file.js     |    59 -
 .../resources/ui/hive-web/app/services/history.js  |   204 -
 .../ui/hive-web/app/services/job-progress.js       |   111 -
 .../main/resources/ui/hive-web/app/services/job.js |    56 -
 .../resources/ui/hive-web/app/services/ldap.js     |    59 -
 .../resources/ui/hive-web/app/services/notify.js   |   113 -
 .../resources/ui/hive-web/app/services/session.js  |    48 -
 .../resources/ui/hive-web/app/services/settings.js |   199 -
 .../main/resources/ui/hive-web/app/styles/.gitkeep |     0
 .../main/resources/ui/hive-web/app/styles/app.scss |   722 -
 .../ui/hive-web/app/styles/dropdown-submenu.scss   |    65 -
 .../resources/ui/hive-web/app/styles/mixins.scss   |    28 -
 .../ui/hive-web/app/styles/notifications.scss      |    37 -
 .../ui/hive-web/app/styles/query-tabs.scss         |    73 -
 .../resources/ui/hive-web/app/styles/vars.scss     |    21 -
 .../resources/ui/hive-web/app/templates/.gitkeep   |     0
 .../ui/hive-web/app/templates/application.hbs      |    45 -
 .../ui/hive-web/app/templates/components/.gitkeep  |     0
 .../templates/components/alert-message-widget.hbs  |    28 -
 .../templates/components/collapsible-widget.hbs    |    33 -
 .../templates/components/column-filter-widget.hbs  |    42 -
 .../app/templates/components/date-range-widget.hbs |    22 -
 .../app/templates/components/expander-widget.hbs   |    31 -
 .../app/templates/components/input-header.hbs      |    20 -
 .../app/templates/components/job-tr-view.hbs       |    49 -
 .../app/templates/components/modal-widget.hbs      |    35 -
 .../app/templates/components/navbar-widget.hbs     |    45 -
 .../app/templates/components/no-bubbling.hbs       |    19 -
 .../app/templates/components/notify-widget.hbs     |    21 -
 .../templates/components/number-range-widget.hbs   |    23 -
 .../app/templates/components/panel-widget.hbs      |    54 -
 .../app/templates/components/popover-widget.hbs    |    19 -
 .../app/templates/components/progress-widget.hbs   |    23 -
 .../app/templates/components/query-editor.hbs      |    19 -
 .../app/templates/components/query-settings.hbs    |    70 -
 .../app/templates/components/select-widget.hbs     |    39 -
 .../app/templates/components/tabs-widget.hbs       |    41 -
 .../app/templates/components/tree-view.hbs         |    28 -
 .../app/templates/components/udf-tr-view.hbs       |    77 -
 .../templates/components/validated-text-field.hbs  |    23 -
 .../components/visualization-tabs-widget.hbs       |    27 -
 .../app/templates/databases-search-results.hbs     |    54 -
 .../ui/hive-web/app/templates/databases-tree.hbs   |    50 -
 .../ui/hive-web/app/templates/databases.hbs        |    54 -
 .../ui/hive-web/app/templates/history.hbs          |    67 -
 .../resources/ui/hive-web/app/templates/index.hbs  |   124 -
 .../app/templates/index/history-query/explain.hbs  |    27 -
 .../app/templates/index/history-query/logs.hbs     |    19 -
 .../app/templates/index/history-query/results.hbs  |    56 -
 .../ui/hive-web/app/templates/insert-udfs.hbs      |    46 -
 .../ui/hive-web/app/templates/loading.hbs          |    19 -
 .../resources/ui/hive-web/app/templates/logs.hbs   |    19 -
 .../ui/hive-web/app/templates/message.hbs          |    36 -
 .../ui/hive-web/app/templates/messages.hbs         |    32 -
 .../ui/hive-web/app/templates/modal-delete.hbs     |    21 -
 .../ui/hive-web/app/templates/modal-save-query.hbs |    24 -
 .../ui/hive-web/app/templates/modal-save.hbs       |    21 -
 .../ui/hive-web/app/templates/notification.hbs     |    23 -
 .../ui/hive-web/app/templates/open-queries.hbs     |    27 -
 .../ui/hive-web/app/templates/queries.hbs          |    96 -
 .../ui/hive-web/app/templates/query-tabs.hbs       |    28 -
 .../ui/hive-web/app/templates/redirect.hbs         |    19 -
 .../resources/ui/hive-web/app/templates/splash.hbs |   127 -
 .../resources/ui/hive-web/app/templates/tez-ui.hbs |    31 -
 .../resources/ui/hive-web/app/templates/udfs.hbs   |    53 -
 .../ui/hive-web/app/templates/upload-table.hbs     |   296 -
 .../ui/hive-web/app/templates/visual-explain.hbs   |    93 -
 .../ui/hive-web/app/templates/visualization-ui.hbs |    37 -
 .../resources/ui/hive-web/app/transforms/date.js   |    49 -
 .../resources/ui/hive-web/app/utils/constants.js   |   231 -
 .../resources/ui/hive-web/app/utils/dag-rules.js   |   141 -
 .../resources/ui/hive-web/app/utils/functions.js   |   139 -
 .../main/resources/ui/hive-web/app/views/.gitkeep  |     0
 .../main/resources/ui/hive-web/app/views/index.js  |    28 -
 .../resources/ui/hive-web/app/views/message.js     |    36 -
 .../resources/ui/hive-web/app/views/messages.js    |    37 -
 .../ui/hive-web/app/views/notification.js          |    51 -
 .../main/resources/ui/hive-web/app/views/tez-ui.js |    37 -
 .../ui/hive-web/app/views/visual-explain.js        |   461 -
 .../ui/hive-web/app/views/visualization-ui.js      |    37 -
 .../src/main/resources/ui/hive-web/big_tables.js   |    54 -
 .../src/main/resources/ui/hive-web/bower.json      |    29 -
 .../resources/ui/hive-web/config/environment.js    |    70 -
 .../src/main/resources/ui/hive-web/package.json    |    48 -
 .../src/main/resources/ui/hive-web/testem.json     |    10 -
 .../src/main/resources/ui/hive-web/tests/.jshintrc |    74 -
 .../resources/ui/hive-web/tests/blanket-options.js |    36 -
 .../ui/hive-web/tests/helpers/api-mock.js          |   304 -
 .../resources/ui/hive-web/tests/helpers/dbclick.js |    26 -
 .../ui/hive-web/tests/helpers/resolver.js          |    29 -
 .../ui/hive-web/tests/helpers/start-app.js         |    43 -
 .../resources/ui/hive-web/tests/img/spinner.gif    |   Bin 11435 -> 0 bytes
 .../main/resources/ui/hive-web/tests/index.html    |    71 -
 .../ui/hive-web/tests/integration/database-test.js |   130 -
 .../ui/hive-web/tests/integration/history-test.js  |    95 -
 .../tests/integration/query-editor-test.js         |   126 -
 .../tests/integration/saved-queries-test.js        |   152 -
 .../ui/hive-web/tests/integration/tez-ui-test.js   |    49 -
 .../ui/hive-web/tests/integration/udfs-test.js     |   109 -
 .../resources/ui/hive-web/tests/test-helper.js     |    24 -
 .../main/resources/ui/hive-web/tests/unit/.gitkeep |     0
 .../ui/hive-web/tests/unit/adapters/application.js |    48 -
 .../ui/hive-web/tests/unit/adapters/file.js        |    39 -
 .../unit/components/alert-message-widget-test.js   |    91 -
 .../unit/components/collapsible-widget-test.js     |    46 -
 .../unit/components/column-filter-widget-test.js   |   138 -
 .../unit/components/date-range-widget-test.js      |   132 -
 .../tests/unit/components/expander-widget-test.js  |    59 -
 .../tests/unit/components/extended-input-test.js   |    81 -
 .../tests/unit/components/job-tr-view-test.js      |    62 -
 .../tests/unit/components/modal-widget-test.js     |    69 -
 .../tests/unit/components/no-bubbling-test.js      |    44 -
 .../unit/components/number-range-widget-test.js    |    70 -
 .../tests/unit/components/popover-widget-test.js   |    36 -
 .../tests/unit/components/progress-widget-test.js  |    40 -
 .../tests/unit/components/query-editor-test.js     |    52 -
 .../tests/unit/components/query-settings-test.js   |   136 -
 .../tests/unit/components/select-widget-test.js    |   158 -
 .../tests/unit/components/tabs-wiget-test.js       |   117 -
 .../tests/unit/components/typeahead-widget-test.js |    46 -
 .../tests/unit/components/udf-tr-view-test.js      |   122 -
 .../tests/unit/controllers/databases-test.js       |   276 -
 .../tests/unit/controllers/history-test.js         |   117 -
 .../hive-web/tests/unit/controllers/index-test.js  |   328 -
 .../tests/unit/controllers/insert-udfs-test.js     |    68 -
 .../tests/unit/controllers/open-queries-test.js    |   102 -
 .../tests/unit/controllers/queries-test.js         |    35 -
 .../hive-web/tests/unit/controllers/tez-ui-test.js |    98 -
 .../hive-web/tests/unit/controllers/udfs-test.js   |    82 -
 .../tests/unit/helpers/path-binding-test.js        |    35 -
 .../ui/hive-web/tests/unit/routes/messages-test.js |    53 -
 .../ui/hive-web/tests/unit/routes/tez-ui-test.js   |    49 -
 .../tests/unit/routes/visual-explain-test.js       |   106 -
 .../ui/hive-web/tests/unit/services/notify-test.js |   155 -
 .../hive-web/tests/unit/services/settings-test.js  |   155 -
 .../src/main/resources/ui/hive-web/vendor/.gitkeep |     0
 .../ui/hive-web/vendor/browser-pollyfills.js       |   213 -
 .../hive-web/vendor/codemirror/codemirror-min.js   |    17 -
 .../ui/hive-web/vendor/codemirror/codemirror.css   |   309 -
 .../ui/hive-web/vendor/codemirror/show-hint.css    |    38 -
 .../ui/hive-web/vendor/codemirror/show-hint.js     |   389 -
 .../ui/hive-web/vendor/codemirror/sql-hint.js      |   192 -
 .../main/resources/ui/hive-web/vendor/dagre.min.js |    27 -
 .../src/main/resources/ui/hive-web/yarn.lock       |  5066 --
 .../src/main/resources/view.log4j.properties       |    27 -
 .../views/hive-next/src/main/resources/view.xml    |   354 -
 .../ambari/view/hive2/AsyncJobRunnerImplTest.java  |   140 -
 .../ambari/view/hive2/ConnectionFailuresTest.java  |   157 -
 .../view/hive2/HiveJdbcConnectionDelegateTest.java |   105 -
 .../apache/ambari/view/hive2/JobExecutionTest.java |   116 -
 .../ambari/view/hive2/PropertyValidatorTest.java   |   113 -
 .../ambari/view/hive2/ResultSetIteratorTest.java   |   100 -
 .../view/hive2/resources/upload/CSVParserTest.java |   275 -
 .../hive2/resources/upload/DataParserCSVTest.java  |   326 -
 .../hive2/resources/upload/DataParserJSONTest.java |   263 -
 .../hive2/resources/upload/DataParserXMLTest.java  |   295 -
 .../hive2/resources/upload/JsonParserTest.java     |   146 -
 .../hive2/resources/upload/OpenCSVParserTest.java  |   313 -
 .../view/hive2/resources/upload/OpenCSVTest.java   |   245 -
 .../hive2/resources/upload/ParseUtilsTest.java     |    56 -
 .../hive2/resources/upload/QueryGeneratorTest.java |   108 -
 .../resources/upload/TableDataReaderTest.java      |   127 -
 .../view/hive2/resources/upload/XMLParserTest.java |   135 -
 contrib/views/hive20/pom.xml                       |   428 -
 .../org/apache/ambari/view/hive20/AuthParams.java  |   104 -
 .../org/apache/ambari/view/hive20/BaseService.java |    59 -
 .../ambari/view/hive20/ConnectionDelegate.java     |    41 -
 .../ambari/view/hive20/ConnectionFactory.java      |   167 -
 .../ambari/view/hive20/ConnectionSystem.java       |   135 -
 .../org/apache/ambari/view/hive20/Constants.java   |    25 -
 .../apache/ambari/view/hive20/DataMigrator.java    |   102 -
 .../org/apache/ambari/view/hive20/HelpService.java |   132 -
 .../view/hive20/HiveJdbcConnectionDelegate.java    |   112 -
 .../apache/ambari/view/hive20/HiveViewImpl.java    |    57 -
 .../ambari/view/hive20/PropertyValidator.java      |   107 -
 .../org/apache/ambari/view/hive20/TestBean.java    |    36 -
 .../ambari/view/hive20/actor/DeathWatch.java       |    55 -
 .../apache/ambari/view/hive20/actor/HiveActor.java |    46 -
 .../ambari/view/hive20/actor/JdbcConnector.java    |   696 -
 .../ambari/view/hive20/actor/LogAggregator.java    |   125 -
 .../view/hive20/actor/OperationController.java     |   408 -
 .../view/hive20/actor/ResultSetIterator.java       |   166 -
 .../view/hive20/actor/StatementExecutor.java       |   169 -
 .../view/hive20/actor/YarnAtsGUIDFetcher.java      |    71 -
 .../ambari/view/hive20/actor/message/Connect.java  |    77 -
 .../view/hive20/actor/message/CursorReset.java     |    22 -
 .../view/hive20/actor/message/ExecuteJob.java      |    38 -
 .../view/hive20/actor/message/ExecuteQuery.java    |    23 -
 .../view/hive20/actor/message/FetchError.java      |    42 -
 .../view/hive20/actor/message/FetchResult.java     |    42 -
 .../hive20/actor/message/GetColumnMetadataJob.java |    59 -
 .../actor/message/GetDatabaseMetadataJob.java      |    24 -
 .../view/hive20/actor/message/GetMoreLogs.java     |    22 -
 .../ambari/view/hive20/actor/message/HiveJob.java  |    48 -
 .../view/hive20/actor/message/HiveMessage.java     |    53 -
 .../view/hive20/actor/message/JobRejected.java     |    44 -
 .../view/hive20/actor/message/JobSubmitted.java    |    38 -
 .../actor/message/LogAggregationFinished.java      |    21 -
 .../view/hive20/actor/message/RegisterActor.java   |    34 -
 .../view/hive20/actor/message/ResetCursor.java     |    22 -
 .../hive20/actor/message/ResultInformation.java    |   102 -
 .../view/hive20/actor/message/ResultNotReady.java  |    40 -
 .../view/hive20/actor/message/ResultReady.java     |    44 -
 .../view/hive20/actor/message/RunStatement.java    |    73 -
 .../view/hive20/actor/message/SQLStatementJob.java |    64 -
 .../hive20/actor/message/StartLogAggregation.java  |    42 -
 .../actor/message/job/AsyncExecutionFailed.java    |    46 -
 .../actor/message/job/AuthenticationFailed.java    |    27 -
 .../view/hive20/actor/message/job/CancelJob.java   |    40 -
 .../actor/message/job/ExecuteNextStatement.java    |    22 -
 .../hive20/actor/message/job/ExecutionFailed.java  |    31 -
 .../view/hive20/actor/message/job/Failure.java     |    37 -
 .../view/hive20/actor/message/job/FetchFailed.java |    31 -
 .../ambari/view/hive20/actor/message/job/Next.java |    22 -
 .../view/hive20/actor/message/job/NoMoreItems.java |    35 -
 .../view/hive20/actor/message/job/NoResult.java    |    21 -
 .../view/hive20/actor/message/job/Result.java      |    58 -
 .../hive20/actor/message/job/ResultSetHolder.java  |    33 -
 .../actor/message/job/SaveDagInformation.java      |    52 -
 .../hive20/actor/message/job/SaveGuidToDB.java     |    46 -
 .../actor/message/job/UpdateYarnAtsGuid.java       |    44 -
 .../hive20/actor/message/lifecycle/CleanUp.java    |    21 -
 .../actor/message/lifecycle/DestroyConnector.java  |    52 -
 .../actor/message/lifecycle/FreeConnector.java     |    53 -
 .../actor/message/lifecycle/InactivityCheck.java   |    21 -
 .../hive20/actor/message/lifecycle/KeepAlive.java  |    21 -
 .../lifecycle/TerminateInactivityCheck.java        |    21 -
 .../backgroundjobs/BackgroundJobController.java    |   115 -
 .../backgroundjobs/BackgroundJobException.java     |    30 -
 .../ambari/view/hive20/client/AsyncJobRunner.java  |    38 -
 .../view/hive20/client/AsyncJobRunnerImpl.java     |   143 -
 .../view/hive20/client/ColumnDescription.java      |    45 -
 .../hive20/client/ColumnDescriptionExtended.java   |    74 -
 .../view/hive20/client/ColumnDescriptionShort.java |    53 -
 .../view/hive20/client/ConnectionConfig.java       |    59 -
 .../apache/ambari/view/hive20/client/Cursor.java   |    30 -
 .../ambari/view/hive20/client/DDLDelegator.java    |    46 -
 .../view/hive20/client/DDLDelegatorImpl.java       |   313 -
 .../hive20/client/DatabaseMetadataWrapper.java     |    37 -
 .../ambari/view/hive20/client/EmptyCursor.java     |   110 -
 .../view/hive20/client/HiveAuthCredentials.java    |    31 -
 .../hive20/client/HiveAuthRequiredException.java   |    27 -
 .../client/HiveClientAuthRequiredException.java    |    25 -
 .../view/hive20/client/HiveClientException.java    |    25 -
 .../hive20/client/HiveClientRuntimeException.java  |    25 -
 .../view/hive20/client/NonPersistentCursor.java    |   156 -
 .../view/hive20/client/PersistentCursor.java       |    87 -
 .../org/apache/ambari/view/hive20/client/Row.java  |    74 -
 .../hive20/exceptions/NotConnectedException.java   |    28 -
 .../view/hive20/exceptions/ServiceException.java   |    40 -
 .../hive20/internal/AsyncExecutionFailure.java     |    23 -
 .../hive20/internal/AsyncExecutionSuccess.java     |    25 -
 .../ambari/view/hive20/internal/Connectable.java   |    65 -
 .../view/hive20/internal/ConnectionException.java  |    25 -
 .../view/hive20/internal/ConnectionProperties.java |    94 -
 .../view/hive20/internal/ConnectionSupplier.java   |    37 -
 .../view/hive20/internal/ContextSupplier.java      |    37 -
 .../view/hive20/internal/DataStorageSupplier.java  |    42 -
 .../view/hive20/internal/DefaultSupplier.java      |    60 -
 .../apache/ambari/view/hive20/internal/Either.java |    79 -
 .../view/hive20/internal/HdfsApiSupplier.java      |    71 -
 .../hive20/internal/HiveConnectionWrapper.java     |   152 -
 .../ambari/view/hive20/internal/HiveQuery.java     |    71 -
 .../ambari/view/hive20/internal/HiveResult.java    |   160 -
 .../ambari/view/hive20/internal/HiveTask.java      |    53 -
 .../view/hive20/internal/HiveTaskMessage.java      |   118 -
 .../view/hive20/internal/SafeViewContext.java      |   179 -
 .../view/hive20/internal/dto/ColumnInfo.java       |   123 -
 .../view/hive20/internal/dto/ColumnOrder.java      |    54 -
 .../view/hive20/internal/dto/ColumnStats.java      |   175 -
 .../view/hive20/internal/dto/DatabaseInfo.java     |    85 -
 .../view/hive20/internal/dto/DatabaseResponse.java |    71 -
 .../hive20/internal/dto/DetailedTableInfo.java     |   124 -
 .../ambari/view/hive20/internal/dto/Order.java     |    37 -
 .../view/hive20/internal/dto/PartitionInfo.java    |    44 -
 .../ambari/view/hive20/internal/dto/Section.java   |    46 -
 .../view/hive20/internal/dto/StorageInfo.java      |   124 -
 .../ambari/view/hive20/internal/dto/TableInfo.java |    69 -
 .../ambari/view/hive20/internal/dto/TableMeta.java |   134 -
 .../view/hive20/internal/dto/TableResponse.java    |    53 -
 .../view/hive20/internal/dto/TableStats.java       |   111 -
 .../ambari/view/hive20/internal/dto/ViewInfo.java  |    52 -
 .../internal/parsers/AbstractTableMetaParser.java  |   177 -
 .../hive20/internal/parsers/ColumnInfoParser.java  |    97 -
 .../parsers/CreateTableStatementParser.java        |    38 -
 .../parsers/DatabaseMetadataExtractor.java         |    46 -
 .../internal/parsers/DetailedTableInfoParser.java  |    71 -
 .../view/hive20/internal/parsers/ParserUtils.java  |    52 -
 .../internal/parsers/PartitionInfoParser.java      |    76 -
 .../hive20/internal/parsers/StorageInfoParser.java |   100 -
 .../hive20/internal/parsers/TableMetaParser.java   |    31 -
 .../internal/parsers/TableMetaParserImpl.java      |   129 -
 .../internal/parsers/TableMetaSectionParser.java   |    30 -
 .../hive20/internal/parsers/ViewInfoParser.java    |    47 -
 .../query/generators/AlterTableQueryGenerator.java |   375 -
 .../generators/AnalyzeTableQueryGenerator.java     |    78 -
 .../generators/CreateDatabaseQueryGenerator.java   |    44 -
 .../generators/CreateTableQueryGenerator.java      |   168 -
 .../generators/DeleteDatabaseQueryGenerator.java   |    48 -
 .../generators/DeleteTableQueryGenerator.java      |    67 -
 .../generators/FetchColumnStatsQueryGenerator.java |    40 -
 .../query/generators/InsertFromQueryGenerator.java |   106 -
 .../query/generators/QueryGenerationUtils.java     |   154 -
 .../internal/query/generators/QueryGenerator.java  |    26 -
 .../generators/RenameTableQueryGenerator.java      |    85 -
 .../view/hive20/persistence/DataStoreStorage.java  |   140 -
 .../view/hive20/persistence/IStorageFactory.java   |    23 -
 .../persistence/InstanceKeyValueStorage.java       |   132 -
 .../view/hive20/persistence/KeyValueStorage.java   |   163 -
 .../hive20/persistence/LocalKeyValueStorage.java   |    69 -
 .../persistence/PersistentConfiguration.java       |    52 -
 .../ambari/view/hive20/persistence/Storage.java    |    77 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../persistence/utils/FilteringStrategy.java       |    32 -
 .../view/hive20/persistence/utils/Indexed.java     |    36 -
 .../hive20/persistence/utils/ItemNotFound.java     |    43 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    38 -
 .../view/hive20/persistence/utils/Owned.java       |    36 -
 .../hive20/persistence/utils/PersonalResource.java |    22 -
 .../hive20/persistence/utils/StorageFactory.java   |    69 -
 .../view/hive20/resources/CRUDResourceManager.java |   131 -
 .../view/hive20/resources/IResourceManager.java    |    37 -
 .../resources/PersonalCRUDResourceManager.java     |    99 -
 .../resources/SharedCRUDResourceManager.java       |    44 -
 .../resources/browser/ConnectionService.java       |   166 -
 .../view/hive20/resources/browser/DDLProxy.java    |   500 -
 .../view/hive20/resources/browser/DDLService.java  |   359 -
 .../view/hive20/resources/browser/FileService.java |    45 -
 .../view/hive20/resources/files/FileResource.java  |    70 -
 .../view/hive20/resources/files/FileService.java   |   282 -
 .../view/hive20/resources/jobs/Aggregator.java     |   382 -
 .../hive20/resources/jobs/JobResourceProvider.java |   117 -
 .../view/hive20/resources/jobs/JobService.java     |   596 -
 .../hive20/resources/jobs/JobServiceInternal.java  |    35 -
 .../resources/jobs/ModifyNotificationDelegate.java |    23 -
 .../jobs/ModifyNotificationInvocationHandler.java  |    40 -
 .../jobs/NoOperationStatusSetException.java        |    23 -
 .../hive20/resources/jobs/ProgressRetriever.java   |    66 -
 .../jobs/ResultsPaginationController.java          |   423 -
 .../hive20/resources/jobs/atsJobs/ATSParser.java   |   248 -
 .../resources/jobs/atsJobs/ATSParserFactory.java   |    42 -
 .../jobs/atsJobs/ATSRequestsDelegate.java          |    47 -
 .../jobs/atsJobs/ATSRequestsDelegateImpl.java      |   175 -
 .../hive20/resources/jobs/atsJobs/HiveQueryId.java |    42 -
 .../hive20/resources/jobs/atsJobs/IATSParser.java  |    39 -
 .../hive20/resources/jobs/atsJobs/TezDagId.java    |    26 -
 .../hive20/resources/jobs/atsJobs/TezVertexId.java |    24 -
 .../view/hive20/resources/jobs/rm/RMParser.java    |   129 -
 .../hive20/resources/jobs/rm/RMParserFactory.java  |    48 -
 .../resources/jobs/rm/RMRequestsDelegate.java      |    31 -
 .../resources/jobs/rm/RMRequestsDelegateImpl.java  |    99 -
 .../jobs/viewJobs/IJobControllerFactory.java       |    23 -
 .../view/hive20/resources/jobs/viewJobs/Job.java   |   131 -
 .../resources/jobs/viewJobs/JobController.java     |    44 -
 .../jobs/viewJobs/JobControllerFactory.java        |    40 -
 .../resources/jobs/viewJobs/JobControllerImpl.java |   328 -
 .../hive20/resources/jobs/viewJobs/JobImpl.java    |   339 -
 .../hive20/resources/jobs/viewJobs/JobInfo.java    |    78 -
 .../jobs/viewJobs/JobResourceManager.java          |    93 -
 .../resources/resources/FileResourceItem.java      |    78 -
 .../resources/FileResourceResourceManager.java     |    65 -
 .../resources/FileResourceResourceProvider.java    |   110 -
 .../resources/resources/FileResourceService.java   |   180 -
 .../hive20/resources/savedQueries/SavedQuery.java  |    96 -
 .../savedQueries/SavedQueryResourceManager.java    |   141 -
 .../savedQueries/SavedQueryResourceProvider.java   |   113 -
 .../resources/savedQueries/SavedQueryService.java  |   267 -
 .../view/hive20/resources/settings/Setting.java    |    71 -
 .../settings/SettingsResourceManager.java          |    97 -
 .../hive20/resources/settings/SettingsService.java |   145 -
 .../view/hive20/resources/system/ServiceCheck.java |   133 -
 .../hive20/resources/system/SystemService.java     |    77 -
 .../resources/system/ranger/RangerException.java   |    56 -
 .../resources/system/ranger/RangerService.java     |   379 -
 .../ambari/view/hive20/resources/udfs/UDF.java     |    87 -
 .../hive20/resources/udfs/UDFResourceManager.java  |    65 -
 .../hive20/resources/udfs/UDFResourceProvider.java |   111 -
 .../view/hive20/resources/udfs/UDFService.java     |   193 -
 .../view/hive20/resources/uploads/CSVParams.java   |    74 -
 .../resources/uploads/ColumnDescriptionImpl.java   |   119 -
 .../hive20/resources/uploads/HiveFileType.java     |    30 -
 .../hive20/resources/uploads/TableDataReader.java  |   112 -
 .../resources/uploads/UploadFromHdfsInput.java     |   132 -
 .../hive20/resources/uploads/UploadService.java    |   571 -
 .../resources/uploads/parsers/DataParser.java      |    66 -
 .../uploads/parsers/EndOfDocumentException.java    |    41 -
 .../hive20/resources/uploads/parsers/IParser.java  |    32 -
 .../resources/uploads/parsers/ParseOptions.java    |    61 -
 .../resources/uploads/parsers/ParseUtils.java      |   213 -
 .../hive20/resources/uploads/parsers/Parser.java   |   162 -
 .../resources/uploads/parsers/PreviewData.java     |    65 -
 .../resources/uploads/parsers/RowIterator.java     |    98 -
 .../resources/uploads/parsers/RowMapIterator.java  |    29 -
 .../parsers/csv/commonscsv/CSVIterator.java        |    57 -
 .../uploads/parsers/csv/commonscsv/CSVParser.java  |    88 -
 .../parsers/csv/opencsv/OpenCSVIterator.java       |    56 -
 .../uploads/parsers/csv/opencsv/OpenCSVParser.java |    92 -
 .../uploads/parsers/json/JSONIterator.java         |   160 -
 .../resources/uploads/parsers/json/JSONParser.java |    85 -
 .../resources/uploads/parsers/xml/XMLIterator.java |   195 -
 .../resources/uploads/parsers/xml/XMLParser.java   |   102 -
 .../resources/uploads/query/DeleteQueryInput.java  |    48 -
 .../uploads/query/InsertFromQueryInput.java        |   115 -
 .../resources/uploads/query/LoadQueryInput.java    |    67 -
 .../view/hive20/utils/AuthorizationChecker.java    |    74 -
 .../hive20/utils/BadRequestFormattedException.java |    27 -
 .../ambari/view/hive20/utils/FilePaginator.java    |   127 -
 .../view/hive20/utils/HiveActorConfiguration.java  |    71 -
 .../hive20/utils/HiveClientFormattedException.java |    26 -
 .../view/hive20/utils/LoggingOutputStream.java     |    85 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../hive20/utils/NotFoundFormattedException.java   |    27 -
 .../utils/ResultFetchFormattedException.java       |    27 -
 .../utils/ResultNotReadyFormattedException.java    |    27 -
 .../hive20/utils/ServiceFormattedException.java    |   105 -
 .../view/hive20/utils/SharedObjectsFactory.java    |   197 -
 .../utils/UniqueConstraintViolationException.java  |    31 -
 .../hive20/src/main/resources/application.conf     |    57 -
 .../views/hive20/src/main/resources/ui/.bowerrc    |     4 -
 .../hive20/src/main/resources/ui/.editorconfig     |    20 -
 .../views/hive20/src/main/resources/ui/.ember-cli  |    27 -
 .../views/hive20/src/main/resources/ui/.gitignore  |    18 -
 .../views/hive20/src/main/resources/ui/.jshintrc   |    34 -
 .../views/hive20/src/main/resources/ui/.travis.yml |    40 -
 .../hive20/src/main/resources/ui/.watchmanconfig   |    21 -
 .../views/hive20/src/main/resources/ui/README.md   |    28 -
 .../main/resources/ui/app/adapters/application.js  |    92 -
 .../src/main/resources/ui/app/adapters/auth.js     |    27 -
 .../src/main/resources/ui/app/adapters/database.js |    34 -
 .../src/main/resources/ui/app/adapters/ddl.js      |    26 -
 .../resources/ui/app/adapters/file-resource.js     |    25 -
 .../resources/ui/app/adapters/file-uploader.js     |    28 -
 .../main/resources/ui/app/adapters/hdfs-viewer.js  |    27 -
 .../src/main/resources/ui/app/adapters/job.js      |    80 -
 .../src/main/resources/ui/app/adapters/query.js    |    54 -
 .../src/main/resources/ui/app/adapters/ranger.js   |    27 -
 .../main/resources/ui/app/adapters/saved-query.js  |    25 -
 .../resources/ui/app/adapters/service-check.js     |    47 -
 .../main/resources/ui/app/adapters/table-info.js   |    37 -
 .../src/main/resources/ui/app/adapters/table.js    |    83 -
 .../src/main/resources/ui/app/adapters/udf.js      |    31 -
 .../main/resources/ui/app/adapters/upload-table.js |    93 -
 .../views/hive20/src/main/resources/ui/app/app.js  |    36 -
 .../src/main/resources/ui/app/breakpoints.js       |    23 -
 .../src/main/resources/ui/app/components/.gitkeep  |     0
 .../ui/app/components/alert-message-display.js     |    45 -
 .../resources/ui/app/components/alert-message.js   |    32 -
 .../resources/ui/app/components/column-item.js     |    72 -
 .../resources/ui/app/components/confirm-dialog.js  |    46 -
 .../ui/app/components/create-database-form.js      |    59 -
 .../resources/ui/app/components/create-table.js    |   180 -
 .../ui/app/components/csv-format-params.js         |    76 -
 .../ui/app/components/database-search-bar.js       |    78 -
 .../ui/app/components/edit-setting-item.js         |   111 -
 .../main/resources/ui/app/components/edit-table.js |   220 -
 .../resources/ui/app/components/export-result.js   |    54 -
 .../ui/app/components/fileresource-item.js         |    70 -
 .../ui/app/components/hdfs-viewer-modal.js         |    51 -
 .../resources/ui/app/components/info-dialog.js     |    38 -
 .../main/resources/ui/app/components/job-item.js   |    91 -
 .../resources/ui/app/components/jobs-browser.js    |   101 -
 .../resources/ui/app/components/list-filter.js     |    48 -
 .../main/resources/ui/app/components/list-group.js |    23 -
 .../main/resources/ui/app/components/list-item.js  |    29 -
 .../app/components/multiple-database-search-bar.js |   117 -
 .../ui/app/components/notification-message.js      |    30 -
 .../resources/ui/app/components/property-item.js   |    44 -
 .../resources/ui/app/components/query-editor.js    |   112 -
 .../ui/app/components/query-result-log.js          |    28 -
 .../ui/app/components/query-result-table.js        |   150 -
 .../resources/ui/app/components/radio-button.js    |    39 -
 .../ui/app/components/service-check-entry.js       |    50 -
 .../resources/ui/app/components/setting-item.js    |    32 -
 .../resources/ui/app/components/setting-list.js    |    37 -
 .../resources/ui/app/components/simple-table.js    |    22 -
 .../ui/app/components/table-advanced-settings.js   |   177 -
 .../resources/ui/app/components/table-columns.js   |    53 -
 .../ui/app/components/table-properties.js          |    40 -
 .../ui/app/components/table-rename-form.js         |    63 -
 .../ui/app/components/table-statistics.js          |   172 -
 .../main/resources/ui/app/components/tabs-item.js  |    43 -
 .../main/resources/ui/app/components/tabs-pane.js  |    27 -
 .../ui/app/components/top-application-bar.js       |    24 -
 .../main/resources/ui/app/components/udf-edit.js   |    40 -
 .../main/resources/ui/app/components/udf-item.js   |   212 -
 .../main/resources/ui/app/components/udf-new.js    |    41 -
 .../ui/app/components/upload-table-source.js       |    48 -
 .../resources/ui/app/components/upload-table.js    |    61 -
 .../ui/app/components/validated-text-field.js      |    62 -
 .../ui/app/components/visual-explain-detail.js     |    31 -
 .../resources/ui/app/components/visual-explain.js  |    85 -
 .../resources/ui/app/configs/create-table-tabs.js  |    48 -
 .../src/main/resources/ui/app/configs/datatypes.js |    34 -
 .../resources/ui/app/configs/edit-table-tabs.js    |    48 -
 .../main/resources/ui/app/configs/file-format.js   |    28 -
 .../src/main/resources/ui/app/configs/helpers.js   |   163 -
 .../resources/ui/app/configs/hive-parameters.js    |    93 -
 .../ui/app/configs/non-printable-escape-chars.js   |    53 -
 .../main/resources/ui/app/configs/result-tabs.js   |    48 -
 .../ui/app/configs/service-check-status.js         |    19 -
 .../resources/ui/app/configs/table-level-tabs.js   |    72 -
 .../resources/ui/app/configs/top-level-tabs.js     |    67 -
 .../src/main/resources/ui/app/controllers/.gitkeep |     0
 .../resources/ui/app/controllers/application.js    |    31 -
 .../src/main/resources/ui/app/controllers/jobs.js  |    38 -
 .../main/resources/ui/app/controllers/messages.js  |    30 -
 .../main/resources/ui/app/controllers/password.js  |    44 -
 .../main/resources/ui/app/controllers/queries.js   |    22 -
 .../resources/ui/app/controllers/saved-query.js    |    22 -
 .../resources/ui/app/controllers/savedqueries.js   |    24 -
 .../resources/ui/app/controllers/service-check.js  |    57 -
 .../src/main/resources/ui/app/controllers/udfs.js  |    24 -
 .../main/resources/ui/app/controllers/udfs/new.js  |    23 -
 .../src/main/resources/ui/app/helpers/.gitkeep     |     0
 .../ui/app/helpers/alert-message-context-class.js  |    27 -
 .../ui/app/helpers/alert-message-icon-class.js     |    37 -
 .../main/resources/ui/app/helpers/extract-value.js |    27 -
 .../resources/ui/app/helpers/format-column-size.js |    39 -
 .../main/resources/ui/app/helpers/shorten-text.js  |    32 -
 .../src/main/resources/ui/app/helpers/to-json.js   |    25 -
 .../hive20/src/main/resources/ui/app/index.html    |    43 -
 .../main/resources/ui/app/initializers/.gitkeep    |     0
 .../resources/ui/app/initializers/responsive.js    |    33 -
 .../resources/ui/app/locales/en/translations.js    |   105 -
 .../src/main/resources/ui/app/mixins/ui-logger.js  |    42 -
 .../src/main/resources/ui/app/models/.gitkeep      |     0
 .../src/main/resources/ui/app/models/alert.js      |    28 -
 .../src/main/resources/ui/app/models/column.js     |   131 -
 .../src/main/resources/ui/app/models/database.js   |    25 -
 .../main/resources/ui/app/models/file-resource.js  |    25 -
 .../src/main/resources/ui/app/models/file.js       |    26 -
 .../hive20/src/main/resources/ui/app/models/job.js |    56 -
 .../main/resources/ui/app/models/saved-query.js    |    29 -
 .../src/main/resources/ui/app/models/setting.js    |    25 -
 .../src/main/resources/ui/app/models/table-info.js |    31 -
 .../main/resources/ui/app/models/table-property.js |    54 -
 .../src/main/resources/ui/app/models/table.js      |    26 -
 .../hive20/src/main/resources/ui/app/models/udf.js |    26 -
 .../src/main/resources/ui/app/models/worksheet.js  |    47 -
 .../hive20/src/main/resources/ui/app/resolver.js   |    21 -
 .../hive20/src/main/resources/ui/app/router.js     |    79 -
 .../src/main/resources/ui/app/routes/.gitkeep      |     0
 .../main/resources/ui/app/routes/application.js    |    54 -
 .../resources/ui/app/routes/databases-error.js     |    27 -
 .../src/main/resources/ui/app/routes/databases.js  |   162 -
 .../ui/app/routes/databases/database-error.js      |    27 -
 .../resources/ui/app/routes/databases/database.js  |    25 -
 .../ui/app/routes/databases/database/index.js      |    27 -
 .../app/routes/databases/database/tables-error.js  |    27 -
 .../ui/app/routes/databases/database/tables.js     |   109 -
 .../app/routes/databases/database/tables/index.js  |    28 -
 .../databases/database/tables/new-database.js      |    65 -
 .../ui/app/routes/databases/database/tables/new.js |   116 -
 .../databases/database/tables/table-error.js       |    27 -
 .../app/routes/databases/database/tables/table.js  |   121 -
 .../routes/databases/database/tables/table/auth.js |    27 -
 .../databases/database/tables/table/columns.js     |    33 -
 .../routes/databases/database/tables/table/ddl.js  |    22 -
 .../databases/database/tables/table/details.js     |    22 -
 .../routes/databases/database/tables/table/edit.js |    83 -
 .../databases/database/tables/table/index.js       |    25 -
 .../databases/database/tables/table/partitions.js  |    22 -
 .../databases/database/tables/table/rename.js      |    80 -
 .../databases/database/tables/table/stats.js       |    22 -
 .../databases/database/tables/table/storage.js     |    22 -
 .../database/tables/table/table-meta-router.js     |    27 -
 .../routes/databases/database/tables/table/view.js |    22 -
 .../databases/database/tables/upload-table.js      |   782 -
 .../resources/ui/app/routes/databases/index.js     |    27 -
 .../resources/ui/app/routes/databases/newtable.js  |    30 -
 .../src/main/resources/ui/app/routes/index.js      |    26 -
 .../src/main/resources/ui/app/routes/jobs.js       |    82 -
 .../src/main/resources/ui/app/routes/messages.js   |    32 -
 .../resources/ui/app/routes/messages/message.js    |    31 -
 .../src/main/resources/ui/app/routes/password.js   |    41 -
 .../src/main/resources/ui/app/routes/queries.js    |    31 -
 .../main/resources/ui/app/routes/queries/index.js  |    32 -
 .../main/resources/ui/app/routes/queries/new.js    |    49 -
 .../main/resources/ui/app/routes/queries/query.js  |   747 -
 .../ui/app/routes/queries/query/loading.js         |    24 -
 .../resources/ui/app/routes/queries/query/log.js   |   104 -
 .../ui/app/routes/queries/query/results.js         |   112 -
 .../ui/app/routes/queries/query/tez-ui.js          |    45 -
 .../ui/app/routes/queries/query/visual-explain.js  |    57 -
 .../main/resources/ui/app/routes/savedqueries.js   |   140 -
 .../main/resources/ui/app/routes/service-check.js  |    62 -
 .../src/main/resources/ui/app/routes/settings.js   |    98 -
 .../src/main/resources/ui/app/routes/udfs.js       |    78 -
 .../src/main/resources/ui/app/routes/udfs/new.js   |   201 -
 .../main/resources/ui/app/serializers/database.js  |    25 -
 .../src/main/resources/ui/app/serializers/file.js  |    23 -
 .../src/main/resources/ui/app/serializers/table.js |    22 -
 .../resources/ui/app/services/alert-messages.js    |   156 -
 .../main/resources/ui/app/services/auto-refresh.js |   149 -
 .../resources/ui/app/services/file-resource.js     |    33 -
 .../src/main/resources/ui/app/services/jobs.js     |   103 -
 .../main/resources/ui/app/services/ldap-auth.js    |    35 -
 .../src/main/resources/ui/app/services/query.js    |    72 -
 .../resources/ui/app/services/saved-queries.js     |    84 -
 .../resources/ui/app/services/service-check.js     |   169 -
 .../resources/ui/app/services/stats-service.js     |    63 -
 .../resources/ui/app/services/table-operations.js  |   250 -
 .../resources/ui/app/services/tez-view-info.js     |    92 -
 .../src/main/resources/ui/app/services/udf.js      |    65 -
 .../src/main/resources/ui/app/styles/app.scss      |  1024 -
 .../ui/app/styles/bootstrap-overrides.scss         |    81 -
 .../src/main/resources/ui/app/styles/fonts.scss    |    31 -
 .../ui/app/styles/power-select-overrides.scss      |    24 -
 .../resources/ui/app/templates/application.hbs     |    52 -
 .../resources/ui/app/templates/components/.gitkeep |     0
 .../templates/components/alert-message-display.hbs |    34 -
 .../ui/app/templates/components/alert-message.hbs  |    34 -
 .../ui/app/templates/components/column-item.hbs    |   127 -
 .../ui/app/templates/components/confirm-dialog.hbs |    39 -
 .../templates/components/create-database-form.hbs  |    31 -
 .../ui/app/templates/components/create-table.hbs   |    63 -
 .../app/templates/components/csv-format-params.hbs |   138 -
 .../templates/components/database-search-bar.hbs   |    57 -
 .../app/templates/components/edit-setting-item.hbs |    42 -
 .../ui/app/templates/components/edit-table.hbs     |    60 -
 .../ui/app/templates/components/export-result.hbs  |    46 -
 .../app/templates/components/fileresource-item.hbs |    32 -
 .../app/templates/components/hdfs-viewer-modal.hbs |    50 -
 .../ui/app/templates/components/info-dialog.hbs    |    38 -
 .../ui/app/templates/components/job-item.hbs       |    33 -
 .../ui/app/templates/components/jobs-browser.hbs   |   102 -
 .../ui/app/templates/components/list-filter.hbs    |    33 -
 .../ui/app/templates/components/list-group.hbs     |    22 -
 .../ui/app/templates/components/list-item.hbs      |    22 -
 .../components/multiple-database-search-bar.hbs    |    43 -
 .../templates/components/notification-message.hbs  |    48 -
 .../ui/app/templates/components/property-item.hbs  |    47 -
 .../ui/app/templates/components/query-editor.hbs   |    21 -
 .../app/templates/components/query-result-log.hbs  |    23 -
 .../templates/components/query-result-table.hbs    |   109 -
 .../ui/app/templates/components/radio-button.hbs   |    19 -
 .../templates/components/service-check-entry.hbs   |    47 -
 .../ui/app/templates/components/setting-item.hbs   |    28 -
 .../ui/app/templates/components/setting-list.hbs   |    41 -
 .../ui/app/templates/components/simple-table.hbs   |    42 -
 .../components/table-advanced-settings.hbs         |   221 -
 .../ui/app/templates/components/table-columns.hbs  |    44 -
 .../app/templates/components/table-properties.hbs  |    41 -
 .../app/templates/components/table-rename-form.hbs |    31 -
 .../app/templates/components/table-statistics.hbs  |   174 -
 .../ui/app/templates/components/tabs-item.hbs      |    24 -
 .../ui/app/templates/components/tabs-pane.hbs      |    21 -
 .../templates/components/top-application-bar.hbs   |    33 -
 .../ui/app/templates/components/udf-edit.hbs       |    85 -
 .../ui/app/templates/components/udf-item.hbs       |    74 -
 .../ui/app/templates/components/udf-new.hbs        |    78 -
 .../templates/components/upload-table-source.hbs   |   112 -
 .../ui/app/templates/components/upload-table.hbs   |    61 -
 .../templates/components/validated-text-field.hbs  |    23 -
 .../templates/components/visual-explain-detail.hbs |    32 -
 .../ui/app/templates/components/visual-explain.hbs |    42 -
 .../resources/ui/app/templates/databases-error.hbs |    19 -
 .../ui/app/templates/databases-loading.hbs         |    21 -
 .../main/resources/ui/app/templates/databases.hbs  |    72 -
 .../ui/app/templates/databases/database-error.hbs  |    19 -
 .../ui/app/templates/databases/database.hbs        |    19 -
 .../templates/databases/database/tables-error.hbs  |    19 -
 .../databases/database/tables-loading.hbs          |    24 -
 .../ui/app/templates/databases/database/tables.hbs |    46 -
 .../databases/database/tables/new-database.hbs     |    47 -
 .../templates/databases/database/tables/new.hbs    |    46 -
 .../databases/database/tables/table-error.hbs      |    19 -
 .../databases/database/tables/table-loading.hbs    |    21 -
 .../templates/databases/database/tables/table.hbs  |    76 -
 .../databases/database/tables/table/auth-error.hbs |    35 -
 .../database/tables/table/auth-loading.hbs         |    23 -
 .../databases/database/tables/table/auth.hbs       |    66 -
 .../databases/database/tables/table/columns.hbs    |    44 -
 .../databases/database/tables/table/ddl.hbs        |    21 -
 .../databases/database/tables/table/details.hbs    |    65 -
 .../databases/database/tables/table/edit.hbs       |    45 -
 .../databases/database/tables/table/partitions.hbs |    38 -
 .../databases/database/tables/table/rename.hbs     |    46 -
 .../databases/database/tables/table/stats.hbs      |    19 -
 .../databases/database/tables/table/storage.hbs    |    64 -
 .../databases/database/tables/table/view.hbs       |    40 -
 .../databases/database/tables/upload-table.hbs     |    45 -
 .../resources/ui/app/templates/jobs-loading.hbs    |    20 -
 .../src/main/resources/ui/app/templates/jobs.hbs   |    24 -
 .../main/resources/ui/app/templates/messages.hbs   |    50 -
 .../ui/app/templates/messages/message.hbs          |    19 -
 .../main/resources/ui/app/templates/password.hbs   |    48 -
 .../main/resources/ui/app/templates/queries.hbs    |    37 -
 .../resources/ui/app/templates/queries/query.hbs   |   172 -
 .../ui/app/templates/queries/query/loading.hbs     |    21 -
 .../ui/app/templates/queries/query/log.hbs         |    35 -
 .../ui/app/templates/queries/query/results.hbs     |    55 -
 .../ui/app/templates/queries/query/tez-ui.hbs      |    32 -
 .../app/templates/queries/query/visual-explain.hbs |    40 -
 .../ui/app/templates/savedqueries-loading.hbs      |    21 -
 .../resources/ui/app/templates/savedqueries.hbs    |   100 -
 .../resources/ui/app/templates/service-check.hbs   |    52 -
 .../ui/app/templates/settings-loading.hbs          |    21 -
 .../main/resources/ui/app/templates/settings.hbs   |    32 -
 .../src/main/resources/ui/app/templates/tables.hbs |    19 -
 .../resources/ui/app/templates/udfs-loading.hbs    |    21 -
 .../src/main/resources/ui/app/templates/udfs.hbs   |    78 -
 .../main/resources/ui/app/templates/udfs/new.hbs   |    30 -
 .../src/main/resources/ui/app/transforms/date.js   |    50 -
 .../src/main/resources/ui/app/utils/constants.js   |    64 -
 .../resources/ui/app/utils/hdfs-picker-config.js   |    32 -
 .../ui/app/utils/hive-explainer/enhancer.js        |    37 -
 .../ui/app/utils/hive-explainer/fallback.js        |    33 -
 .../resources/ui/app/utils/hive-explainer/index.js |    32 -
 .../ui/app/utils/hive-explainer/processor.js       |   425 -
 .../ui/app/utils/hive-explainer/renderer-force.js  |   326 -
 .../ui/app/utils/hive-explainer/renderer.js        |   589 -
 .../ui/app/utils/hive-explainer/transformer.js     |   569 -
 .../views/hive20/src/main/resources/ui/bower.json  |    15 -
 .../src/main/resources/ui/config/environment.js    |    78 -
 .../src/main/resources/ui/ember-cli-build.js       |    74 -
 .../hive20/src/main/resources/ui/package.json      |    67 -
 .../public/fonts/roboto/roboto-v15-latin-300.eot   |   Bin 16205 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.svg   |   314 -
 .../public/fonts/roboto/roboto-v15-latin-300.ttf   |   Bin 32664 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.woff  |   Bin 18520 -> 0 bytes
 .../public/fonts/roboto/roboto-v15-latin-300.woff2 |   Bin 14524 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.eot      |   Bin 16227 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.svg      |   308 -
 .../fonts/roboto/roboto-v15-latin-regular.ttf      |   Bin 32652 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.woff     |   Bin 18520 -> 0 bytes
 .../fonts/roboto/roboto-v15-latin-regular.woff2    |   Bin 14584 -> 0 bytes
 .../views/hive20/src/main/resources/ui/testem.js   |    31 -
 .../hive20/src/main/resources/ui/tests/.jshintrc   |    53 -
 .../main/resources/ui/tests/helpers/destroy-app.js |    23 -
 .../resources/ui/tests/helpers/flash-message.js    |    24 -
 .../ui/tests/helpers/module-for-acceptance.js      |    41 -
 .../main/resources/ui/tests/helpers/resolver.js    |    29 -
 .../main/resources/ui/tests/helpers/responsive.js  |    76 -
 .../main/resources/ui/tests/helpers/start-app.js   |    36 -
 .../hive20/src/main/resources/ui/tests/index.html  |    51 -
 .../main/resources/ui/tests/integration/.gitkeep   |     0
 .../src/main/resources/ui/tests/test-helper.js     |    28 -
 .../src/main/resources/ui/tests/unit/.gitkeep      |     0
 .../hive20/src/main/resources/ui/vendor/.gitkeep   |     0
 .../main/resources/ui/vendor/browser-pollyfills.js |   213 -
 .../views/hive20/src/main/resources/ui/yarn.lock   |  6032 --
 .../src/main/resources/view.log4j.properties       |    27 -
 contrib/views/hive20/src/main/resources/view.xml   |   406 -
 .../ambari/view/hive20/AsyncJobRunnerImplTest.java |   138 -
 .../ambari/view/hive20/ConnectionFailuresTest.java |   157 -
 .../hive20/HiveJdbcConnectionDelegateTest.java     |   105 -
 .../ambari/view/hive20/JobExecutionTest.java       |   116 -
 .../ambari/view/hive20/PropertyValidatorTest.java  |   113 -
 .../ambari/view/hive20/ResultSetIteratorTest.java  |   100 -
 .../hive20/internal/parsers/ParserUtilsTest.java   |    66 -
 .../generators/AlterTableQueryGeneratorTest.java   |   235 -
 .../AnalyzeTableQueryGeneratorSpecTest.groovy      |   196 -
 .../generators/CreateTableQueryGeneratorTest.java  |   110 -
 .../DeleteDatabaseQueryGeneratorSpecTest.groovy    |    65 -
 .../InsertFromQueryGeneratorSpecTest.groovy        |    69 -
 .../RenameTableQueryGeneratorSpecTest.groovy       |   104 -
 .../hive20/resources/upload/CSVParserTest.java     |   275 -
 .../hive20/resources/upload/DataParserCSVTest.java |   327 -
 .../resources/upload/DataParserJSONTest.java       |   264 -
 .../hive20/resources/upload/DataParserXMLTest.java |   295 -
 .../hive20/resources/upload/JsonParserTest.java    |   146 -
 .../hive20/resources/upload/OpenCSVParserTest.java |   313 -
 .../view/hive20/resources/upload/OpenCSVTest.java  |   245 -
 .../hive20/resources/upload/ParseUtilsTest.java    |    56 -
 .../resources/upload/TableDataReaderTest.java      |   128 -
 .../hive20/resources/upload/XMLParserTest.java     |   135 -
 .../resources/uploads/UploadServiceTest.java       |    60 -
 .../HIVE20_ENVIRONMENT.postman_environment.json    |    16 -
 .../rest/postman/hive20.postman_collection.json    |   566 -
 contrib/views/hueambarimigration/pom.xml           |   286 -
 .../datasource/DataSourceAmbariDatabase.java       |    63 -
 .../datasource/DataSourceHueDatabase.java          |    62 -
 .../historyqueryset/MysqlQuerySetAmbariDB.java     |    58 -
 .../historyqueryset/OracleQuerySetAmbariDB.java    |    64 -
 .../historyqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../hive/historyqueryset/QuerySetAmbariDB.java     |   133 -
 .../hive/instancedetail/MysqlQuerySetAmbariDB.java |    23 -
 .../instancedetail/OracleQuerySetAmbariDB.java     |    31 -
 .../instancedetail/PostgressQuerySetAmbariDB.java  |    22 -
 .../hive/instancedetail/QuerySetAmbariDB.java      |    48 -
 .../hive/savedqueryset/MysqlQuerySetAmbariDB.java  |    91 -
 .../hive/savedqueryset/OracleQuerySetAmbariDB.java |    83 -
 .../savedqueryset/PostgressQuerySetAmbariDB.java   |    22 -
 .../hive/savedqueryset/QuerySetAmbariDB.java       |   206 -
 .../pig/instancedetail/MysqlQuerySetAmbariDB.java  |    23 -
 .../pig/instancedetail/OracleQuerySetAmbariDB.java |    30 -
 .../instancedetail/PostgressQuerySetAmbariDB.java  |    22 -
 .../pig/instancedetail/QuerySetAmbariDB.java       |    39 -
 .../pig/jobqueryset/MysqlQuerySetAmbariDB.java     |    51 -
 .../pig/jobqueryset/OracleQuerySetAmbariDB.java    |    49 -
 .../pig/jobqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../pig/jobqueryset/QuerySetAmbariDB.java          |   103 -
 .../savedscriptqueryset/MysqlQuerySetAmbariDB.java |    51 -
 .../OracleQuerySetAmbariDB.java                    |    49 -
 .../PostgressQuerySetAmbariDB.java                 |    22 -
 .../pig/savedscriptqueryset/QuerySetAmbariDB.java  |    93 -
 .../pig/udfqueryset/MysqlQuerySetAmbariDB.java     |    48 -
 .../pig/udfqueryset/OracleQuerySetAmbariDB.java    |    46 -
 .../pig/udfqueryset/PostgressQuerySetAmbariDB.java |    22 -
 .../pig/udfqueryset/QuerySetAmbariDB.java          |    82 -
 .../hive/historyqueryset/MysqlQuerySetHueDB.java   |    23 -
 .../hive/historyqueryset/OracleQuerySetHueDB.java  |    66 -
 .../historyqueryset/PostgressQuerySetHueDB.java    |    22 -
 .../hive/historyqueryset/QuerySetHueDB.java        |   139 -
 .../hive/historyqueryset/SqliteQuerySetHueDB.java  |    22 -
 .../hive/savedqueryset/MysqlQuerySetHueDb.java     |    23 -
 .../hive/savedqueryset/OracleQuerySetHueDb.java    |    71 -
 .../hive/savedqueryset/PostgressQuerySetHueDb.java |    22 -
 .../hive/savedqueryset/QuerySetHueDb.java          |   144 -
 .../hive/savedqueryset/SqliteQuerySetHueDb.java    |    22 -
 .../pig/jobqueryset/MysqlQuerySetHueDb.java        |    22 -
 .../pig/jobqueryset/OracleQuerySetHueDb.java       |    69 -
 .../pig/jobqueryset/PostgressQuerySetHueDb.java    |    22 -
 .../huequeryset/pig/jobqueryset/QuerySetHueDb.java |   141 -
 .../pig/jobqueryset/SqliteQuerySetHueDb.java       |    22 -
 .../savedscriptqueryset/MysqlQuerySetHueDb.java    |    22 -
 .../savedscriptqueryset/OracleQuerySetHueDb.java   |    64 -
 .../PostgressQuerySetHueDb.java                    |    71 -
 .../pig/savedscriptqueryset/QuerySetHueDb.java     |   142 -
 .../savedscriptqueryset/SqliteQuerySetHueDb.java   |    24 -
 .../huequeryset/pig/udfqueryset/MysqlQuerySet.java |    22 -
 .../pig/udfqueryset/OracleQuerySet.java            |    41 -
 .../pig/udfqueryset/PostgressQuerySet.java         |    23 -
 .../huequeryset/pig/udfqueryset/QuerySet.java      |    75 -
 .../pig/udfqueryset/SqliteQuerySet.java            |    24 -
 .../huequeryset/userdetails/MysqlQuerySet.java     |    24 -
 .../huequeryset/userdetails/OracleQuerySet.java    |    28 -
 .../huequeryset/userdetails/PostgressQuerySet.java |    22 -
 .../queryset/huequeryset/userdetails/QuerySet.java |    42 -
 .../huequeryset/userdetails/SqliteQuerySet.java    |    22 -
 .../migration/CreateJobId.java                     |    85 -
 .../migration/CreateJobIdRevertChange.java         |    84 -
 .../migration/InitiateJobMigration.java            |   107 -
 .../InitiateJobMigrationforRevertchange.java       |    85 -
 .../configuration/AllInstanceDetailsAmbari.java    |    59 -
 .../configuration/AmbariDatabaseCheck.java         |    62 -
 .../configuration/AmbariWebHdfsCheck.java          |    60 -
 .../configuration/CheckProgresStatus.java          |    70 -
 .../ConfigurationCheckImplementation.java          |   134 -
 .../configuration/HiveInstanceDetailsAmbari.java   |    53 -
 .../configuration/HiveInstanceDetailsUtility.java  |   153 -
 .../migration/configuration/HueDatabaseCheck.java  |    60 -
 .../migration/configuration/HueHttpUrlCheck.java   |    60 -
 .../migration/configuration/HueWebHdfsCheck.java   |    60 -
 .../configuration/PigInstanceDetailsAmbari.java    |    61 -
 .../configuration/PigInstanceDetailsUtility.java   |    98 -
 .../migration/configuration/UserDetailHue.java     |    58 -
 .../configuration/UserDetailsUtility.java          |    80 -
 .../historyquery/HiveHistoryMigrationUtility.java  |   289 -
 .../HiveHistoryQueryMigrationImplementation.java   |   631 -
 .../hive/historyquery/HiveHistoryStartJob.java     |    75 -
 .../HiveSavedQueryMigrationImplementation.java     |   788 -
 .../savedquery/HiveSavedQueryMigrationUtility.java |   320 -
 .../hive/savedquery/HiveSavedQueryStartJob.java    |    76 -
 .../pig/pigjob/PigJobMigrationImplementation.java  |   611 -
 .../pig/pigjob/PigJobMigrationUtility.java         |   239 -
 .../migration/pig/pigjob/PigJobStartJob.java       |    69 -
 .../pig/pigscript/PigSavedScriptStartJob.java      |    69 -
 .../PigScriptMigrationImplementation.java          |   629 -
 .../pig/pigscript/PigScriptMigrationUtility.java   |   262 -
 .../pig/pigudf/PigUdfMigrationImplementation.java  |   402 -
 .../pig/pigudf/PigUdfMigrationUtility.java         |   243 -
 .../migration/pig/pigudf/PigUdfStartJob.java       |    69 -
 .../revertchange/RevertChangeStartJob.java         |    70 -
 .../revertchange/RevertChangeUtility.java          |   225 -
 .../persistence/DataStoreStorage.java              |   151 -
 .../persistence/InstanceKeyValueStorage.java       |   132 -
 .../persistence/KeyValueStorage.java               |   162 -
 .../persistence/LocalKeyValueStorage.java          |    70 -
 .../persistence/PersistentConfiguration.java       |    52 -
 .../persistence/SmokeTestEntity.java               |    45 -
 .../huetoambarimigration/persistence/Storage.java  |    78 -
 .../utils/ContextConfigurationAdapter.java         |   260 -
 .../persistence/utils/FilteringStrategy.java       |    31 -
 .../persistence/utils/Indexed.java                 |    36 -
 .../persistence/utils/ItemNotFound.java            |    25 -
 .../utils/OnlyOwnersFilteringStrategy.java         |    33 -
 .../persistence/utils/Owned.java                   |    36 -
 .../persistence/utils/PersonalResource.java        |    22 -
 .../persistence/utils/StorageUtil.java             |    94 -
 .../resources/CRUDResourceManager.java             |   123 -
 .../resources/PersonalCRUDResourceManager.java     |   105 -
 .../resources/SharedCRUDResourceManager.java       |    50 -
 .../scripts/MigrationResourceManager.java          |    52 -
 .../scripts/MigrationResourceProvider.java         |   108 -
 .../scripts/models/ConfigurationModel.java         |    52 -
 .../resources/scripts/models/HiveModel.java        |   114 -
 .../resources/scripts/models/InstanceModel.java    |    41 -
 .../resources/scripts/models/JobReturnIdModel.java |    43 -
 .../resources/scripts/models/MigrationModel.java   |   130 -
 .../scripts/models/MigrationResponse.java          |   153 -
 .../resources/scripts/models/PigModel.java         |    92 -
 .../scripts/models/ProgressCheckModel.java         |    60 -
 .../resources/scripts/models/UserModel.java        |    48 -
 .../utils/BadRequestFormattedException.java        |    27 -
 .../huetoambarimigration/utils/FilePaginator.java  |    72 -
 .../utils/MisconfigurationFormattedException.java  |    47 -
 .../utils/NotFoundFormattedException.java          |    27 -
 .../utils/ServiceFormattedException.java           |   101 -
 .../src/main/resources/image/updateimg.gif         |   Bin 56233 -> 0 bytes
 .../resources/ui/hueambarimigration-view/.bowerrc  |     4 -
 .../ui/hueambarimigration-view/.editorconfig       |    34 -
 .../ui/hueambarimigration-view/.ember-cli          |    27 -
 .../ui/hueambarimigration-view/.gitignore          |    44 -
 .../resources/ui/hueambarimigration-view/.jshintrc |    32 -
 .../ui/hueambarimigration-view/.travis.yml         |    38 -
 .../ui/hueambarimigration-view/.watchmanconfig     |    21 -
 .../resources/ui/hueambarimigration-view/README.md |    67 -
 .../app/adapters/application.js                    |    47 -
 .../ui/hueambarimigration-view/app/app.js          |    38 -
 .../app/components/.gitkeep                        |     0
 .../app/controllers/.gitkeep                       |     0
 .../hueambarimigration-view/app/helpers/.gitkeep   |     0
 .../ui/hueambarimigration-view/app/index.html      |    40 -
 .../ui/hueambarimigration-view/app/models/.gitkeep |     0
 .../app/models/allinstancedetail.js                |    23 -
 .../app/models/ambaridatabase.js                   |    24 -
 .../app/models/ambariwebhdfsurl.js                 |    24 -
 .../app/models/checkprogress.js                    |    32 -
 .../app/models/getmigrationresultid.js             |    23 -
 .../app/models/hiveinstancedetail.js               |    23 -
 .../app/models/huedatabase.js                      |    24 -
 .../app/models/huehttpurl.js                       |    24 -
 .../app/models/huewebhdfsurl.js                    |    24 -
 .../app/models/piginstancedetail.js                |    23 -
 .../app/models/returnjobid.js                      |    23 -
 .../app/models/returnjobidforrevertchange.js       |    23 -
 .../app/models/startmigration.js                   |    23 -
 .../app/models/startrevertchange.js                |    23 -
 .../app/models/usersdetail.js                      |    23 -
 .../ui/hueambarimigration-view/app/resolver.js     |    20 -
 .../ui/hueambarimigration-view/app/router.js       |    38 -
 .../ui/hueambarimigration-view/app/routes/.gitkeep |     0
 .../app/routes/check-configuration.js              |   213 -
 .../app/routes/home-page.js                        |    21 -
 .../app/routes/home-page/hive-history.js           |   146 -
 .../app/routes/home-page/hive-saved-query.js       |   142 -
 .../app/routes/home-page/pig-job.js                |   143 -
 .../app/routes/home-page/pig-script.js             |   144 -
 .../app/routes/home-page/pig-udf.js                |   140 -
 .../app/routes/home-page/revert-change.js          |   103 -
 .../ui/hueambarimigration-view/app/routes/index.js |    24 -
 .../app/serializers/application.js                 |    19 -
 .../ui/hueambarimigration-view/app/styles/app.css  |    25 -
 .../ui/hueambarimigration-view/app/styles/app.scss |    18 -
 .../app/templates/application.hbs                  |    24 -
 .../app/templates/check-configuration.hbs          |   153 -
 .../app/templates/home-page.hbs                    |    43 -
 .../app/templates/home-page/hive-history.hbs       |   133 -
 .../app/templates/home-page/hive-saved-query.hbs   |   134 -
 .../app/templates/home-page/pig-job.hbs            |   135 -
 .../app/templates/home-page/pig-script.hbs         |   135 -
 .../app/templates/home-page/pig-udf.hbs            |   118 -
 .../app/templates/home-page/revert-change.hbs      |    99 -
 .../ui/hueambarimigration-view/bower.json          |    14 -
 .../hueambarimigration-view/config/environment.js  |    63 -
 .../ui/hueambarimigration-view/ember-cli-build.js  |    61 -
 .../ui/hueambarimigration-view/package.json        |    51 -
 .../hueambarimigration-view/public/crossdomain.xml |    15 -
 .../ui/hueambarimigration-view/public/robots.txt   |     3 -
 .../resources/ui/hueambarimigration-view/testem.js |    29 -
 .../ui/hueambarimigration-view/tests/.jshintrc     |    53 -
 .../tests/helpers/destroy-app.js                   |    22 -
 .../tests/helpers/module-for-acceptance.js         |    40 -
 .../tests/helpers/resolver.js                      |    28 -
 .../tests/helpers/start-app.js                     |    35 -
 .../ui/hueambarimigration-view/tests/index.html    |    48 -
 .../hueambarimigration-view/tests/test-helper.js   |    25 -
 .../ui/hueambarimigration-view/vendor/.gitkeep     |     0
 .../resources/ui/hueambarimigration-view/yarn.lock |  5553 --
 .../src/main/resources/view.log4j.properties       |    29 -
 .../hueambarimigration/src/main/resources/view.xml |   236 -
 contrib/views/jobs/pom.xml                         |   244 -
 .../org/apache/ambari/view/jobs/ProxyServlet.java  |    68 -
 .../apache/ambari/view/jobs/ViewController.java    |    36 -
 .../ambari/view/jobs/ViewControllerImpl.java       |    66 -
 .../org/apache/ambari/view/jobs/ViewStatus.java    |    44 -
 .../ambari/view/jobs/rest/ViewStatusResource.java  |    46 -
 .../views/jobs/src/main/resources/WEB-INF/web.xml  |    37 -
 contrib/views/jobs/src/main/resources/ui/.bowerrc  |     3 -
 .../views/jobs/src/main/resources/ui/.editorconfig |    22 -
 .../jobs/src/main/resources/ui/.gitattributes      |     1 -
 .../views/jobs/src/main/resources/ui/.gitignore    |     9 -
 contrib/views/jobs/src/main/resources/ui/.jshintrc |    24 -
 .../views/jobs/src/main/resources/ui/Gruntfile.js  |   396 -
 .../resources/ui/app/img/glyphicons-halflings.png  |   Bin 13826 -> 0 bytes
 .../jobs/src/main/resources/ui/app/index.html      |    56 -
 .../jobs/src/main/resources/ui/app/scripts/app.js  |    76 -
 .../resources/ui/app/scripts/assets/clusters.json  |    10 -
 .../ui/app/scripts/assets/components.json          |    94 -
 .../ui/app/scripts/assets/components_hosts.json    |    16 -
 .../ui/app/scripts/assets/configurations.json      |    14 -
 .../ui/app/scripts/assets/desired_configs.json     |    20 -
 .../ui/app/scripts/assets/hive-queries.json        |   388 -
 .../ui/app/scripts/assets/hive-query-2.json        |     8 -
 .../resources/ui/app/scripts/assets/services.json  |    39 -
 .../ui/app/scripts/assets/tezDag-name-to-id.json   |   552 -
 .../resources/ui/app/scripts/assets/tezDag.json    |    21 -
 .../ui/app/scripts/assets/tezDagVertex.json        |   221 -
 .../ui/app/scripts/controllers/job_controller.js   |   120 -
 .../ui/app/scripts/controllers/jobs_controller.js  |   704 -
 .../main/resources/ui/app/scripts/helpers/ajax.js  |   245 -
 .../main/resources/ui/app/scripts/helpers/date.js  |   196 -
 .../main/resources/ui/app/scripts/helpers/jobs.js  |   262 -
 .../main/resources/ui/app/scripts/helpers/misc.js  |    67 -
 .../resources/ui/app/scripts/helpers/number.js     |    90 -
 .../resources/ui/app/scripts/helpers/string.js     |   114 -
 .../resources/ui/app/scripts/helpers/validator.js  |    26 -
 .../scripts/mappers/application_status_mapper.js   |   349 -
 .../ui/app/scripts/mappers/jobs/hive_job_mapper.js |   219 -
 .../app/scripts/mappers/jobs/hive_jobs_mapper.js   |   111 -
 .../ui/app/scripts/mappers/server_data_mapper.js   |   133 -
 .../ui/app/scripts/mixins/run_periodically.js      |    78 -
 .../resources/ui/app/scripts/models/component.js   |    40 -
 .../ui/app/scripts/models/jobs/abstract_job.js     |    72 -
 .../ui/app/scripts/models/jobs/hive_job.js         |    32 -
 .../ui/app/scripts/models/jobs/tez_dag.js          |   213 -
 .../resources/ui/app/scripts/models/service.js     |    40 -
 .../src/main/resources/ui/app/scripts/router.js    |    22 -
 .../ui/app/scripts/routes/application_route.js     |    68 -
 .../src/main/resources/ui/app/scripts/store.js     |    19 -
 .../main/resources/ui/app/scripts/translations.js  |   112 -
 .../resources/ui/app/scripts/views/filter_view.js  |   491 -
 .../views/job/hive_job_details_tez_dag_view.js     |   979 -
 .../app/scripts/views/job/hive_job_details_view.js |   430 -
 .../scripts/views/jobs/select_custom_date_view.js  |    36 -
 .../resources/ui/app/scripts/views/jobs_view.js    |   350 -
 .../resources/ui/app/scripts/views/sort_view.js    |   253 -
 .../resources/ui/app/scripts/views/table_view.js   |   362 -
 .../src/main/resources/ui/app/styles/main.less     |   638 -
 .../resources/ui/app/templates/application.hbs     |    21 -
 .../src/main/resources/ui/app/templates/index.hbs  |    19 -
 .../resources/ui/app/templates/job/error_popup.hbs |    19 -
 .../app/templates/job/hive_job_details_tez_dag.hbs |    44 -
 .../ui/app/templates/job/hover_op_table.hbs        |    35 -
 .../main/resources/ui/app/templates/job/job.hbs    |   216 -
 .../src/main/resources/ui/app/templates/jobs.hbs   |    91 -
 .../ui/app/templates/jobs/custom_date_popup.hbs    |    39 -
 .../resources/ui/app/templates/jobs/jobs_name.hbs  |    19 -
 .../ui/app/templates/sort_field_template.hbs       |    19 -
 .../table/navigation/pagination_first.hbs          |    19 -
 .../templates/table/navigation/pagination_last.hbs |    19 -
 .../templates/table/navigation/pagination_left.hbs |    19 -
 .../table/navigation/pagination_right.hbs          |    19 -
 .../resources/ui/app/templates/wrapper_layout.hbs  |    19 -
 .../ui/app/templates/wrapper_template.hbs          |    25 -
 .../views/jobs/src/main/resources/ui/bower.json    |    20 -
 .../views/jobs/src/main/resources/ui/package.json  |    36 -
 .../views/jobs/src/main/resources/ui/test/.bowerrc |     3 -
 .../jobs/src/main/resources/ui/test/bower.json     |     9 -
 .../jobs/src/main/resources/ui/test/index.html     |    44 -
 .../jobs/src/main/resources/ui/test/spec/test.js   |    29 -
 contrib/views/jobs/src/main/resources/ui/yarn.lock |  2537 -
 .../jobs/src/main/resources/view.log4j.properties  |    28 -
 contrib/views/jobs/src/main/resources/view.xml     |    37 -
 .../pig/src/main/resources/ui/pig-web/.bowerrc     |     5 +
 contrib/views/pig/src/main/resources/view.xml      |     1 +
 contrib/views/pom.xml                              |     7 -
 contrib/views/storm/pom.xml                        |   225 -
 .../java/org/apache/ambari/storm/ProxyServlet.java |   108 -
 .../apache/ambari/storm/StormDetailsServlet.java   |    81 -
 .../views/storm/src/main/resources/WEB-INF/web.xml |    45 -
 contrib/views/storm/src/main/resources/ui/.babelrc |    25 -
 .../storm/src/main/resources/ui/.eslintignore.js   |     3 -
 .../views/storm/src/main/resources/ui/.eslintrc.js |    58 -
 .../storm/src/main/resources/ui/app/scripts/app.js |    40 -
 .../ui/app/scripts/components/BarChart.jsx         |   429 -
 .../ui/app/scripts/components/Breadcrumbs.jsx      |    45 -
 .../ui/app/scripts/components/CommonExpanded.jsx   |    30 -
 .../app/scripts/components/CommonNotification.jsx  |    69 -
 .../ui/app/scripts/components/CommonPagination.jsx |    56 -
 .../scripts/components/CommonSwitchComponent.jsx   |    41 -
 .../app/scripts/components/CommonWindowPanel.jsx   |    99 -
 .../scripts/components/CustomToastContainer.jsx    |    41 -
 .../ui/app/scripts/components/Editable.jsx         |   127 -
 .../ui/app/scripts/components/FSModel.jsx          |   149 -
 .../ui/app/scripts/components/FSReactToastr.jsx    |    37 -
 .../resources/ui/app/scripts/components/Footer.jsx |    28 -
 .../app/scripts/components/LogLevelComponent.jsx   |   236 -
 .../ui/app/scripts/components/ProfilingView.jsx    |   168 -
 .../ui/app/scripts/components/RadialChart.jsx      |   134 -
 .../app/scripts/components/RebalanceTopology.jsx   |   152 -
 .../ui/app/scripts/components/SearchLogs.jsx       |    84 -
 .../ui/app/scripts/components/TopologyGraph.jsx    |   208 -
 .../ui/app/scripts/containers/BaseContainer.jsx    |    50 -
 .../ui/app/scripts/containers/ClusterSummary.jsx   |   125 -
 .../app/scripts/containers/ComponentDetailView.jsx |   714 -
 .../ui/app/scripts/containers/Dashboard.jsx        |    52 -
 .../app/scripts/containers/NimbusConfigSummary.jsx |   126 -
 .../ui/app/scripts/containers/NimbusSummary.jsx    |   150 -
 .../app/scripts/containers/SupervisorSummary.jsx   |   165 -
 .../app/scripts/containers/TopologyDetailView.jsx  |   862 -
 .../ui/app/scripts/containers/TopologyListing.jsx  |   222 -
 .../src/main/resources/ui/app/scripts/main.js      |    46 -
 .../resources/ui/app/scripts/rest/TopologyREST.js  |   118 -
 .../resources/ui/app/scripts/routers/routes.jsx    |    68 -
 .../resources/ui/app/scripts/utils/Constants.js    |    45 -
 .../main/resources/ui/app/scripts/utils/Utils.js   |    51 -
 .../main/resources/ui/app/styles/css/bootstrap.css |  6757 ---
 .../ui/app/styles/css/font-awesome.min.css         |     4 -
 .../src/main/resources/ui/app/styles/css/style.css |   836 -
 .../resources/ui/app/styles/css/toastr.min.css     |     1 -
 .../ui/app/styles/fonts/fontawesome-webfont.eot    |   Bin 76518 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.svg    |   685 -
 .../ui/app/styles/fonts/fontawesome-webfont.ttf    |   Bin 152796 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.woff   |   Bin 90412 -> 0 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.woff2  |   Bin 71896 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.eot  |   Bin 20127 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.svg  |   288 -
 .../styles/fonts/glyphicons-halflings-regular.ttf  |   Bin 45404 -> 0 bytes
 .../styles/fonts/glyphicons-halflings-regular.woff |   Bin 23424 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff2       |   Bin 18028 -> 0 bytes
 .../main/resources/ui/app/styles/img/icon-bolt.png |   Bin 2157 -> 0 bytes
 .../resources/ui/app/styles/img/icon-spout.png     |   Bin 2620 -> 0 bytes
 .../main/resources/ui/app/styles/img/loader.gif    |   Bin 15017 -> 0 bytes
 .../resources/ui/config/webpack.config.base.js     |   101 -
 .../ui/config/webpack.config.development.js        |    64 -
 .../ui/config/webpack.config.production.js         |   131 -
 .../storm/src/main/resources/ui/dev-server.js      |   101 -
 .../views/storm/src/main/resources/ui/index.html   |    47 -
 .../views/storm/src/main/resources/ui/package.json |   110 -
 .../storm/src/main/resources/view.log4j.properties |    27 -
 contrib/views/storm/src/main/resources/view.xml    |    44 -
 contrib/views/tez/pom.xml                          |   282 -
 contrib/views/tez/readme.md                        |    90 -
 .../ambari/view/tez/ConfigurationService.java      |    50 -
 .../apache/ambari/view/tez/PropertyService.java    |    83 -
 .../org/apache/ambari/view/tez/ProxyServlet.java   |   130 -
 .../org/apache/ambari/view/tez/SettingService.java |    47 -
 .../org/apache/ambari/view/tez/ViewController.java |    64 -
 .../apache/ambari/view/tez/ViewControllerImpl.java |   110 -
 .../org/apache/ambari/view/tez/ViewStatus.java     |    44 -
 .../view/tez/exceptions/TezWebAppException.java    |   104 -
 .../ambari/view/tez/rest/AtsProxyResource.java     |    52 -
 .../ambari/view/tez/rest/BaseProxyResource.java    |    89 -
 .../view/tez/rest/BaseRedirectionResource.java     |    59 -
 .../ambari/view/tez/rest/RMProxyResource.java      |    52 -
 .../ambari/view/tez/rest/RMRedirectResource.java   |    51 -
 .../ambari/view/tez/rest/ViewStatusResource.java   |    46 -
 .../apache/ambari/view/tez/utils/ProxyHelper.java  |   106 -
 .../views/tez/src/main/resources/WEB-INF/web.xml   |    37 -
 .../main/resources/ui/ambari-scripts/init-view.js  |   302 -
 .../tez/src/main/resources/view.log4j.properties   |    27 -
 contrib/views/tez/src/main/resources/view.xml      |   102 -
 .../ambari/view/tez/utils/ProxyHelperTest.java     |    71 -
 .../views/wfmanager/src/main/resources/ui/.bowerrc |     5 +
 docs/pom.xml                                       |    39 +-
 docs/src/site/apt/index.apt                        |     2 +-
 docs/src/site/apt/whats-new.apt                    |    30 +-
 docs/src/site/site.xml                             |     2 +
 pom.xml                                            |    34 +-
 3717 files changed, 135495 insertions(+), 236137 deletions(-)

diff --cc ambari-common/src/main/python/resource_management/libraries/execution_command/execution_command.py
index 506deef,0000000..98bd62f
mode 100644,000000..100644
--- a/ambari-common/src/main/python/resource_management/libraries/execution_command/execution_command.py
+++ b/ambari-common/src/main/python/resource_management/libraries/execution_command/execution_command.py
@@@ -1,434 -1,0 +1,434 @@@
 +#!/usr/bin/env python
 +"""
 +Licensed to the Apache Software Foundation (ASF) under one
 +or more contributor license agreements.  See the NOTICE file
 +distributed with this work for additional information
 +regarding copyright ownership.  The ASF licenses this file
 +to you under the Apache License, Version 2.0 (the
 +"License"); you may not use this file except in compliance
 +with the License.  You may obtain a copy of the License at
 +
 +    http://www.apache.org/licenses/LICENSE-2.0
 +
 +Unless required by applicable law or agreed to in writing, software
 +distributed under the License is distributed on an "AS IS" BASIS,
 +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +See the License for the specific language governing permissions and
 +limitations under the License.
 +
 +"""
 +
 +__all__ = ["ExecutionCommand"]
 +
 +from resource_management.libraries.execution_command import module_configs
 +
 +
 +class ExecutionCommand(object):
 +  """
 +  The class has two private objects: _execution_command maps to a command.json and
 +  _module_config maps to configurations block and configuratonAttributes within this
 +   command.json. This class provides a set of APIs to retrieve all command related info.
 +   The caller should not access to command.json to get the configuration info directly.
 +  """
 +
 +  def __init__(self, command):
 +    """
 +    _execution_command is a wrapper object of a dict object maps to command.json
 +    _module_config is an wrapper object of configuration and configurationAttributes dict
 +    objects maps to configuration and configurationAttributes blocks within command.json
 +    :param command: json string or a python dict object
 +    """
 +    self.__execution_command = command
 +    self.__module_configs = module_configs.ModuleConfigs(self.__get_value("configurations"), self.__get_value("configurationAttributes"))
 +
 +  def __get_value(self, key, default_value=None):
 +    """
 +    A private method to query value with the full path of key, if key does not exist, return default_value
 +    :param key: query key string
 +    :param default_value: if key does not exist, return this value
 +    :return: the value maps to query key
 +    """
 +    sub_keys = filter(None, key.split('/'))
 +    value = self.__execution_command
 +    try:
 +      for sub_key in sub_keys:
 +        if not sub_key in value:
 +          return default_value
 +        value = value[sub_key]
 +        if value == None:
 +          value = default_value
 +      return value
 +    except:
 +      return default_value
 +
 +  def get_value(self, query_string, default_value=None):
 +    """
 +    Generic query API to retrieve config attribute from execution_command directly
 +    :param query_string: full query key string
 +    :param default_value: if key does not exist, return default value
 +    :return: config attribute
 +    """
 +    return self.__get_value(query_string, default_value)
 +
 +  """
 +  Global variables section
 +  """
 +
 +  def get_module_configs(self):
 +    return self.__module_configs
 +
 +  def get_module_name(self):
 +    """
 +    Retrieve service name from command.json, i.e 'zookeeper', 'hdfs'
 +    :return: service name
 +    """
 +    return self.__get_value("serviceName")
 +
 +  def get_component_type(self):
 +    """
 +    Retrieve host role from command.json, i.e "role": "ZOOKEEPER_SERVER"
 +    :return:
 +    """
 +    return self.__get_value("role")
 +
 +  def get_component_instance_name(self):
 +    """
 +    At this time it returns hardcoded 'default' name
 +    :return: 'default' string
 +    """
 +    return "default"
 +
 +  def get_servicegroup_name(self):
 +    """
 +    Retrieve servicegroup name from command.json, servicegroup has 1:1 map to mpack at this time
 +    :return: servicegroup name
 +    """
 +    return self.__get_value("serviceGroupName")
 +
 +  def get_cluster_name(self):
 +    """
 +    Retrieve cluster name from command.json
 +    :return: cluster name
 +    """
 +    return self.__get_value("clusterName")
 +
 +  def get_repository_file(self):
 +    """
 +    Retrieve respository dict about mpack info from command.json
 +    :return: repository file name
 +    """
 +    return self.__get_value("repositoryFile")
 +
 +  def get_local_components(self):
 +    """
 +    Retrieve a list of service components from command.json. i.e localComponents": ["ZOOKEEPER_CLIENT"]
 +    :return: list of components
 +    """
 +    return self.__get_value("localComponents", [])
 +
 +  """
 +  Ambari variables section
 +  """
 +
 +  def get_jdk_location(self):
 +    """
 +    Retrieve URL of jdk from command.json. i.e "jdk_location": "http://c7302.ambari.apache.org:8080/resources/"
 +    :return: jdk url string
 +    """
 +    return self.__get_value("ambariLevelParams/jdk_location")
 +
 +  def get_jdk_name(self):
 +    """
 +    Retrieve jdk name from command.json. i.e "jdk_name": "jdk-8u112-linux-x64.tar.gz"
 +    :return: jdk name string
 +    """
 +    return self.__get_value("ambariLevelParams/jdk_name")
 +
 +  def get_java_home(self):
 +    """
 +    Retrieve java home from command.json. i.e "java_home": "/usr/jdk64/jdk1.8.0_112"
 +    :return: java home string
 +    """
 +    return self.__get_value("ambariLevelParams/java_home")
 +
 +  def get_java_version(self):
 +    """
 +    Retrieve java version from command.json, i.e "java_version": "8", note "8" will convert to 8
 +    :return: an integer represents java version
 +    """
 +    from resource_management.libraries.functions.expect import expect_v2
 +    return expect_v2("ambariLevelParams/java_version", int)
 +
 +  def get_jce_name(self):
 +    """
 +    Retrieve jce name from command.json, i.e "jce_name": "jce_policy-8.zip"
 +    :return: jce name string
 +    """
 +    return self.__get_value("ambariLevelParams/jce_name")
 +
 +  def get_db_driver_file_name(self):
 +    """
 +    Retrieve database driver file name, i.e "db_driver_filename": "mysql-connector-java.jar"
 +    :return: DB driver name string
 +    """
 +    return self.__get_value('ambariLevelParams/db_driver_filename')
 +
 +  def get_db_name(self):
 +    """
 +    Retrieve database name, i.e Ambari server's db name is "db_name": "ambari"
 +    :return: DB name
 +    """
 +    return self.__get_value('ambariLevelParams/db_name')
 +
 +  def get_oracle_jdbc_url(self):
 +    """
 +    Retrieve oracle database jdbc driver url,
 +    i.e "oracle_jdbc_url": "http://c7302.ambari.apache.org:8080/resources//ojdbc6.jar"
 +    :return: oracle jdbc url
 +    """
 +    return self.__get_value('ambariLevelParams/oracle_jdbc_url')
 +
 +  def get_mysql_jdbc_url(self):
 +    """
 +    Retrieve mysql database jdbc driver url,
 +    i.e "mysql_jdbc_url": "http://c7302.ambari.apache.org:8080/resources//mysql-connector-java.jar"
 +    :return: mysql jdbc url
 +    """
 +    return self.__get_value('ambariLevelParams/mysql_jdbc_url')
 +
 +  def get_agent_stack_retry_count(self):
 +    """
 +    Retrieve retry count for stack deployment on agent,
 +    i.e "agent_stack_retry_count": "5"
 +    :return: retry count for stack deployment on agent
 +    """
 +    from resource_management.libraries.functions.expect import expect_v2
 +    return expect_v2('ambariLevelParams/agent_stack_retry_count', int, 5)
 +
 +  def check_agent_stack_want_retry_on_unavailability(self):
 +    """
 +    Check if retry is needed when agent is not reachable
 +    :return: True or False
 +    """
 +    return self.__get_value('ambariLevelParams/agent_stack_retry_on_unavailability')
 +
 +  def get_ambari_server_host(self):
 +    """
 +    Retrieve ambari server host url from command.json, i.e "ambari_server_host": "c7302.ambari.apache.org"
 +    :return: ambari server url
 +    """
 +    return self.__get_value("ambariLevelParams/ambari_server_host")
 +
 +  def get_ambari_server_port(self):
 +    """
 +    Retrieve ambar server port number from command.json, i.e "ambari_server_port": "8080"
 +    :return: amabari server port number
 +    """
 +    return self.__get_value("ambariLevelParams/ambari_server_port")
 +
 +  def is_ambari_server_use_ssl(self):
 +    """
 +    Check if ssl is needed to connect to ambari server
 +    :return: True or False
 +    """
 +    return self.__get_value("ambariLevelParams/ambari_server_use_ssl", False)
 +
 +  def is_host_system_prepared(self):
 +    """
 +    Check a global flag enabling or disabling the sysprep feature
 +    :return: True or False
 +    """
 +    return self.__get_value("ambariLevelParams/host_sys_prepped", False)
 +
 +  def is_gpl_license_accepted(self):
 +    """
 +    Check ambari server accepts gpl license or not
 +    :return: True or False
 +    """
 +    return self.__get_value("ambariLevelParams/gpl_license_accepted", False)
 +
 +  """
 +  Cluster related variables section
 +  """
 +
 +  def get_mpack_name(self):
 +    """
 +    Retrieve mpack name from command.json, i.e "stack_name": "HDPCORE"
 +    :return: mpack name string
 +    """
 +    return self.__get_value("stackSettings/stack_name")
 +
 +  def get_mpack_version(self):
 +    """
 +    Retrieve mpack version from command.json, i.e "stack_version": "1.0.0-b224"
 +    :return: mpack version string
 +    """
 +    return self.__get_value("stackSettings/stack_version")
 +
 +  def get_user_groups(self):
 +    """
 +    Retrieve ambari server user groups, i.e "user_groups": "{\"zookeeper\":[\"hadoop\"],\"ambari-qa\":[\"hadoop\"]}"
 +    :return: a user group dict object
 +    """
 +    return self.__get_value("stackSettings/user_groups")
 +
 +  def get_group_list(self):
 +    """
 +    Retrieve a list of user groups from command.json, i.e "group_list": "[\"hadoop\"]"
 +    :return: a list of groups
 +    """
 +    return self.__get_value("stackSettings/group_list")
 +
 +  def get_user_list(self):
 +    """
 +    Retrieve a list of users from command.json, i.e "user_list": "[\"zookeeper\",\"ambari-qa\"]"
 +    :return: a list of users
 +    """
 +    return self.__get_value("stackSettings/user_list")
 +
 +  """
 +  Agent related variable section
 +  """
 +
 +  def get_host_name(self):
 +    """
 +    Retrieve host name on which ambari agent is running
 +    :return: host name
 +    """
 +    return self.__get_value("agentLevelParams/hostname")
 +
 +  def check_agent_config_execute_in_parallel(self):
 +    """
 +    Check if config commands can be executed in parallel in ambari agent
 +    :return: True or False
 +    """
 +    return int(self.__get_value("agentConfigParams/agent/parallel_execution", 0))
 +
 +  def get_agent_cache_dir(self):
 +    """
 +    The root directory in which ambari agent stores cache or log etc,
 +    i.e "agentCacheDir": "/var/lib/ambari-agent/cache"
 +    :return: the cache directory path
 +    """
 +    return self.__get_value('agentLevelParams/agentCacheDir')
 +
 +  """
 +  Host related variables section
 +  """
 +
 +  def get_repo_info(self):
 +    return self.__get_value('hostLevelParams/repoInfo')
 +
 +  def get_service_repo_info(self):
 +    return self.__get_value('hostLevelParams/service_repo_info')
 +
 +  """
 +  Component related variables section
 +  """
 +
 +  def check_unlimited_key_jce_required(self):
 +    """
 +    Check unlimited jce key is required or not
 +    :return: True or False
 +    """
 +    return self.__get_value('componentLevelParams/unlimited_key_jce_required', False)
 +
 +  """
 +  Command related variables section
 +  """
 +
 +  def get_new_mpack_version_for_upgrade(self):
 +    """
 +    New Cluster Stack Version that is defined during the RESTART of a Rolling Upgrade
 +    :return:
 +    """
 +    return self.__get_value("commandParams/version")
 +
 +  def check_command_retry_enabled(self):
 +    """
 +    Check need to retry command or not
 +    :return: True or False
 +    """
 +    return self.__get_value('commandParams/command_retry_enabled', False)
 +
 +  def check_upgrade_direction(self):
 +    return self.__get_value('commandParams/upgrade_direction')
 +
 +  def get_upgrade_type(self):
 +    return self.__get_value('commandParams/upgrade_type', '')
 +
 +  def is_rolling_restart_in_upgrade(self):
 +    return self.__get_value('commandParams/rolling_restart', False)
 +
 +  def is_update_files_only(self):
 +    return self.__get_value('commandParams/update_files_only', False)
 +
 +  def get_deploy_phase(self):
 +    return self.__get_value('commandParams/phase')
 +
 +  def get_dfs_type(self):
-     return self.__get_value('commandParams/dfs_type')
++    return self.__get_value('clusterLevelParams/dfs_type')
 +
 +  def get_module_package_folder(self):
 +    return self.__get_value('commandParams/service_package_folder')
 +
 +  def get_ambari_java_home(self):
 +    return self.__get_value('commandParams/ambari_java_home')
 +
 +  def get_ambari_java_name(self):
 +    return self.__get_value('commandParams/ambari_java_name')
 +
 +  def get_ambari_jce_name(self):
 +    return self.__get_value('commandParams/ambari_jce_name')
 +
 +  def get_ambari_jdk_name(self):
 +    return self.__get_value('commandParams/ambari_jdk_name')
 +
 +  def need_refresh_topology(self):
 +    return self.__get_value('commandParams/refresh_topology', False)
 +
 +  def check_only_update_files(self):
 +    return self.__get_value('commandParams/update_files_only', False)
 +
 +  def get_desired_namenode_role(self):
 +    """
 +    The desired role is only available during a Non-Rolling Upgrade in HA.
 +    The server calculates which of the two NameNodes will be the active,
 +    and the other the standby since they are started using different commands.
 +    :return: the node's role (active or standby)
 +    """
 +    return self.__get_value('commandParams/desired_namenode_role')
 +
 +  def get_node(self, type):
 +    key = "commandParams/" + type + "node"
 +    return self.__get_value(key)
 +
 +  """
 +  Role related variables section
 +  """
 +
 +  def is_upgrade_suspended(self):
 +    return self.__get_value('roleParams/upgrade_suspended', False)
 +
 +  """
 +  Cluster Host Info
 +  """
 +
 +  def get_component_hosts(self, component_name):
 +    key = "clusterHostInfo/" + component_name + "_hosts"
 +    if component_name == "oozie_server":
 +      key = "clusterHostInfo/" + component_name
 +    return self.__get_value(key, [])
 +
 +  def get_component_host(self, component_name):
 +    key = "clusterHostInfo/" + component_name + "_host"
 +    return self.__get_value(key, [])
 +
 +  def get_all_hosts(self):
 +    return self.__get_value('clusterHostInfo/all_hosts', [])
 +
 +  def get_all_racks(self):
 +    return self.__get_value('clusterHostInfo/all_racks', [])
 +
 +  def get_all_ipv4_ips(self):
 +    return self.__get_value('clusterHostInfo/all_ipv4_ips', [])
diff --cc ambari-common/src/main/python/resource_management/libraries/script/script.py
index 234d94a,556412a..93fe672
--- a/ambari-common/src/main/python/resource_management/libraries/script/script.py
+++ b/ambari-common/src/main/python/resource_management/libraries/script/script.py
@@@ -775,23 -793,9 +799,23 @@@ class Script(object)
      except Exception as err:
        Logger.exception("Unable to load available packages")
        self.available_packages_in_repos = []
- 
-   def create_component_instance(self):
-     # should be used only when mpack-instance-manager is available
-     from resource_management.libraries.functions.mpack_manager_helper import create_component_instance
-     config = self.get_config()
-     execution_command = self.get_execution_command()
-     mpack_name = execution_command.get_mpack_name()
-     mpack_version = execution_command.get_mpack_version()
-     mpack_instance_name = execution_command.get_servicegroup_name()
-     module_name = execution_command.get_module_name()
-     component_type = execution_command.get_component_type()
-     component_instance_name = execution_command.get_component_instance_name()
- 
-     create_component_instance(mpack_name=mpack_name, mpack_version=mpack_version, instance_name=mpack_instance_name,
-                               module_name=module_name, components_instance_type=component_type,
-                               component_instance_name=component_instance_name)
--
+     return self.available_packages_in_repos
+ 
++def create_component_instance(self):
++  # should be used only when mpack-instance-manager is available
++  from resource_management.libraries.functions.mpack_manager_helper import create_component_instance
++  config = self.get_config()
++  execution_command = self.get_execution_command()
++  mpack_name = execution_command.get_mpack_name()
++  mpack_version = execution_command.get_mpack_version()
++  mpack_instance_name = execution_command.get_servicegroup_name()
++  module_name = execution_command.get_module_name()
++  component_type = execution_command.get_component_type()
++  component_instance_name = execution_command.get_component_instance_name()
++
++  create_component_instance(mpack_name=mpack_name, mpack_version=mpack_version, instance_name=mpack_instance_name,
++                            module_name=module_name, components_instance_type=component_type,
++                            component_instance_name=component_instance_name)
  
    def install_packages(self, env):
      """
diff --cc ambari-server/src/main/java/org/apache/ambari/annotations/ExperimentalFeature.java
index d85d51c,bc399ff..0e5dc3a
--- a/ambari-server/src/main/java/org/apache/ambari/annotations/ExperimentalFeature.java
+++ b/ambari-server/src/main/java/org/apache/ambari/annotations/ExperimentalFeature.java
@@@ -40,24 -40,13 +40,35 @@@ public enum ExperimentalFeature 
    MULTI_SERVICE,
  
    /**
 +   * Component version reporting, storage, and comparison.
 +   */
 +  VERSION_REPORTING,
 +
 +  /**
 +   * For code that is for upgrading Mpacks.  Use this to mark code that may ultimately
 +   * be removed.
 +   */
 +  MPACK_UPGRADES,
 +
 +  /**
 +   * Use this annotation when a test needs to be written.
 +   */
 +  UNIT_TEST_REQUIRED,
 +
 +  /**
 +   * Loading and dealing with upgrade checks dynamically and injecting
 +   * configurations into them.
 +   */
-   UPGRADE_PACK_PRE_CHECKS;
++  UPGRADE_PACK_PRE_CHECKS,
++
++  /*
+    * Support for service-specific repos for custom services
+    */
+   CUSTOM_SERVICE_REPOS,
+ 
+   /**
+    * Automatically removing Kerberos identities when a service or component is
+    * removed.
+    */
+   ORPHAN_KERBEROS_IDENTITY_REMOVAL;
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
index 4898db8,29156ce..dc341b0
--- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
@@@ -33,13 -32,10 +33,14 @@@ import org.apache.ambari.server.agent.C
  import org.apache.ambari.server.agent.ExecutionCommand;
  import org.apache.ambari.server.api.services.AmbariMetaInfo;
  import org.apache.ambari.server.configuration.Configuration;
+ import org.apache.ambari.server.controller.spi.SystemException;
  import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
 +import org.apache.ambari.server.orm.dao.MpackDAO;
 +import org.apache.ambari.server.orm.dao.ServiceGroupDAO;
 +import org.apache.ambari.server.orm.entities.MpackEntity;
  import org.apache.ambari.server.orm.entities.RepoOsEntity;
 -import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 +import org.apache.ambari.server.orm.entities.ServiceGroupEntity;
 +import org.apache.ambari.server.orm.entities.StackEntity;
  import org.apache.ambari.server.orm.entities.UpgradeEntity;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Clusters;
@@@ -208,24 -187,30 +209,40 @@@ public class ExecutionCommandWrapper 
          executionCommand.setUpgradeSummary(upgradeSummary);
        }
  
 +      ServiceGroupEntity serviceGroupEntity = serviceGroupDAO.find(clusterId,
 +          executionCommand.getServiceGroupName());
 +
 +      StackEntity stack = serviceGroupEntity.getStack();
 +      Long mpackId = stack.getMpackId();
 +      Mpack mpack = ambariMetaInfo.getMpack(mpackId);
 +
 +      if (null == executionCommand.getMpackId()) {
 +        executionCommand.setMpackId(mpackId);
 +      }
 +
        // setting repositoryFile
        final Host host = cluster.getHost(executionCommand.getHostname());  // can be null on internal commands
-       if (null == executionCommand.getRepositoryFile() && null != host && mpackId != null) {
-         MpackEntity mpackEntity = mpackDAO.findById(mpackId);
-         RepoOsEntity osEntity = repoVersionHelper.getOSEntityForHost(mpackEntity, host);
-         final CommandRepository commandRepository = repoVersionHelper.getCommandRepository(mpack, osEntity);
-         executionCommand.setRepositoryFile(commandRepository);
+       final String serviceName = executionCommand.getServiceName(); // can be null on executing special RU tasks
 -
 -      if (null == executionCommand.getRepositoryFile() && null != host && null != serviceName) {
++      if (null == executionCommand.getRepositoryFile() && null != host && null != serviceName && mpackId != null) {
+         final CommandRepository commandRepository;
+         final Service service = cluster.getService(serviceName);
+         final String componentName = executionCommand.getComponentName();
+ 
+         try {
+           if (null != componentName) {
+             ServiceComponent serviceComponent = service.getServiceComponent(componentName);
+             commandRepository = repoVersionHelper.getCommandRepository(cluster, serviceComponent, host);
+           } else {
 -            RepositoryVersionEntity repoVersion = service.getDesiredRepositoryVersion();
 -            RepoOsEntity osEntity = repoVersionHelper.getOSEntityForHost(host, repoVersion);
 -            commandRepository = repoVersionHelper.getCommandRepository(repoVersion, osEntity);
++            MpackEntity mpackEntity = mpackDAO.findById(mpackId);
++            RepoOsEntity osEntity = repoVersionHelper.getOSEntityForHost(mpackEntity, host);
++            commandRepository = repoVersionHelper.getCommandRepository(mpack, osEntity);
+           }
+           executionCommand.setRepositoryFile(commandRepository);
+ 
+         } catch (SystemException e) {
+           LOG.debug("Unable to find command repository with a correct operating system for host {}",
+               host, e);
+         }
        }
  
      } catch (ClusterNotFoundException cnfe) {
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
index cc972b6,00c837a..48177e8
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
@@@ -40,18 -43,18 +43,22 @@@ public class CommandRepository 
    @JsonProperty("repositories")
    private List<Repository> m_repositories = new ArrayList<>();
  
 -  @SerializedName("repoVersion")
 -  @JsonProperty("repoVersion")
 -  private String m_repoVersion;
 +  @SerializedName("mpackId")
 +  @JsonProperty("mpackId")
 +  private long m_mpackId;
 +
 +  @SerializedName("mpackName")
 +  @JsonProperty("mpackName")
 +  private String m_mpackName;
 +
 +  @SerializedName("mpackVersion")
 +  @JsonProperty("mpackVersion")
 +  private String m_mpackVersion;
  
+   @SerializedName("repoVersionId")
+   @JsonProperty("repoVersionId")
+   private long m_repoVersionId;
+ 
 -  @SerializedName("stackName")
 -  @JsonProperty("stackName")
 -  private String m_stackName;
 -
    @SerializedName("repoFileName")
    @JsonProperty("repoFileName")
    private String m_repoFileName;
@@@ -94,6 -88,20 +101,17 @@@
    }
  
    /**
+    * @param id the repository id
+    */
+   public void setRepositoryVersionId(long id) {
+     m_repoVersionId = id;
+   }
+ 
 -  /**
 -   * @param name the stack name
 -   */
 -  public void setStackName(String name) {
 -    m_stackName = name;
++  public long getRepoVersionId() {
++    return m_repoVersionId;
+   }
+ 
+   /**
     * @param repositories the repositories if sourced from the stack instead of the repo_version.
     */
    public void setRepositories(Collection<RepositoryInfo> repositories) {
@@@ -279,9 -349,23 +320,24 @@@
            .append("components", m_components)
            .append("id", m_repoId)
            .append("baseUrl", m_baseUrl)
+           .append("applicableServices", (m_applicableServices != null? StringUtils.join(m_applicableServices, ",") : ""))
            .toString();
      }
 +
    }
  
+   @Override
+   public boolean equals(Object o) {
+     if (this == o) return true;
+     if (o == null || getClass() != o.getClass()) return false;
+ 
+     CommandRepository that = (CommandRepository) o;
+ 
+     return m_repoVersionId == that.m_repoVersionId;
+   }
+ 
+   @Override
+   public int hashCode() {
+     return (int) (m_repoVersionId ^ (m_repoVersionId >>> 32));
+   }
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
index 0bde1a9,7d70390..52add8c
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
@@@ -176,29 -182,16 +196,16 @@@ public class HeartBeatHandler 
          hostname,
          currentResponseId);
  
 -      return createRestartCommand(currentResponseId);
 +      return createRestartCommand(currentResponseId, hostname);
      }
- 
-     response = new HeartBeatResponse();
      response.setResponseId(++currentResponseId);
  
-     Host hostObject;
-     try {
-       hostObject = clusterFsm.getHost(hostname);
-     } catch (HostNotFoundException e) {
-       LOG.error("Host: {} not found. Agent is still heartbeating.", hostname);
-       if (LOG.isDebugEnabled()) {
-         LOG.debug("Host associated with the agent heratbeat might have been " +
-           "deleted", e);
-       }
-       // For now return empty response with only response id.
-       return response;
-     }
- 
      if (hostObject.getState().equals(HostState.HEARTBEAT_LOST)) {
        // After loosing heartbeat agent should reregister
        LOG.warn("Host {} is in HEARTBEAT_LOST state - sending register command", hostname);
+       STOMPUpdatePublisher.publish(new AgentActionEvent(AgentActionEvent.AgentAction.RESTART_AGENT,
+           hostObject.getHostId()));
 -      return createRegisterCommand();
 +      return createRegisterCommand(hostname);
      }
  
      hostResponseIds.put(hostname, currentResponseId);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/HostLevelParamsHolder.java
index b6a20ad,3c44f57..783ad4f
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/HostLevelParamsHolder.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/HostLevelParamsHolder.java
@@@ -24,8 -24,10 +24,10 @@@ import org.apache.ambari.server.AmbariE
  import org.apache.ambari.server.agent.RecoveryConfigHelper;
  import org.apache.ambari.server.agent.stomp.dto.HostLevelParamsCluster;
  import org.apache.ambari.server.controller.AmbariManagementController;
 -import org.apache.ambari.server.events.ClusterComponentsRepoChangedEvent;
  import org.apache.ambari.server.events.HostLevelParamsUpdateEvent;
+ import org.apache.ambari.server.events.MaintenanceModeEvent;
+ import org.apache.ambari.server.events.ServiceComponentRecoveryChangedEvent;
 +import org.apache.ambari.server.events.ServiceGroupMpackChangedEvent;
  import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Clusters;
@@@ -70,11 -81,37 +81,38 @@@ public class HostLevelParamsHolder exte
      return hostLevelParamsUpdateEvent;
    }
  
-   @Override
-   protected boolean handleUpdate(HostLevelParamsUpdateEvent update) throws AmbariException {
-     //TODO implement update host level params process
-     setData(update, update.getHostId());
-     return true;
++
+   protected boolean handleUpdate(HostLevelParamsUpdateEvent update) {
+     boolean changed = false;
+     if (MapUtils.isNotEmpty(update.getHostLevelParamsClusters())) {
+       Long hostId = update.getHostId();
+       for (Map.Entry<String, HostLevelParamsCluster> hostLevelParamsClusterEntry : update.getHostLevelParamsClusters().entrySet()) {
+         HostLevelParamsCluster updatedCluster = hostLevelParamsClusterEntry.getValue();
+         String clusterId = hostLevelParamsClusterEntry.getKey();
+         Map<String, HostLevelParamsCluster> clusters = getData().get(hostId).getHostLevelParamsClusters();
+         if (clusters.containsKey(clusterId)) {
+           HostLevelParamsCluster cluster = clusters.get(clusterId);
+           if (!cluster.getRecoveryConfig().equals(updatedCluster.getRecoveryConfig())) {
+             cluster.setRecoveryConfig(updatedCluster.getRecoveryConfig());
+             changed = true;
+           }
+           if (!cluster.getHostRepositories().getRepositories()
+               .equals(updatedCluster.getHostRepositories().getRepositories())) {
+             cluster.getHostRepositories().setRepositories(updatedCluster.getHostRepositories().getRepositories());
+             changed = true;
+           }
+           if (!cluster.getHostRepositories().getComponentRepos()
+               .equals(updatedCluster.getHostRepositories().getComponentRepos())) {
+             cluster.getHostRepositories().setComponentRepos(updatedCluster.getHostRepositories().getComponentRepos());
+             changed = true;
+           }
+         } else {
+           clusters.put(clusterId, updatedCluster);
+           changed = true;
+         }
+       }
+     }
+     return changed;
    }
  
    @Override
@@@ -83,18 -120,43 +121,45 @@@
    }
  
    @Subscribe
 -  public void onClusterComponentsRepoUpdate(ClusterComponentsRepoChangedEvent clusterComponentsRepoChangedEvent) throws AmbariException {
 +  public void onUpgradeDesiredMpackChange(ServiceGroupMpackChangedEvent clusterComponentsRepoChangedEvent) throws AmbariException {
 +    Long clusterId = clusterComponentsRepoChangedEvent.getClusterId();
 +
+     Cluster cluster = clusters.getCluster(clusterComponentsRepoChangedEvent.getClusterId());
+     for (Host host : cluster.getHosts()) {
+       updateDataOfHost(clusterComponentsRepoChangedEvent.getClusterId(), cluster, host);
+     }
+   }
+ 
+   @Subscribe
+   public void onServiceComponentRecoveryChanged(ServiceComponentRecoveryChangedEvent event) throws AmbariException {
+     long clusterId = event.getClusterId();
      Cluster cluster = clusters.getCluster(clusterId);
-     Collection<Host> hosts = clusters.getCluster(clusterId).getHosts();
-     for (Host host : hosts) {
-       HostLevelParamsUpdateEvent hostLevelParamsUpdateEvent = new HostLevelParamsUpdateEvent(Long.toString(clusterId),
-           new HostLevelParamsCluster(
-             m_ambariManagementController.get().retrieveHostRepositories(cluster, host),
-             recoveryConfigHelper.getRecoveryConfig(cluster.getClusterName(), host.getHostName())));
-       hostLevelParamsUpdateEvent.setHostId(host.getHostId());
-       updateData(hostLevelParamsUpdateEvent);
+     for (ServiceComponentHost host : cluster.getServiceComponentHosts(event.getServiceName(), event.getComponentName())) {
+       updateDataOfHost(clusterId, cluster, host.getHost());
+     }
+   }
+ 
+   private void updateDataOfHost(long clusterId, Cluster cluster, Host host) throws AmbariException {
+     HostLevelParamsUpdateEvent hostLevelParamsUpdateEvent = new HostLevelParamsUpdateEvent(Long.toString(clusterId),
+             new HostLevelParamsCluster(
+                     m_ambariManagementController.get().retrieveHostRepositories(cluster, host),
+                     recoveryConfigHelper.getRecoveryConfig(cluster.getClusterName(), host.getHostName())));
+     hostLevelParamsUpdateEvent.setHostId(host.getHostId());
+     updateData(hostLevelParamsUpdateEvent);
+   }
+ 
+   @Subscribe
+   public void onMaintenanceModeChanged(MaintenanceModeEvent event) throws AmbariException {
+     long clusterId = event.getClusterId();
+     Cluster cluster = clusters.getCluster(clusterId);
+     if (event.getHost() != null || event.getServiceComponentHost() != null) {
+       Host host = event.getHost() != null ? event.getHost() : event.getServiceComponentHost().getHost();
+       updateDataOfHost(clusterId, cluster, host);
+     }
+     else if (event.getService() != null) {
+       for (String hostName : event.getService().getServiceHosts()) {
+         updateDataOfHost(clusterId, cluster, cluster.getHost(hostName));
+       }
      }
    }
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
index 437ee9f,8fd8951..47ba8e6
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/MetadataHolder.java
@@@ -18,17 -18,22 +18,23 @@@
  package org.apache.ambari.server.agent.stomp;
  
  import java.util.Map;
+ import java.util.TreeMap;
  
  import org.apache.ambari.server.AmbariException;
+ import org.apache.ambari.server.ClusterNotFoundException;
  import org.apache.ambari.server.agent.stomp.dto.MetadataCluster;
 -import org.apache.ambari.server.controller.AmbariManagementControllerImpl;
+ import org.apache.ambari.server.events.AmbariPropertiesChangedEvent;
 -import org.apache.ambari.server.events.ClusterComponentsRepoChangedEvent;
 +import org.apache.ambari.server.events.ClusterConfigChangedEvent;
  import org.apache.ambari.server.events.MetadataUpdateEvent;
+ import org.apache.ambari.server.events.ServiceCredentialStoreUpdateEvent;
 +import org.apache.ambari.server.events.ServiceGroupMpackChangedEvent;
  import org.apache.ambari.server.events.ServiceInstalledEvent;
+ import org.apache.ambari.server.events.UpdateEventType;
  import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 +import org.apache.ambari.server.metadata.ClusterMetadataGenerator;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Clusters;
+ import org.apache.commons.collections.CollectionUtils;
  import org.apache.commons.collections.MapUtils;
  
  import com.google.common.eventbus.Subscribe;
@@@ -52,9 -57,19 +58,19 @@@ public class MetadataHolder extends Age
  
    @Override
    public MetadataUpdateEvent getCurrentData() throws AmbariException {
 -    return ambariManagementController.getClustersMetadata();
 +    return metadataGenerator.getClustersMetadata(m_clusters.get());
    }
  
+   public MetadataUpdateEvent getDeleteMetadata(Long clusterId) throws AmbariException {
+     TreeMap<String, MetadataCluster> clusterToRemove = new TreeMap<>();
+     if (clusterId != null) {
+       clusterToRemove.put(Long.toString(clusterId), MetadataCluster.emptyMetadataCluster());
+     }
+     MetadataUpdateEvent deleteEvent = new MetadataUpdateEvent(clusterToRemove, null , null,
+         UpdateEventType.DELETE);
+     return deleteEvent;
+   }
+ 
    @Override
    protected boolean handleUpdate(MetadataUpdateEvent update) throws AmbariException {
      boolean changed = false;
@@@ -96,8 -122,19 +130,20 @@@
    }
  
    @Subscribe
 -  public void onClusterComponentsRepoUpdate(ClusterComponentsRepoChangedEvent clusterComponentsRepoChangedEvent) throws AmbariException {
 +  public void onUpgradeDesiredMpackChange(ServiceGroupMpackChangedEvent clusterComponentsRepoChangedEvent) throws AmbariException {
      Cluster cluster = m_clusters.get().getCluster(clusterComponentsRepoChangedEvent.getClusterId());
 -    updateData(ambariManagementController.getClusterMetadataOnRepoUpdate(cluster));
 +    updateData(metadataGenerator.getClusterMetadataOnRepoUpdate(cluster));
    }
+ 
+   @Subscribe
+   public void onServiceCredentialStoreUpdate(ServiceCredentialStoreUpdateEvent serviceCredentialStoreUpdateEvent) throws AmbariException {
+     Cluster cluster = m_clusters.get().getCluster(serviceCredentialStoreUpdateEvent.getClusterId());
 -    updateData(ambariManagementController.getClusterMetadataOnServiceCredentialStoreUpdate(cluster, serviceCredentialStoreUpdateEvent.getServiceName()));
++    //TODO : [AMP] Fix it
++    // updateData(ambariManagementController.getClusterMetadataOnServiceCredentialStoreUpdate(cluster, serviceCredentialStoreUpdateEvent.getServiceName()));
+   }
+ 
+   @Subscribe
+   public void onAmbariPropertiesChange(AmbariPropertiesChangedEvent event) throws AmbariException {
 -    updateData(ambariManagementController.getClustersMetadata());
++    updateData(metadataGenerator.getClustersMetadata(m_clusters.get()));
+   }
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/TopologyHolder.java
index 1d0ec44,7224afc..1939d92
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/TopologyHolder.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/TopologyHolder.java
@@@ -30,9 -30,10 +30,10 @@@ import org.apache.ambari.server.agent.s
  import org.apache.ambari.server.agent.stomp.dto.TopologyComponent;
  import org.apache.ambari.server.agent.stomp.dto.TopologyHost;
  import org.apache.ambari.server.controller.AmbariManagementControllerImpl;
 -import org.apache.ambari.server.events.ClusterComponentsRepoChangedEvent;
 +import org.apache.ambari.server.events.ServiceGroupMpackChangedEvent;
  import org.apache.ambari.server.events.TopologyAgentUpdateEvent;
  import org.apache.ambari.server.events.TopologyUpdateEvent;
+ import org.apache.ambari.server.events.UpdateEventType;
  import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Clusters;
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
index ae31086,acdf9ed..16ade9a
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
@@@ -111,46 -100,48 +111,46 @@@ public class ClusterBlueprintRenderer e
  
      copyPropertiesToResult(queryProperties, resultTree);
  
 -    String configType = Resource.Type.Configuration.name();
 -    if (resultTree.getChild(configType) == null) {
 -      resultTree.addChild(new HashSet<>(), configType);
 -    }
 +    ensureChild(resultTree, Resource.Type.Configuration, "properties");
 +
 +    ensureChild(resultTree, Resource.Type.ClusterSetting);
 +
 +    TreeNode<Set<String>> serviceGroupNode = ensureChild(resultTree, Resource.Type.ServiceGroup,
 +      ServiceGroupResourceProvider.SERVICE_GROUP_MPACK_NAME,
 +      ServiceGroupResourceProvider.SERVICE_GROUP_MPACK_VERSION
 +    );
 +    TreeNode<Set<String>> serviceNode = ensureChild(serviceGroupNode, Resource.Type.Service);
 +    ensureChild(serviceNode, Resource.Type.Component,
-       ComponentResourceProvider.COMPONENT_CLUSTER_NAME_PROPERTY_ID,
-       ComponentResourceProvider.COMPONENT_SERVICE_NAME_PROPERTY_ID,
-       ComponentResourceProvider.COMPONENT_SERVICE_TYPE_PROPERTY_ID,
-       ComponentResourceProvider.COMPONENT_COMPONENT_NAME_PROPERTY_ID,
-       ComponentResourceProvider.COMPONENT_RECOVERY_ENABLED_ID);
++      ComponentResourceProvider.CLUSTER_NAME,
++      ComponentResourceProvider.SERVICE_NAME,
++      ComponentResourceProvider.SERVICE_TYPE,
++      ComponentResourceProvider.COMPONENT_NAME,
++      ComponentResourceProvider.RECOVERY_ENABLED);
 +
 +    TreeNode<Set<String>> hostNode = ensureChild(resultTree, Resource.Type.Host);
 +    ensureChild(hostNode, Resource.Type.HostComponent,
-       HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID,
-       HostComponentResourceProvider.HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
-       HostComponentResourceProvider.HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID,
-       HostComponentResourceProvider.HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
++      HostComponentResourceProvider.COMPONENT_NAME,
++      HostComponentResourceProvider.SERVICE_NAME,
++      HostComponentResourceProvider.SERVICE_TYPE,
++      HostComponentResourceProvider.SERVICE_GROUP_NAME);
  
 -    String serviceType = Resource.Type.Service.name();
 -    if (resultTree.getChild(serviceType) == null) {
 -      resultTree.addChild(new HashSet<>(), serviceType);
 -    }
 -    TreeNode<Set<String>> serviceNode = resultTree.getChild(serviceType);
 -    if (serviceNode == null) {
 -      serviceNode = resultTree.addChild(new HashSet<>(), serviceType);
 -    }
 -    String serviceComponentType = Resource.Type.Component.name();
 -    TreeNode<Set<String>> serviceComponentNode = resultTree.getChild(
 -      serviceType + "/" + serviceComponentType);
 -    if (serviceComponentNode == null) {
 -      serviceComponentNode = serviceNode.addChild(new HashSet<>(), serviceComponentType);
 +    return resultTree;
 +  }
 +
 +  private TreeNode<Set<String>> ensureChild(TreeNode<Set<String>> parent,
 +                                            Resource.Type resourceType,
 +                                            String... properties) {
 +    TreeNode<Set<String>> child = parent.getChild(resourceType.name());
 +    if (null == child) {
 +      child = parent.addChild(new HashSet<>(), resourceType.name());
      }
 -    serviceComponentNode.getObject().add("ServiceComponentInfo/cluster_name");
 -    serviceComponentNode.getObject().add("ServiceComponentInfo/service_name");
 -    serviceComponentNode.getObject().add("ServiceComponentInfo/component_name");
 -    serviceComponentNode.getObject().add("ServiceComponentInfo/recovery_enabled");
 -
 -    String hostType = Resource.Type.Host.name();
 -    String hostComponentType = Resource.Type.HostComponent.name();
 -    TreeNode<Set<String>> hostComponentNode = resultTree.getChild(
 -        hostType + "/" + hostComponentType);
 -
 -    if (hostComponentNode == null) {
 -      TreeNode<Set<String>> hostNode = resultTree.getChild(hostType);
 -      if (hostNode == null) {
 -        hostNode = resultTree.addChild(new HashSet<>(), hostType);
 -      }
 -      hostComponentNode = hostNode.addChild(new HashSet<>(), hostComponentType);
 +    for (String property: properties) {
 +      child.getObject().add(property);
      }
 -    resultTree.getChild(configType).getObject().add("properties");
 -    hostComponentNode.getObject().add("HostRoles/component_name");
 -
 -    return resultTree;
 +    return child;
    }
  
 +
    @Override
    public Result finalizeResult(Result queryResult) {
      TreeNode<Resource> resultTree = queryResult.getResultTree();
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
index c89a506,81ce705..47cbeff
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
@@@ -90,10 -79,28 +104,28 @@@ public class ConfigurationService exten
     * @param ui      uri info
     * @return service collection resource representation
     */
-   @GET @ApiIgnore // until documented
-   @Produces("text/plain")
+   @GET
+   @Path("") // This is needed if class level path is not present otherwise no Swagger docs will be generated for this method
+   @Produces(MediaType.TEXT_PLAIN)
+   @ApiOperation(value = "Get all configurations", response = ConfigurationResponse.class, responseContainer =
+           RESPONSE_CONTAINER_LIST)
+   @ApiImplicitParams({
+     @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_SORT, value = QUERY_SORT_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_PAGE_SIZE, value = QUERY_PAGE_SIZE_DESCRIPTION, defaultValue = DEFAULT_PAGE_SIZE, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_FROM, value = QUERY_FROM_DESCRIPTION, allowableValues = QUERY_FROM_VALUES, defaultValue = DEFAULT_FROM, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_TO, value = QUERY_TO_DESCRIPTION, allowableValues = QUERY_TO_VALUES, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+   })
+   @ApiResponses({
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+   })
    public Response getConfigurations(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
 -    return handleRequest(headers, body, ui, Request.Type.GET, createConfigurationResource(m_clusterName));
 +    return handleRequest(headers, body, ui, Request.Type.GET, createConfigurationResource(m_clusterName, m_serviceGroupName, m_serviceName));
    }
  
    /**
@@@ -118,11 -125,25 +150,25 @@@
     * @param ui      uri info
     * @return status code only, 201 if successful
     */
-   @POST @ApiIgnore // until documented
-   @Produces("text/plain")
+   @POST
+   @Path("") // This is needed if class level path is not present otherwise no Swagger docs will be generated for this method
+   @Produces(MediaType.TEXT_PLAIN)
+   @ApiOperation(value = "Create new configurations")
+   @ApiImplicitParams({
+     @ApiImplicitParam(dataType = CONFIGURATION_REQUEST_TYPE, paramType = PARAM_TYPE_BODY,  allowMultiple = true)
+   })
+   @ApiResponses(value = {
+     @ApiResponse(code = HttpStatus.SC_CREATED, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+   })
    public Response createConfigurations(String body,@Context HttpHeaders headers, @Context UriInfo ui) {
  
 -    return handleRequest(headers, body, ui, Request.Type.POST, createConfigurationResource(m_clusterName));
 +    return handleRequest(headers, body, ui, Request.Type.POST, createConfigurationResource(m_clusterName, m_serviceGroupName, m_serviceName));
    }
  
    /**
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
index 503c301,2f2051a..4bbccda
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
@@@ -39,10 -39,12 +39,11 @@@ import javax.ws.rs.core.MediaType
  import javax.ws.rs.core.Response;
  import javax.ws.rs.core.UriInfo;
  
--import org.apache.ambari.annotations.ApiIgnore;
+ import org.apache.ambari.annotations.SwaggerPreferredParent;
  import org.apache.ambari.server.api.resources.ResourceInstance;
  import org.apache.ambari.server.configuration.Configuration;
- import org.apache.ambari.server.controller.ServiceComponentHostResponse;
+ import org.apache.ambari.server.controller.HostComponentProcessResponse;
+ import org.apache.ambari.server.controller.HostComponentSwagger;
  import org.apache.ambari.server.controller.spi.Resource;
  import org.apache.commons.lang.StringUtils;
  import org.apache.commons.lang.Validate;
@@@ -90,28 -94,26 +92,26 @@@ public class HostComponentService exten
     *
     * @param headers           http headers
     * @param ui                uri info
 -   * @param hostComponentName host_component id
 -   * @return host_component resource representation
 +   * @param hostComponentId   host_component id
 +   * @return host_component   resource representation
     */
    @GET
 -  @Path("{hostComponentName}")
 +  @Path("{hostComponentId}")
-   @Produces("text/plain")
-   @ApiOperation(value = "Get the details of a given Host Component",
-           nickname = "HostComponentService#getHostComponent",
-           notes = "Returns the details of a hostComponent",
-           response = ServiceComponentHostResponse.ServiceComponentHostResponseSwagger.class,
-           responseContainer = RESPONSE_CONTAINER_LIST)
+   @Produces(MediaType.TEXT_PLAIN)
+   @ApiOperation(value = "Get single host component for a host", response = HostComponentSwagger.class)
    @ApiImplicitParams({
-           @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, defaultValue = "HostRoles/*",
-                   dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY)
+     @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY),
    })
-   @ApiResponses(value = {
-           @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR)
+   @ApiResponses({
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
    })
    public Response getHostComponent(String body, @Context HttpHeaders headers, @Context UriInfo ui,
 -                                   @PathParam("hostComponentName") String hostComponentName, @QueryParam("format") String format) {
 +                                   @PathParam("hostComponentId") String hostComponentId, @QueryParam("format") String format) {
  
      //todo: needs to be refactored when properly handling exceptions
      if (m_hostName == null) {
@@@ -179,23 -172,20 +170,20 @@@
     *
     * @return status code only, 201 if successful
     */
 -  @POST @ApiIgnore // ignored as doesnt work as intended, not able to accept multiple HostRoles
 +  @POST
    @Produces(MediaType.TEXT_PLAIN)
-   @ApiOperation(value = "Creates a Host Component",
-           nickname = "HostComponentService#createHostComponents"
-   )
+   @ApiOperation(value = "Create new host components")
    @ApiImplicitParams({
-           @ApiImplicitParam(dataType = HOST_COMPONENT_REQUEST_TYPE, paramType = PARAM_TYPE_BODY)
+     @ApiImplicitParam(dataType = HOST_ROLE_REQUEST_TYPE, paramType = PARAM_TYPE_BODY,  allowMultiple = true)
    })
-   @ApiResponses({
-           @ApiResponse(code = HttpStatus.SC_CREATED, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
-           @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_CONFLICT, message = MSG_RESOURCE_ALREADY_EXISTS),
-           @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
-           @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+   @ApiResponses(value = {
+     @ApiResponse(code = HttpStatus.SC_CREATED, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
    })
    public Response createHostComponents(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
  
@@@ -215,28 -239,26 +203,26 @@@
     * @return information regarding updated host_component
     */
    @PUT
 -  @Path("{hostComponentName}")
 +  @Path("{hostComponentId}")
    @Produces(MediaType.TEXT_PLAIN)
-   @ApiOperation(value = "Updates a given Host Component",
-           nickname = "HostComponentService#updateHostComponent"
-   )
+   @ApiOperation(value = "Update host component detail")
    @ApiImplicitParams({
-           @ApiImplicitParam(dataType = HOST_COMPONENT_REQUEST_TYPE, paramType = PARAM_TYPE_BODY)
+     @ApiImplicitParam(dataType = HOST_ROLE_REQUEST_TYPE, paramType = PARAM_TYPE_BODY)
    })
    @ApiResponses({
-           @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
-           @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
-           @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
    })
    public Response updateHostComponent(String body, @Context HttpHeaders headers, @Context UriInfo ui,
 -                                      @PathParam("hostComponentName") String hostComponentName) {
 +                                      @PathParam("hostComponentId") String hostComponentId) {
  
      return handleRequest(headers, body, ui, Request.Type.PUT,
 -        createHostComponentResource(m_clusterName, m_hostName, hostComponentName));
 +        createHostComponentResource(m_clusterName, m_hostName, hostComponentId));
    }
  
    /**
@@@ -249,22 -271,20 +235,20 @@@
     *
     * @return information regarding updated host_component resources
     */
 -  @PUT @ApiIgnore // ignored as doesnt work as intended, not able to accept multiple HostRoles
 +  @PUT
    @Produces(MediaType.TEXT_PLAIN)
-   @ApiOperation(value = "Updates multiple Host Components",
-           nickname = "HostComponentService#updateHostComponents"
-   )
+   @ApiOperation(value = "Update multiple host component details")
    @ApiImplicitParams({
-           @ApiImplicitParam(dataType = HOST_COMPONENT_REQUEST_TYPE, paramType = PARAM_TYPE_BODY)
+     @ApiImplicitParam(dataType = HOST_ROLE_REQUEST_TYPE, paramType = PARAM_TYPE_BODY,  allowMultiple = true)
    })
    @ApiResponses({
-           @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
-           @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
-           @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
    })
    public Response updateHostComponents(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
  
@@@ -282,24 -302,24 +266,24 @@@
     *
     * @return host_component resource representation
     */
-   @DELETE @ApiIgnore // until documented
+   @DELETE
 -  @Path("{hostComponentName}")
 +  @Path("{hostComponentId}")
    @Produces(MediaType.TEXT_PLAIN)
-   @ApiOperation(value = "Deletes a hostComponent",
-           nickname = "HostComponentService#deleteHostComponent"
-   )
+   @ApiOperation(value = "Delete host component")
+   @ApiImplicitParams({
+   })
    @ApiResponses({
-           @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
-           @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
    })
    public Response deleteHostComponent(@Context HttpHeaders headers, @Context UriInfo ui,
 -                                   @PathParam("hostComponentName") String hostComponentName) {
 +                                   @PathParam("hostComponentId") String hostComponentId) {
  
      return handleRequest(headers, null, ui, Request.Type.DELETE,
 -        createHostComponentResource(m_clusterName, m_hostName, hostComponentName));
 +        createHostComponentResource(m_clusterName, m_hostName, hostComponentId));
    }
  
    /**
@@@ -329,24 -350,24 +314,23 @@@
          createHostComponentResource(m_clusterName, m_hostName, null));
    }
  
 -
    @GET
-   @Produces(MediaType.TEXT_PLAIN)
 -  @Path("{hostComponentName}/processes")
 +  @Path("{hostComponentId}/processes")
-   @ApiOperation(value = "Get details of processes.",
-           nickname = "HostComponentService#getProcesses",
-           notes = "Returns the details of a host component processes.",
-           responseContainer = RESPONSE_CONTAINER_LIST)
+   @Produces(MediaType.TEXT_PLAIN)
+   @ApiOperation(value = "Get processes of a specific host component", response = HostComponentProcessResponse.class)
    @ApiImplicitParams({
-           @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, defaultValue = "HostRoles/*",
-                   dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY)
+     @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY),
    })
-   @ApiResponses(value = {
-           @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
-           @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_RESOURCE_NOT_FOUND),
-           @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR)
+   @ApiResponses({
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
    })
    public Response getProcesses(@Context HttpHeaders headers, @Context UriInfo ui,
 -      @PathParam("hostComponentName") String hostComponentName) {
 +      @PathParam("hostComponentId") String hostComponentId) {
      Map<Resource.Type,String> mapIds = new HashMap<>();
      mapIds.put(Resource.Type.Cluster, m_clusterName);
      mapIds.put(Resource.Type.Host, m_hostName);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
index 3150d9a,bc859c5..0719324
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
@@@ -22,7 -22,7 +22,8 @@@ import java.util.HashMap
  import java.util.Map;
  
  import javax.ws.rs.GET;
 +import javax.ws.rs.POST;
+ import javax.ws.rs.Path;
  import javax.ws.rs.Produces;
  import javax.ws.rs.core.Context;
  import javax.ws.rs.core.HttpHeaders;
@@@ -29,10 -30,24 +31,25 @@@ import javax.ws.rs.core.MediaType
  import javax.ws.rs.core.Response;
  import javax.ws.rs.core.UriInfo;
  
 +import org.apache.ambari.annotations.ApiIgnore;
+ import org.apache.ambari.annotations.SwaggerOverwriteNestedAPI;
  import org.apache.ambari.server.api.resources.ResourceInstance;
+ import org.apache.ambari.server.controller.ServiceConfigVersionResponse;
  import org.apache.ambari.server.controller.spi.Resource;
  
+ import org.apache.http.HttpStatus;
+ 
+ import io.swagger.annotations.Api;
+ import io.swagger.annotations.ApiImplicitParam;
+ import io.swagger.annotations.ApiImplicitParams;
+ import io.swagger.annotations.ApiOperation;
+ import io.swagger.annotations.ApiResponse;
+ import io.swagger.annotations.ApiResponses;
+ 
+ @Api(value = "Configurations", description = "Endpoint for configuration-specific operations")
+ @SwaggerOverwriteNestedAPI(parentApi = ConfigurationService.class, parentApiPath =
+   "/clusters", parentMethodPath = "{clusterName}/configurations/service_config_versions", pathParameters =
+   {"clusterName"})
  public class ServiceConfigVersionService extends BaseService {
    /**
     * Parent cluster name.
@@@ -54,32 -59,39 +71,59 @@@
    }
  
    /**
 +   * Constructor.
 +   *
 +   * @param clusterName cluster name
 +   * @param serviceGroupName service group name
 +   * @param serviceName service name
 +   */
 +  public ServiceConfigVersionService(String clusterName, String serviceGroupName, String serviceName) {
 +    m_clusterName = clusterName;
 +    m_serviceGroupName = serviceGroupName;
 +    m_serviceName = serviceName;
 +  }
 +
 +  @POST @ApiIgnore // until documented
 +  @Produces("text/plain")
 +  public Response createConfigurations(String body,@Context HttpHeaders headers, @Context UriInfo ui) {
 +
 +    return handleRequest(headers, body, ui, Request.Type.POST, createServiceConfigResource(m_clusterName, m_serviceGroupName, m_serviceName));
 +  }
 +
-   @GET @ApiIgnore // until documented
-   @Produces("text/plain")
++  /**
+    * Handles URL: /clusters/{clusterId}/configurations/service_config_versions
+    * Get all service configuration versions for a cluster and service.
+    *
+    * @param headers http headers
+    * @param ui      uri info
+    * @return service config version collection resource representation
+    */
+   @GET
+   @Path("") // This is needed if class level path is not present otherwise no Swagger docs will be generated for this method
+   @Produces(MediaType.TEXT_PLAIN)
+   @ApiOperation(value = "Get all service config versions", response = ServiceConfigVersionResponse.class,
+     responseContainer = RESPONSE_CONTAINER_LIST)
+   @ApiImplicitParams({
+     @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType =
+       PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_SORT, value = QUERY_SORT_DESCRIPTION, dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_PAGE_SIZE, value = QUERY_PAGE_SIZE_DESCRIPTION, defaultValue = DEFAULT_PAGE_SIZE, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_FROM, value = QUERY_FROM_DESCRIPTION, allowableValues = QUERY_FROM_VALUES, defaultValue = DEFAULT_FROM, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+     @ApiImplicitParam(name = QUERY_TO, value = QUERY_TO_DESCRIPTION, allowableValues = QUERY_TO_VALUES, dataType = DATA_TYPE_INT, paramType = PARAM_TYPE_QUERY),
+   })
+   @ApiResponses({
+     @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION),
+     @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND),
+     @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED),
+     @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED),
+     @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR),
+     @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS),
+   })
    public Response getServiceConfigVersions(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
 -    return handleRequest(headers, body, ui, Request.Type.GET, createServiceConfigResource(m_clusterName));
 +    return handleRequest(headers, body, ui, Request.Type.GET, createServiceConfigResource(m_clusterName, m_serviceGroupName, m_serviceName));
    }
  
 -  ResourceInstance createServiceConfigResource(String clusterName) {
 +  ResourceInstance createServiceConfigResource(String clusterName, String serviceGroupName, String serviceName) {
      Map<Resource.Type,String> mapIds = new HashMap<>();
      mapIds.put(Resource.Type.Cluster, clusterName);
      mapIds.put(Resource.Type.ServiceConfigVersion, null);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/mpackadvisor/commands/MpackAdvisorCommand.java
index c3a288f,0000000..86438ee
mode 100644,000000..100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/mpackadvisor/commands/MpackAdvisorCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/mpackadvisor/commands/MpackAdvisorCommand.java
@@@ -1,547 -1,0 +1,540 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * "License"); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +package org.apache.ambari.server.api.services.mpackadvisor.commands;
 +
 +import java.io.File;
 +import java.io.FilenameFilter;
 +import java.io.IOException;
 +import java.lang.reflect.ParameterizedType;
 +import java.util.ArrayList;
 +import java.util.Arrays;
 +import java.util.Collection;
 +import java.util.Date;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.List;
 +import java.util.Map;
 +import java.util.Set;
 +
 +import javax.ws.rs.WebApplicationException;
 +import javax.ws.rs.core.Response;
 +import javax.ws.rs.core.Response.Status;
 +
 +import org.apache.ambari.server.api.resources.ResourceInstance;
 +import org.apache.ambari.server.api.services.AmbariMetaInfo;
 +import org.apache.ambari.server.api.services.BaseService;
 +import org.apache.ambari.server.api.services.LocalUriInfo;
 +import org.apache.ambari.server.api.services.Request;
- import org.apache.ambari.server.api.services.RootServiceComponentConfiguration;
 +import org.apache.ambari.server.api.services.mpackadvisor.MpackAdvisorException;
 +import org.apache.ambari.server.api.services.mpackadvisor.MpackAdvisorRequest;
 +import org.apache.ambari.server.api.services.mpackadvisor.MpackAdvisorResponse;
 +import org.apache.ambari.server.api.services.mpackadvisor.MpackAdvisorRunner;
 +import org.apache.ambari.server.controller.RootComponent;
 +import org.apache.ambari.server.controller.RootService;
 +import org.apache.ambari.server.controller.internal.AmbariServerConfigurationHandler;
- import org.apache.ambari.server.controller.spi.NoSuchResourceException;
 +import org.apache.ambari.server.controller.spi.Resource;
 +import org.apache.ambari.server.state.ServiceInfo;
 +import org.apache.ambari.server.topology.Configuration;
 +import org.apache.ambari.server.topology.MpackInstance;
 +import org.apache.ambari.server.topology.ServiceInstance;
 +import org.apache.ambari.server.utils.DateUtils;
 +import org.apache.commons.collections.CollectionUtils;
 +import org.apache.commons.io.FileUtils;
 +import org.apache.commons.lang.StringUtils;
 +import org.codehaus.jackson.JsonNode;
 +import org.codehaus.jackson.map.ObjectMapper;
 +import org.codehaus.jackson.map.SerializationConfig;
 +import org.codehaus.jackson.node.ArrayNode;
 +import org.codehaus.jackson.node.ObjectNode;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +
 +/**
 + * Parent for all commands.
 + */
 +public abstract class MpackAdvisorCommand<T extends MpackAdvisorResponse> extends BaseService {
 +
 +  /**
 +   * Type of response object provided by extending classes when
 +   *  is called.
 +   */
 +  private Class<T> type;
 +
 +  private static final Logger LOG = LoggerFactory.getLogger(MpackAdvisorCommand.class);
 +
 +  private static final String GET_HOSTS_INFO_URI = "/api/v1/hosts"
 +      + "?fields=Hosts/*&Hosts/host_name.in(%s)";
 +
 +  private static final String GET_SERVICES_INFO_URI = "/api/v1/stacks/%s/versions/%s/"
 +      + "?fields=services/StackServices/service_name,services/StackServices/service_version"
 +      + ",services/components/StackServiceComponents,services/components/dependencies/Dependencies/scope"
 +      + ",services/components/dependencies/Dependencies/conditions,services/components/auto_deploy"
 +      + ",services/configurations/StackConfigurations/property_depends_on"
 +      + ",services/configurations/dependencies/StackConfigurationDependency/dependency_name"
 +      + ",services/configurations/dependencies/StackConfigurationDependency/dependency_type,services/configurations/StackConfigurations/type"
 +      + "&services/StackServices/service_name.in(%s)";
 +
 +  private static final String SERVICES_PROPERTY = "services";
 +  private static final String SERVICES_COMPONENTS_PROPERTY = "components";
 +  private static final String STACK_SERVICES_PROPERTY = "StackServices";
 +  private static final String COMPONENT_INFO_PROPERTY = "StackServiceComponents";
 +  private static final String COMPONENT_MPACK_NAME_PROPERTY = "stack_name";
 +  private static final String COMPONENT_NAME_PROPERTY = "component_name";
 +  private static final String COMPONENT_HOSTNAMES_PROPERTY = "hostnames";
 +  private static final String CONFIGURATIONS_PROPERTY = "configurations";
 +  private static final String CHANGED_CONFIGURATIONS_PROPERTY = "changed-configurations";
 +  private static final String USER_CONTEXT_PROPERTY = "user-context";
 +  private static final String GPL_LICENSE_ACCEPTED = "gpl-license-accepted";
 +  private static final String AMBARI_SERVER_PROPERTIES_PROPERTY = "ambari-server-properties";
 +  private static final String AMBARI_SERVER_CONFIGURATIONS_PROPERTY = "ambari-server-configuration";
 +
 +  private File mpackRecommendationsDir;
 +  private String recommendationsArtifactsLifetime;
 +  private ServiceInfo.ServiceAdvisorType serviceAdvisorType;
 +
 +  private int requestId;
 +  private File mpackRequestDirectory;
 +  private MpackAdvisorRunner maRunner;
 +
 +  protected ObjectMapper mapper;
 +
 +  private final AmbariMetaInfo metaInfo;
 +
 +  private final AmbariServerConfigurationHandler ambariServerConfigurationHandler;
 +
 +  @SuppressWarnings("unchecked")
 +  public MpackAdvisorCommand(File mpackmpackRecommendationsDir, String recommendationsArtifactsLifetime, ServiceInfo.ServiceAdvisorType serviceAdvisorType, int requestId,
 +                             MpackAdvisorRunner maRunner, AmbariMetaInfo metaInfo, AmbariServerConfigurationHandler ambariServerConfigurationHandler) {
 +    this.type = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass())
 +        .getActualTypeArguments()[0];
 +
 +    this.mapper = new ObjectMapper();
 +    this.mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
 +
 +    this.mpackRecommendationsDir = mpackmpackRecommendationsDir;
 +    this.recommendationsArtifactsLifetime = recommendationsArtifactsLifetime;
 +    this.serviceAdvisorType = serviceAdvisorType;
 +    this.requestId = requestId;
 +    this.maRunner = maRunner;
 +    this.metaInfo = metaInfo;
 +    this.ambariServerConfigurationHandler = ambariServerConfigurationHandler;
 +  }
 +
 +  public ServiceInfo.ServiceAdvisorType getServiceAdvisorType() {
 +    return this.serviceAdvisorType;
 +  }
 +
 +  protected abstract MpackAdvisorCommandType getCommandType();
 +
 +  /**
 +   * Simple holder for 'hosts.json' and 'services.json' data.
 +   */
 +  public static class MpackAdvisorData {
 +    protected String hostsJSON;
 +    protected String servicesJSON;
 +
 +    public MpackAdvisorData(String hostsJSON, String servicesJSON) {
 +      this.hostsJSON = hostsJSON;
 +      this.servicesJSON = servicesJSON;
 +    }
 +  }
 +
 +  /**
 +   * Name with the result JSON, e.g. "component-layout.json" or "validations.json" .
 +   *
 +   * @return the file name
 +   */
 +  protected abstract String getResultFileName();
 +
 +  protected abstract void validate(MpackAdvisorRequest request) throws MpackAdvisorException;
 +
 +  protected ObjectNode adjust(String servicesJSON, MpackAdvisorRequest request) {
 +    try {
 +      ObjectNode root = (ObjectNode) this.mapper.readTree(servicesJSON);
 +
 +      populateComponentHostsMap(root, request.getComponentHostsMap());
 +      populateServiceAdvisors(root);
 +      populateServicesConfigurations(root, request);
 +      populateClusterLevelConfigurations(root, request);
 +      populateAmbariServerInfo(root);
 +      populateAmbariConfiguration(root);
 +      // Get previous data, if any from data.servicesJSON and append to it.
 +      return root;
 +    } catch (Exception e) {
 +      // should not happen
 +      String message = "Error parsing services.json file content: " + e.getMessage();
 +      LOG.warn(message, e);
 +      throw new WebApplicationException(Response.status(Status.BAD_REQUEST).entity(message).build());
 +    }
 +  }
 +
 +  /**
 +   * Retrieves the Ambari configuration if exists and adds it to services.json
 +   *
 +   * @param root The JSON document that will become service.json when passed to the stack advisor engine
 +   */
-   void populateAmbariConfiguration(ObjectNode root) throws NoSuchResourceException {
-     Map<String, RootServiceComponentConfiguration> config = ambariServerConfigurationHandler.getConfigurations(null);
-     Map<String, Map<String,String>> result = new HashMap<>();
-     for (String category : config.keySet()) {
-       result.put(category, config.get(category).getProperties());
-     }
-     root.put(AMBARI_SERVER_CONFIGURATIONS_PROPERTY, mapper.valueToTree(result));
++  void populateAmbariConfiguration(ObjectNode root) {
++    root.put(AMBARI_SERVER_CONFIGURATIONS_PROPERTY, mapper.valueToTree(ambariServerConfigurationHandler.getConfigurations()));
 +  }
 +
 +  /* Reads cluster level configurations (eg: cluster-settings).
 +   */
 +  private void populateClusterLevelConfigurations(ObjectNode root, MpackAdvisorRequest request) {
 +    Map<String, Map<String, Map<String, String>>> configurations =
 +        request.getConfigurations();
 +    // Check if 'configurations' node exists. If not, create.
 +    ObjectNode configurationsNode = null;
 +    if (root.get(CONFIGURATIONS_PROPERTY) != null) {
 +      configurationsNode = (ObjectNode) root.get(CONFIGURATIONS_PROPERTY);
 +    } else {
 +      configurationsNode = root.putObject(CONFIGURATIONS_PROPERTY);
 +    }
 +    for (String siteName : configurations.keySet()) {
 +      ObjectNode siteNode = configurationsNode.putObject(siteName);
 +
 +      Map<String, Map<String, String>> siteMap = configurations.get(siteName);
 +      for (String properties : siteMap.keySet()) {
 +        ObjectNode propertiesNode = siteNode.putObject(properties);
 +
 +        Map<String, String> propertiesMap = siteMap.get(properties);
 +        for (String propertyName : propertiesMap.keySet()) {
 +          String propertyValue = propertiesMap.get(propertyName);
 +          propertiesNode.put(propertyName, propertyValue);
 +        }
 +      }
 +    }
 +  }
 +
 +  private void populateServicesConfigurations(ObjectNode root, MpackAdvisorRequest request) {
 +    Collection<MpackInstance> mpackInstances = request.getMpackInstances();
 +    Iterator<MpackInstance> mpackInstanceItr = mpackInstances.iterator();
 +    ObjectNode configurationsNode = root.putObject(CONFIGURATIONS_PROPERTY);
 +    while (mpackInstanceItr.hasNext()) {
 +      MpackInstance mpackInstance = mpackInstanceItr.next();
 +      Collection<ServiceInstance> serviceInstances = mpackInstance.getServiceInstances();
 +      Iterator<ServiceInstance> serviceInstanceItr = serviceInstances.iterator();
 +      while (serviceInstanceItr.hasNext()) {
 +        ServiceInstance serviceInstance = serviceInstanceItr.next();
 +        Configuration configurations = serviceInstance.getConfiguration();
 +        // We have read configuration properties in attributes as it allows the following format:
 +        // eg: {configType -> {attributeName -> {propName, attributeValue}}}
 +        Map<String, Map<String, Map<String, String>>> configProperties = configurations.getAttributes();
 +        for (String siteName : configProperties.keySet()) {
 +          ObjectNode siteNode = configurationsNode.putObject(siteName);
 +
 +          Map<String, Map<String, String>> siteMap = configProperties.get(siteName);
 +          for (String properties : siteMap.keySet()) {
 +            ObjectNode propertiesNode = siteNode.putObject(properties);
 +
 +            Map<String, String> propertiesMap = siteMap.get(properties);
 +            for (String propertyName : propertiesMap.keySet()) {
 +              String propertyValue = propertiesMap.get(propertyName);
 +              propertiesNode.put(propertyName, propertyValue);
 +            }
 +          }
 +        }
 +      }
 +    }
 +
 +    JsonNode changedConfigs = mapper.valueToTree(request.getChangedConfigurations());
 +    root.put(CHANGED_CONFIGURATIONS_PROPERTY, changedConfigs);
 +    JsonNode userContext = mapper.valueToTree(request.getUserContext());
 +    root.put(USER_CONTEXT_PROPERTY, userContext);
 +    root.put(GPL_LICENSE_ACCEPTED, request.getGplLicenseAccepted());
 +  }
 +
 +  protected void populateAmbariServerInfo(ObjectNode root) {
 +    Map<String, String> serverProperties = metaInfo.getAmbariServerProperties();
 +
 +    if (serverProperties != null && !serverProperties.isEmpty()) {
 +      JsonNode serverPropertiesNode = mapper.convertValue(serverProperties, JsonNode.class);
 +      root.put(AMBARI_SERVER_PROPERTIES_PROPERTY, serverPropertiesNode);
 +    }
 +  }
 +
 +  private void populateComponentHostsMap(ObjectNode root, Map<String, Map<String, Set<String>>> mpacksToComponentsHostsMap) {
 +    ArrayNode services = (ArrayNode) root.get(SERVICES_PROPERTY);
 +    Iterator<JsonNode> servicesIter = services.getElements();
 +
 +    while (servicesIter.hasNext()) {
 +      JsonNode service = servicesIter.next();
 +      ArrayNode components = (ArrayNode) service.get(SERVICES_COMPONENTS_PROPERTY);
 +      Iterator<JsonNode> componentsIter = components.getElements();
 +
 +      while (componentsIter.hasNext()) {
 +        JsonNode component = componentsIter.next();
 +        ObjectNode componentInfo = (ObjectNode) component.get(COMPONENT_INFO_PROPERTY);
 +        String componentMpackName = componentInfo.get(COMPONENT_MPACK_NAME_PROPERTY).getTextValue();
 +        String componentName = componentInfo.get(COMPONENT_NAME_PROPERTY).getTextValue();
 +
 +        Map<String, Set<String>> mpackComponentsHostMap = mpacksToComponentsHostsMap.get(componentMpackName);
 +        ArrayNode hostnames = componentInfo.putArray(COMPONENT_HOSTNAMES_PROPERTY);
 +        if (mpackComponentsHostMap != null) {
 +          Set<String> componentHosts = mpackComponentsHostMap.get(componentName);
 +          if (null != componentHosts) {
 +            for (String hostName : componentHosts) {
 +              hostnames.add(hostName);
 +            }
 +          }
 +        } else {
 +          LOG.info("Mpack Instance : "+componentMpackName+"'s componentsHost Map is empty.");
 +        }
 +      }
 +    }
 +  }
 +
 +  private void populateServiceAdvisors(ObjectNode root) {
 +    ArrayNode services = (ArrayNode) root.get(SERVICES_PROPERTY);
 +    Iterator<JsonNode> servicesIter = services.getElements();
 +
 +    ObjectNode version = (ObjectNode) root.get("Versions");
 +    String stackName = version.get("stack_name").asText();
 +    String stackVersion = version.get("stack_version").asText();
 +
 +    while (servicesIter.hasNext()) {
 +      JsonNode service = servicesIter.next();
 +      ObjectNode serviceVersion = (ObjectNode) service.get(STACK_SERVICES_PROPERTY);
 +      String serviceName = serviceVersion.get("service_name").getTextValue();
 +      try {
 +        ServiceInfo serviceInfo = metaInfo.getService(stackName, stackVersion, serviceName);
 +        if (serviceInfo.getAdvisorFile() != null) {
 +          serviceVersion.put("advisor_name", serviceInfo.getAdvisorName());
 +          serviceVersion.put("advisor_path", serviceInfo.getAdvisorFile().getAbsolutePath());
 +        }
 +      }
 +      catch (Exception e) {
 +        LOG.error("Error adding service advisor information to services.json", e);
 +      }
 +    }
 +  }
 +
 +  public synchronized T invoke(MpackAdvisorRequest request) throws MpackAdvisorException {
 +    validate(request);
 +    String hostsJSON = getHostsInformation(request);
 +    MpackAdvisorData updatedMpackServicesData = getServicesInformation(request, hostsJSON);
 +
 +    try {
 +      createRequestDirectory();
 +
 +      FileUtils.writeStringToFile(new File(mpackRequestDirectory, "hosts.json"), updatedMpackServicesData.hostsJSON);
 +      FileUtils.writeStringToFile(new File(mpackRequestDirectory, "services.json"), updatedMpackServicesData.servicesJSON);
 +
 +      maRunner.runScript(serviceAdvisorType, getCommandType(), mpackRequestDirectory);
 +      String result = FileUtils.readFileToString(new File(mpackRequestDirectory, getResultFileName()));
 +
 +      T response = this.mapper.readValue(result, this.type);
 +      return updateResponse(request, setRequestId(response));
 +    } catch (MpackAdvisorException ex) {
 +      throw ex;
 +    } catch (Exception e) {
 +      String message = "Error occured during mpack advisor command invocation: ";
 +      LOG.warn(message, e);
 +      throw new MpackAdvisorException(message + e.getMessage());
 +    }
 +  }
 +
 +  protected abstract T updateResponse(MpackAdvisorRequest request, T response);
 +
 +  private T setRequestId(T response) {
 +    response.setId(requestId);
 +    return response;
 +  }
 +
 +  /**
 +   * Create request id directory for each call
 +   */
 +  private void createRequestDirectory() throws IOException {
 +    if (!mpackRecommendationsDir.exists()) {
 +      if (!mpackRecommendationsDir.mkdirs()) {
 +        throw new IOException("Cannot create " + mpackRecommendationsDir);
 +      }
 +    }
 +
 +    cleanupRequestDirectory();
 +
 +    mpackRequestDirectory = new File(mpackRecommendationsDir, Integer.toString(requestId));
 +
 +    if (mpackRequestDirectory.exists()) {
 +      FileUtils.deleteDirectory(mpackRequestDirectory);
 +    }
 +    if (!mpackRequestDirectory.mkdirs()) {
 +      throw new IOException("Cannot create " + mpackRequestDirectory);
 +    }
 +  }
 +
 +  /**
 +   * Deletes folders older than (now - recommendationsArtifactsLifetime)
 +   */
 +  private void cleanupRequestDirectory() throws IOException {
 +    final Date cutoffDate = DateUtils.getDateSpecifiedTimeAgo(recommendationsArtifactsLifetime); // subdirectories older than this date will be deleted
 +
 +    String[] oldDirectories = mpackRecommendationsDir.list(new FilenameFilter() {
 +      @Override
 +      public boolean accept(File current, String name) {
 +        File file = new File(current, name);
 +        return file.isDirectory() && !FileUtils.isFileNewer(file, cutoffDate);
 +      }
 +    });
 +
 +    if(oldDirectories.length > 0) {
 +      LOG.info(String.format("Deleting old directories %s from %s", StringUtils.join(oldDirectories, ", "), mpackRecommendationsDir));
 +    }
 +
 +    for(String oldDirectory:oldDirectories) {
 +      FileUtils.deleteQuietly(new File(mpackRecommendationsDir, oldDirectory));
 +    }
 +  }
 +
 +  String getHostsInformation(MpackAdvisorRequest request) throws MpackAdvisorException {
 +    String hostsURI = String.format(GET_HOSTS_INFO_URI, request.getHostsCommaSeparated());
 +
 +    Response response = handleRequest(null, null, new LocalUriInfo(hostsURI), Request.Type.GET,
 +        createHostResource());
 +
 +    if (response.getStatus() != Status.OK.getStatusCode()) {
 +      String message = String.format(
 +          "Error occured during hosts information retrieving, status=%s, response=%s",
 +          response.getStatus(), (String) response.getEntity());
 +      LOG.warn(message);
 +      throw new MpackAdvisorException(message);
 +    }
 +
 +    String hostsJSON = (String) response.getEntity();
 +    if (LOG.isDebugEnabled()) {
 +      LOG.debug("Hosts information: {}", hostsJSON);
 +    }
 +
 +    Collection<String> unregistered = getUnregisteredHosts(hostsJSON, request.getHosts());
 +    if (unregistered.size() > 0) {
 +      String message = String.format("There are unregistered hosts in the request, %s",
 +          Arrays.toString(unregistered.toArray()));
 +      LOG.warn(message);
 +      throw new MpackAdvisorException(message);
 +    }
 +
 +    return hostsJSON;
 +  }
 +
 +  @SuppressWarnings("unchecked")
 +  private Collection<String> getUnregisteredHosts(String hostsJSON, List<String> hosts)
 +      throws MpackAdvisorException {
 +    ObjectMapper mapper = new ObjectMapper();
 +    List<String> registeredHosts = new ArrayList<>();
 +
 +    try {
 +      JsonNode root = mapper.readTree(hostsJSON);
 +      Iterator<JsonNode> iterator = root.get("items").getElements();
 +      while (iterator.hasNext()) {
 +        JsonNode next = iterator.next();
 +        String hostName = next.get("Hosts").get("host_name").getTextValue();
 +        registeredHosts.add(hostName);
 +      }
 +
 +      return CollectionUtils.subtract(hosts, registeredHosts);
 +    } catch (Exception e) {
 +      throw new MpackAdvisorException("Error occured during calculating unregistered hosts", e);
 +    }
 +  }
 +
 +  /*
 +   Gets the updated Services information across Mpacks passed-in.
 +   It does the following:
 +    - Iterates through all the passed-in Mpacks instances (eg: HDPCORE-MKG), fetches their Stack Information.
 +    - For each Mpack instance Type (eg: HDPCORE), makes call to its Stack API, and gathers the stack's static information (dependencies etc.)
 +    - Calls adjust() function, which updates the services related information.
 +    - Maintains a global ArrayNode across Mpack Instances 'updatedServicesAcrossMpacks' to keep the updated Service Array Nodes across Mpacks.
 +      (Reason : We want to write services.json with 'services' element, having array of service instances across Mpacks together, to maintain
 +      Python Stack Advisor compatibility.)
 +   */
 +  MpackAdvisorData getServicesInformation(MpackAdvisorRequest request, String hostsJSON) throws MpackAdvisorException {
 +
 +    Collection<MpackInstance> mpackInstances = request.getMpackInstances();
 +    String servicesInfoFromMpack = null;
 +    MpackAdvisorData updatedMpackAdvisorData = new MpackAdvisorData(hostsJSON, null);
 +
 +    // Maintains the updated Services Across mpacks as we iterate.
 +    ArrayNode updatedServicesAcrossMpacks = mapper.createArrayNode();
 +
 +    // Maintains the updated Services in a given mpack, as we iterate which we add to 'updatedServicesAcrossMpacks'.
 +    ObjectNode updatedServicesInfoForMpack = mapper.createObjectNode();
 +
 +    for (MpackInstance mpackInstance : mpackInstances) {
 +      String stackType = mpackInstance.getMpackType();
 +      String stackVersion = mpackInstance.getMpackVersion();
 +      String servicesURI = String.format(GET_SERVICES_INFO_URI, stackType, stackVersion,
 +          request.getMpackServiceInstanceTypeCommaSeparated(mpackInstance));
 +
 +      Response response = handleRequest(null, null, new LocalUriInfo(servicesURI),
 +          Request.Type.GET, createStackVersionResource(stackType, stackVersion));
 +
 +      servicesInfoFromMpack = (String) response.getEntity();
 +      if (response.getStatus() != Status.OK.getStatusCode()) {
 +        String message = String.format(
 +            "Error occured during services information retrieving, status=%s, response=%s",
 +            response.getStatus(), (String) response.getEntity());
 +        LOG.warn(message);
 +        throw new MpackAdvisorException(message);
 +      }
 +
 +      updatedServicesInfoForMpack = adjust(servicesInfoFromMpack, request);
 +
 +      if (LOG.isDebugEnabled()) {
 +        LOG.debug("Services information: {}", servicesInfoFromMpack);
 +      }
 +
 +      for (Iterator<JsonNode> svcInstanceItr = updatedServicesInfoForMpack.get("services").getElements(); svcInstanceItr.hasNext(); ) {
 +        updatedServicesAcrossMpacks.add(svcInstanceItr.next());
 +      }
 +    }
 +
 +    // Preparing the return object as follows:
 +    updatedServicesInfoForMpack.put("services", updatedServicesAcrossMpacks);
 +    updatedServicesInfoForMpack.remove("Versions");
 +    updatedServicesInfoForMpack.remove("href");
 +
 +    try {
 +      updatedMpackAdvisorData.servicesJSON = mapper.writeValueAsString(updatedServicesInfoForMpack);
 +    } catch (IOException e) {
 +      e.printStackTrace();
 +    }
 +    return updatedMpackAdvisorData;
 +  }
 +
 +  private ResourceInstance createHostResource() {
 +    Map<Resource.Type, String> mapIds = new HashMap<>();
 +    return createResource(Resource.Type.Host, mapIds);
 +  }
 +
 +  private ResourceInstance createConfigResource() {
 +    Map<Resource.Type, String> mapIds = new HashMap<>();
 +    mapIds.put(Resource.Type.RootService, RootService.AMBARI.name());
 +    mapIds.put(Resource.Type.RootServiceComponent, RootComponent.AMBARI_SERVER.name());
 +
 +    return createResource(Resource.Type.RootServiceComponentConfiguration, mapIds);
 +  }
 +
 +  private ResourceInstance createStackVersionResource(String stackName, String stackVersion) {
 +    Map<Resource.Type, String> mapIds = new HashMap<>();
 +    mapIds.put(Resource.Type.Stack, stackName);
 +    mapIds.put(Resource.Type.StackVersion, stackVersion);
 +
 +    return createResource(Resource.Type.StackVersion, mapIds);
 +  }
 +
 +}
diff --cc ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
index 0e07945,5163dab..07a52cd
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
@@@ -100,9 -165,67 +100,16 @@@ public class CheckDescription 
      PrereqCheckType.CLUSTER,
      "A previous upgrade did not complete.",
      new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 +      .put(ClusterCheck.DEFAULT,
            "The last upgrade attempt did not complete. {{fails}}").build());
  
+   public static CheckDescription INSTALL_PACKAGES_CHECK = new CheckDescription("INSTALL_PACKAGES_CHECK",
+     PrereqCheckType.CLUSTER,
+     "Install packages must be re-run",
+     new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
++      .put(ClusterCheck.DEFAULT,
+           "Re-run Install Packages before starting upgrade").build());
+ 
 -  public static CheckDescription SERVICES_YARN_WP = new CheckDescription("SERVICES_YARN_WP",
 -    PrereqCheckType.SERVICE,
 -    "YARN work preserving restart should be enabled",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "YARN should have work preserving restart enabled. The yarn-site.xml property yarn.resourcemanager.work-preserving-recovery.enabled property should be set to true.").build());
 -
 -  public static CheckDescription SERVICES_YARN_RM_HA = new CheckDescription("SERVICES_YARN_RM_HA",
 -    PrereqCheckType.SERVICE,
 -    "YARN ResourceManager High Availability is not enabled.",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "YARN ResourceManager HA should be enabled to prevent a disruption in service during the upgrade").build());
 -
 -  public static CheckDescription SERVICES_YARN_TIMELINE_ST = new CheckDescription("SERVICES_YARN_TIMELINE_ST",
 -    PrereqCheckType.SERVICE,
 -    "YARN Timeline state preserving restart should be enabled",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "YARN should have state preserving restart enabled for the Timeline server. The yarn-site.xml property yarn.timeline-service.recovery.enabled should be set to true.").build());
 -
 -  public static CheckDescription SERVICES_MR2_JOBHISTORY_ST = new CheckDescription("SERVICES_MR2_JOBHISTORY_ST",
 -    PrereqCheckType.SERVICE,
 -    "MapReduce2 JobHistory recovery should be enabled",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(MapReduce2JobHistoryStatePreservingCheck.MAPREDUCE2_JOBHISTORY_RECOVERY_ENABLE_KEY,
 -          "MapReduce2 should have recovery enabled for the JobHistory server. The mapred-site.xml property mapreduce.jobhistory.recovery.enable should be set to true.")
 -      .put(MapReduce2JobHistoryStatePreservingCheck.MAPREDUCE2_JOBHISTORY_RECOVERY_STORE_KEY,
 -          "MapReduce2 should have recovery enabled for the JobHistory server. The mapred-site.xml property mapreduce.jobhistory.recovery.store.class should be set to org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService.")
 -      .put(MapReduce2JobHistoryStatePreservingCheck.MAPREDUCE2_JOBHISTORY_RECOVERY_STORE_LEVELDB_PATH_KEY,
 -          "MapReduce2 should have recovery enabled for the JobHistory server. The mapred-site.xml property mapreduce.jobhistory.recovery.store.leveldb.path should be set. Please note that \"mapreduce.jobhistory.recovery.store.leveldb.path\" should be on a mount with ~3 GB of free space.").build());
 -
 -  public static CheckDescription SERVICES_HIVE_DYNAMIC_SERVICE_DISCOVERY = new CheckDescription("SERVICES_HIVE_DYNAMIC_SERVICE_DISCOVERY",
 -    PrereqCheckType.SERVICE,
 -    "Hive Dynamic Service Discovery",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(HiveDynamicServiceDiscoveryCheck.HIVE_DYNAMIC_SERVICE_DISCOVERY_ENABLED_KEY,
 -          "The hive-site.xml property hive.server2.support.dynamic.service.discovery should be set to true.")
 -      .put(HiveDynamicServiceDiscoveryCheck.HIVE_DYNAMIC_SERVICE_ZK_QUORUM_KEY,
 -          "The hive-site.xml property hive.zookeeper.quorum should be set to a comma-separate list of ZooKeeper hosts:port pairs.")
 -      .put(HiveDynamicServiceDiscoveryCheck.HIVE_DYNAMIC_SERVICE_ZK_NAMESPACE_KEY,
 -          "The hive-site.xml property hive.server2.zookeeper.namespace should be set to the value for the root namespace on ZooKeeper.").build());
 -
 -  public static CheckDescription AMS_HADOOP_SINK_VERSION_COMPATIBILITY = new CheckDescription("AMS_HADOOP_SINK_VERSION_COMPATIBILITY",
 -    PrereqCheckType.HOST,
 -    "Ambari Metrics Hadoop Sinks need to be compatible with the stack version. This check ensures that compatibility.",
 -    new ImmutableMap.Builder<String, String>().put(AbstractCheckDescriptor.DEFAULT,"Hadoop Sink version check failed. " +
 -      "To fix this, please upgrade 'ambari-metrics-hadoop-sink' package to %s on all the failed hosts")
 -      .put(AmbariMetricsHadoopSinkVersionCompatibilityCheck.HADOOP_SINK_VERSION_NOT_SPECIFIED, "Hadoop Sink version for pre-check not specified. " +
 -        "Please use 'min-hadoop-sink-version' property in upgrade pack to specify min hadoop sink version").build());
 -
    public static CheckDescription CONFIG_MERGE = new CheckDescription("CONFIG_MERGE",
      PrereqCheckType.CLUSTER,
      "Configuration Merge Check",
@@@ -135,9 -286,37 +142,8 @@@
            "After upgrading, %s can be reinstalled")
        .put(ServicePresenceCheck.KEY_SERVICE_REMOVED,
            "The %s service is currently installed on the cluster. " +
-           "This service is removed from the new release and must be removed before the upgrade can continue. " +
-           "After upgrading, %s can be installed").build());
+           "This service is removed from the new release and must be removed before the upgrade can continue.").build());
  
 -  public static CheckDescription RANGER_SERVICE_AUDIT_DB_CHECK = new CheckDescription("RANGER_SERVICE_AUDIT_DB_CHECK",
 -    PrereqCheckType.SERVICE,
 -    "Remove the Ranger Audit to Database Capability",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "After upgrading, Ranger will no longer support the Audit to Database feature. Instead, Ranger will audit to Solr. " +
 -          "To migrate the existing audit logs to Solr, follow the steps in Apache Ranger documention for 0.6 release.").build());
 -
 -  public static CheckDescription KAFKA_KERBEROS_CHECK = new CheckDescription("KAFKA_KERBEROS_CHECK",
 -    PrereqCheckType.SERVICE,
 -    "Kafka upgrade on Kerberized cluster",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "Kafka is currently not Kerberized, but your cluster is. After upgrading, Kafka will automatically be Kerberized for you.").build());
 -
 -  public static CheckDescription SERVICES_HIVE_ROLLING_WARNING = new CheckDescription("SERVICES_HIVE_ROLLING_WARNING",
 -    PrereqCheckType.SERVICE,
 -    "HiveServer2 Downtime",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "HiveServer2 does not currently support rolling upgrades. HiveServer2 will be upgraded, however existing queries which have not completed will fail and need to be resubmitted after HiveServer2 has been upgraded.").build());
 -
 -  public static CheckDescription SERVICES_STORM_ROLLING_WARNING = new CheckDescription("SERVICES_STORM_ROLLING_WARNING",
 -    PrereqCheckType.SERVICE,
 -    "Storm Downtime During Upgrade",
 -    new ImmutableMap.Builder<String, String>()
 -      .put(AbstractCheckDescriptor.DEFAULT,
 -          "Storm does not support rolling upgrades on this version of the stack. If you proceed, you will be required to stop all running topologies before Storm is restarted.").build());
 -
    public static CheckDescription AUTO_START_DISABLED = new CheckDescription("AUTO_START_DISABLED",
      PrereqCheckType.CLUSTER,
      "Auto-Start Disabled Check",
@@@ -164,35 -350,69 +170,79 @@@
            .build());
  
    public static CheckDescription COMPONENTS_EXIST_IN_TARGET_REPO = new CheckDescription("COMPONENTS_EXIST_IN_TARGET_REPO",
-       PrereqCheckType.CLUSTER,
-       "Verify Cluster Components Exist In Target Repository",
+     PrereqCheckType.CLUSTER,
+     "Check installed services which are not supported in the installed stack",
+     new ImmutableMap.Builder<String, String>()
+       .put(ComponentsExistInRepoCheck.AUTO_REMOVE, "The following services and/or components do not exist in the target stack and will be automatically removed during the upgrade.")
+       .put(ComponentsExistInRepoCheck.MANUAL_REMOVE, "The following components do not exist in the target repository's stack. They must be removed from the cluster before upgrading.")
+       .build()
+     );
+ 
+   public static CheckDescription DRUID_HA_WARNING = new CheckDescription(
+       "DRUID_HA",
+       PrereqCheckType.SERVICE,
+       "Druid Downtime During Upgrade",
        new ImmutableMap.Builder<String, String>()
-         .put(ClusterCheck.DEFAULT, "The following components do not exist in the target repository's stack. They must be removed from the cluster before upgrading.")
-           .build());
+           .put(
 -              AbstractCheckDescriptor.DEFAULT,
++              ClusterCheck.DEFAULT,
+               "High Availability is not enabled for Druid. Druid Service may have some downtime during upgrade. Deploy multiple instances of %s in the Cluster to avoid any downtime."
+           )
+           .build()
+   );
  
    public static CheckDescription VALID_SERVICES_INCLUDED_IN_REPOSITORY = new CheckDescription("VALID_SERVICES_INCLUDED_IN_REPOSITORY",
        PrereqCheckType.CLUSTER,
        "The repository is missing services which are required",
        new ImmutableMap.Builder<String, String>()
 -        .put(AbstractCheckDescriptor.DEFAULT,
 +        .put(ClusterCheck.DEFAULT,
              "The following services are included in the upgrade but the repository is missing their dependencies:\n%s").build());
  
 -
+   public static CheckDescription ATLAS_MIGRATION_PROPERTY_CHECK = new CheckDescription("ATLAS_MIGRATION_PROPERTY_CHECK",
+     PrereqCheckType.SERVICE, "Check for Atlas Migration Property before upgrade.",
 -      new ImmutableMap.Builder<String,String>().put(AbstractCheckDescriptor.DEFAULT,
++      new ImmutableMap.Builder<String,String>().put(ClusterCheck.DEFAULT,
+         "The property atlas.migration.data.filename is missing from application-properties. Do not use atlas conf path ie /etc/atlas/conf as the value." +
+         "After upgrading Atlas will no longer support TitanDB, instead it will support JanusGraph." +
+         "Hence need to migrate existing data to newer formats post upgrade. " +
+         "To migrate existing data, Kindly refer and follow Apache Atlas documentation for 1.0 release.").build());
+ 
+   public static CheckDescription KERBEROS_ADMIN_CREDENTIAL_CHECK = new CheckDescription("KERBEROS_ADMIN_CREDENTIAL_CHECK",
+       PrereqCheckType.CLUSTER,
+       "The KDC administrator credentials need to be stored in Ambari persisted credential store.",
+       new ImmutableMap.Builder<String, String>()
+           .put(KerberosAdminPersistedCredentialCheck.KEY_PERSISTED_STORE_NOT_CONFIGURED,
+               "Ambari's credential store has not been configured.  " +
+                   "This is needed so the KDC administrator credential may be stored long enough to ensure it will be around if needed during the upgrade process.")
+           .put(KerberosAdminPersistedCredentialCheck.KEY_CREDENTIAL_NOT_STORED,
+               "The KDC administrator credential has not been stored in the persisted credential store. " +
+                   "Visit the Kerberos administrator page to set the credential. " +
+                   "This is needed so the KDC administrator credential may be stored long enough to ensure it will be around if needed during the upgrade process.")
+           .build());
+ 
+ 
+   public static final CheckDescription MISSING_OS_IN_REPO_VERSION = new CheckDescription("MISSING_OS_IN_REPO_VERSION",
+     PrereqCheckType.CLUSTER,
+     "Missing OS in repository version.",
+     new ImmutableMap.Builder<String, String>()
+       .put(MissingOsInRepoVersionCheck.SOURCE_OS, "The source version must have an entry for each OS type in the cluster")
+       .put(MissingOsInRepoVersionCheck.TARGET_OS, "The target version must have an entry for each OS type in the cluster")
+       .build());
+ 
 -
 -  private String m_name;
 -  private PrereqCheckType m_type;
 -  private String m_description;
 +  /**
 +   * A unique identifier.
 +   */
 +  private final String m_name;
 +  private final PrereqCheckType m_type;
 +  private final String m_description;
    private Map<String, String> m_fails;
 +
 +  /**
 +   * Constructor.
 +   *
 +   * @param name
 +   * @param type
 +   * @param description
 +   * @param fails
 +   */
    public CheckDescription(String name, PrereqCheckType type, String description, Map<String, String> fails) {
      m_name = name;
      m_type = type;
diff --cc ambari-server/src/main/java/org/apache/ambari/server/checks/ComponentsExistInRepoCheck.java
index d8fad10,fca4131..336779f
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/ComponentsExistInRepoCheck.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/ComponentsExistInRepoCheck.java
@@@ -17,30 -17,25 +17,33 @@@
   */
  package org.apache.ambari.server.checks;
  
 -import java.util.Collection;
 +import java.text.MessageFormat;
  import java.util.LinkedHashSet;
 +import java.util.Map;
 +import java.util.Set;
 +import java.util.TreeSet;
 +import java.util.stream.Collectors;
  
  import org.apache.ambari.server.AmbariException;
 +import org.apache.ambari.server.StackAccessException;
  import org.apache.ambari.server.controller.PrereqCheckRequest;
 -import org.apache.ambari.server.serveraction.upgrades.DeleteUnsupportedServicesAndComponents;
 +import org.apache.ambari.server.orm.entities.UpgradePlanDetailEntity;
  import org.apache.ambari.server.state.Cluster;
 +import org.apache.ambari.server.state.ComponentInfo;
 +import org.apache.ambari.server.state.Mpack;
 +import org.apache.ambari.server.state.Service;
 +import org.apache.ambari.server.state.ServiceComponent;
+ import org.apache.ambari.server.state.ServiceComponentSupport;
 +import org.apache.ambari.server.state.ServiceGroup;
 +import org.apache.ambari.server.state.ServiceInfo;
 +import org.apache.ambari.server.state.StackId;
+ import org.apache.ambari.server.state.UpgradeHelper;
  import org.apache.ambari.server.state.stack.PrereqCheckStatus;
 -import org.apache.ambari.server.state.stack.PrerequisiteCheck;
 -import org.apache.ambari.server.state.stack.UpgradePack;
 -import org.apache.ambari.server.state.stack.upgrade.ClusterGrouping;
 -import org.apache.ambari.server.state.stack.upgrade.Direction;
 -import org.apache.ambari.server.state.stack.upgrade.ServerActionTask;
 -import org.apache.ambari.server.state.stack.upgrade.Task;
 +import org.apache.ambari.server.state.stack.UpgradeCheckResult;
  import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
 +import org.apache.commons.lang.StringUtils;
  
+ import com.google.inject.Inject;
  import com.google.inject.Singleton;
  
  /**
@@@ -50,13 -45,16 +53,16 @@@
   */
  @Singleton
  @UpgradeCheck(
-     group = UpgradeCheckGroup.TOPOLOGY,
 -  group = UpgradeCheckGroup.INFORMATIONAL_WARNING,
 -  required = { UpgradeType.ROLLING, UpgradeType.NON_ROLLING })
 -public class ComponentsExistInRepoCheck extends AbstractCheckDescriptor {
++    group = UpgradeCheckGroup.INFORMATIONAL_WARNING,
 +    required = { UpgradeType.ROLLING, UpgradeType.EXPRESS, UpgradeType.HOST_ORDERED })
 +public class ComponentsExistInRepoCheck extends ClusterCheck {
+   public static final String AUTO_REMOVE = "auto_remove";
+   public static final String MANUAL_REMOVE = "manual_remove";
+   @Inject
+   ServiceComponentSupport serviceComponentSupport;
+   @Inject
+   UpgradeHelper upgradeHelper;
  
-   /**
-    * Constructor.
-    */
    public ComponentsExistInRepoCheck() {
      super(CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO);
    }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheck.java
index 0000000,7735e4b..7d23041
mode 000000,100644..100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheck.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheck.java
@@@ -1,0 -1,130 +1,132 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one
+  * or more contributor license agreements.  See the NOTICE file
+  * distributed with this work for additional information
+  * regarding copyright ownership.  The ASF licenses this file
+  * to you under the Apache License, Version 2.0 (the
+  * "License"); you may not use this file except in compliance
+  * with the License.  You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ package org.apache.ambari.server.checks;
+ 
+ import static org.apache.ambari.server.state.stack.upgrade.Task.Type.REGENERATE_KEYTABS;
+ 
+ import java.util.Collections;
+ import java.util.Set;
+ 
+ import org.apache.ambari.server.AmbariException;
+ import org.apache.ambari.server.controller.KerberosHelper;
+ import org.apache.ambari.server.controller.PrereqCheckRequest;
+ import org.apache.ambari.server.security.encryption.CredentialStoreService;
+ import org.apache.ambari.server.security.encryption.CredentialStoreType;
+ import org.apache.ambari.server.state.Cluster;
+ import org.apache.ambari.server.state.SecurityType;
+ import org.apache.ambari.server.state.UpgradeHelper;
+ import org.apache.ambari.server.state.stack.PrereqCheckStatus;
 -import org.apache.ambari.server.state.stack.PrerequisiteCheck;
++import org.apache.ambari.server.state.stack.UpgradeCheckResult;
+ import org.apache.ambari.server.state.stack.UpgradePack;
 -import org.apache.ambari.server.state.stack.upgrade.Direction;
+ import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.google.inject.Inject;
+ 
+ /**
+  * The {@link KerberosAdminPersistedCredentialCheck} class is used to check that the Kerberos
+  * administrator credentials are stored in the persisted credential store when Kerberos is enabled.
+  * <p>
+  * This is needed so that if Kerberos principals and/or keytab files need to be created during a stack
+  * upgrade, the KDC administrator credentials are guaranteed to be available.  If the temporary store
+  * is used, the credential may have expired before needed.
+  */
+ @UpgradeCheck(
+     group = UpgradeCheckGroup.KERBEROS,
 -    required = {UpgradeType.ROLLING, UpgradeType.NON_ROLLING, UpgradeType.HOST_ORDERED})
 -public class KerberosAdminPersistedCredentialCheck extends AbstractCheckDescriptor {
++    required = {UpgradeType.ROLLING, UpgradeType.EXPRESS, UpgradeType.HOST_ORDERED})
++public class KerberosAdminPersistedCredentialCheck extends ClusterCheck {
+   private static final Logger LOG = LoggerFactory.getLogger(KerberosAdminPersistedCredentialCheck.class);
+   public static final String KEY_PERSISTED_STORE_NOT_CONFIGURED = "persisted_store_no_configured";
+ 
+   public static final String KEY_CREDENTIAL_NOT_STORED = "admin_credential_not_stored";
+ 
+   @Inject
+   private CredentialStoreService credentialStoreService;
+ 
+   @Inject
+   private UpgradeHelper upgradeHelper;
+ 
+   /**
+    * Constructor.
+    */
+   @Inject
+   public KerberosAdminPersistedCredentialCheck() {
+     super(CheckDescription.KERBEROS_ADMIN_CREDENTIAL_CHECK);
+   }
+ 
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Set<String> getApplicableServices() {
+     return Collections.emptySet();
+   }
+ 
+   /**
+    * {@inheritDoc}
+    */
+   @Override
 -  public void perform(PrerequisiteCheck prerequisiteCheck, PrereqCheckRequest request) throws AmbariException {
++  public UpgradeCheckResult perform(PrereqCheckRequest request) throws AmbariException {
+ 
+     final String clusterName = request.getClusterName();
+     final Cluster cluster = clustersProvider.get().getCluster(clusterName);
++    UpgradeCheckResult result = new UpgradeCheckResult(this);
+ 
+     // Perform the check only if Kerberos is enabled
+     if (cluster.getSecurityType() != SecurityType.KERBEROS) {
 -      return;
++      return result;
+     }
+ 
+     if (!upgradePack(request).anyGroupTaskMatch(task -> task.getType() == REGENERATE_KEYTABS)) {
+       LOG.info("Skipping upgrade check {} because there is no {} in the upgrade pack.", this.getClass().getSimpleName(), REGENERATE_KEYTABS);
 -      return;
++      return result;
+     }
+     
+     // Perform the check only if Ambari is managing the Kerberos identities
+     if (!"true".equalsIgnoreCase(getProperty(request, "kerberos-env", "manage_identities"))) {
 -      return;
++      return result;
+     }
+ 
+     if (!credentialStoreService.isInitialized(CredentialStoreType.PERSISTED)) {
+       // The persisted store is not available
 -      prerequisiteCheck.setFailReason(getFailReason(KEY_PERSISTED_STORE_NOT_CONFIGURED, prerequisiteCheck, request));
 -      prerequisiteCheck.setStatus(PrereqCheckStatus.FAIL);
 -      prerequisiteCheck.getFailedOn().add(request.getClusterName());
++      result.setFailReason(getFailReason(KEY_PERSISTED_STORE_NOT_CONFIGURED, result, request));
++      result.setStatus(PrereqCheckStatus.FAIL);
++      result.getFailedOn().add(request.getClusterName());
+     } else if (credentialStoreService.getCredential(clusterName, KerberosHelper.KDC_ADMINISTRATOR_CREDENTIAL_ALIAS, CredentialStoreType.PERSISTED) == null) {
+       // The KDC administrator credential has not been stored in the persisted credential store
 -      prerequisiteCheck.setFailReason(getFailReason(KEY_CREDENTIAL_NOT_STORED, prerequisiteCheck, request));
 -      prerequisiteCheck.setStatus(PrereqCheckStatus.FAIL);
 -      prerequisiteCheck.getFailedOn().add(request.getClusterName());
++      result.setFailReason(getFailReason(KEY_CREDENTIAL_NOT_STORED, result, request));
++      result.setStatus(PrereqCheckStatus.FAIL);
++      result.getFailedOn().add(request.getClusterName());
+     }
 -
++    return result;
+   }
+ 
+   private UpgradePack upgradePack(PrereqCheckRequest request) throws AmbariException {
 -    return upgradeHelper.suggestUpgradePack(
 -      request.getClusterName(),
 -      request.getSourceStackId(),
 -      request.getTargetRepositoryVersion().getStackId(),
 -      Direction.UPGRADE,
 -      request.getUpgradeType(),
 -      null);
++    // TODO : [AMP] Fix helper function
++    return null;
++//    return upgradeHelper.suggestUpgradePack(
++//      request.getClusterName(),
++//      request.getSourceStackId(),
++//      request.getTargetRepositoryVersion().getStackId(),
++//      Direction.UPGRADE,
++//      request.getUpgradeType(),
++//      null);
+   }
+ 
+ }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/checks/MissingOsInRepoVersionCheck.java
index 0000000,14f27b9..0213d33
mode 000000,100644..100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/MissingOsInRepoVersionCheck.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/MissingOsInRepoVersionCheck.java
@@@ -1,0 -1,101 +1,107 @@@
+ /*
+  *
+  *  * Licensed to the Apache Software Foundation (ASF) under one
+  *  * or more contributor license agreements.  See the NOTICE file
+  *  * distributed with this work for additional information
+  *  * regarding copyright ownership.  The ASF licenses this file
+  *  * to you under the Apache License, Version 2.0 (the
+  *  * "License"); you may not use this file except in compliance
+  *  * with the License.  You may obtain a copy of the License at
+  *  *
+  *  *     http://www.apache.org/licenses/LICENSE-2.0
+  *  *
+  *  * Unless required by applicable law or agreed to in writing, software
+  *  * distributed under the License is distributed on an "AS IS" BASIS,
+  *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  *  * See the License for the specific language governing permissions and
+  *  * limitations under the License.
+  *
+  */
+ 
+ package org.apache.ambari.server.checks;
+ 
+ import static java.util.stream.Collectors.toSet;
+ import static org.apache.ambari.server.state.MaintenanceState.OFF;
+ 
+ import java.util.LinkedHashSet;
+ import java.util.Set;
+ 
+ import org.apache.ambari.server.AmbariException;
+ import org.apache.ambari.server.controller.PrereqCheckRequest;
 -import org.apache.ambari.server.orm.entities.RepoOsEntity;
+ import org.apache.ambari.server.state.Cluster;
+ import org.apache.ambari.server.state.Host;
+ import org.apache.ambari.server.state.stack.PrereqCheckStatus;
 -import org.apache.ambari.server.state.stack.PrerequisiteCheck;
++import org.apache.ambari.server.state.stack.UpgradeCheckResult;
+ import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
+ 
+ import com.google.inject.Singleton;
+ 
++
+ /**
+  * This checks if the source and target version has an entry for each OS type in the cluster.
+  */
+ @Singleton
+ @UpgradeCheck(
+   group = UpgradeCheckGroup.REPOSITORY_VERSION,
 -  required = { UpgradeType.NON_ROLLING, UpgradeType.ROLLING })
 -public class MissingOsInRepoVersionCheck extends AbstractCheckDescriptor {
++  required = { UpgradeType.EXPRESS, UpgradeType.ROLLING })
++public class MissingOsInRepoVersionCheck extends ClusterCheck {
+   public static final String SOURCE_OS = "source_os";
+   public static final String TARGET_OS = "target_os";
+ 
+   public MissingOsInRepoVersionCheck() {
+     super(CheckDescription.MISSING_OS_IN_REPO_VERSION);
+   }
+ 
+   @Override
 -  public void perform(PrerequisiteCheck prerequisiteCheck, PrereqCheckRequest request) throws AmbariException {
 -    Set<String> osFamiliesInCluster = osFamiliesInCluster(cluster(prerequisiteCheck));
++  public UpgradeCheckResult perform(PrereqCheckRequest request) throws AmbariException {
++    UpgradeCheckResult result = new UpgradeCheckResult(this);
++    Set<String> osFamiliesInCluster = osFamiliesInCluster(cluster(request));
+     if (!targetOsFamilies(request).containsAll(osFamiliesInCluster)) {
 -      prerequisiteCheck.setFailReason(getFailReason(TARGET_OS, prerequisiteCheck, request));
 -      prerequisiteCheck.setStatus(PrereqCheckStatus.FAIL);
 -      prerequisiteCheck.setFailedOn(new LinkedHashSet<>(osFamiliesInCluster));
++      result.setFailReason(getFailReason(TARGET_OS, result, request));
++      result.setStatus(PrereqCheckStatus.FAIL);
++      result.setFailedOn(new LinkedHashSet<>(osFamiliesInCluster));
+     } else if (!sourceOsFamilies(request).containsAll(osFamiliesInCluster)) {
 -      prerequisiteCheck.setFailReason(getFailReason(SOURCE_OS, prerequisiteCheck, request));
 -      prerequisiteCheck.setStatus(PrereqCheckStatus.FAIL);
 -      prerequisiteCheck.setFailedOn(new LinkedHashSet<>(osFamiliesInCluster));
++      result.setFailReason(getFailReason(SOURCE_OS, result, request));
++      result.setStatus(PrereqCheckStatus.FAIL);
++      result.setFailedOn(new LinkedHashSet<>(osFamiliesInCluster));
+     }
++    return result;
+   }
+ 
 -  private Cluster cluster(PrerequisiteCheck prerequisiteCheck) throws AmbariException {
 -    return clustersProvider.get().getCluster(prerequisiteCheck.getClusterName());
++  private Cluster cluster(PrereqCheckRequest request) throws AmbariException {
++    return clustersProvider.get().getCluster(request.getClusterName());
+   }
+ 
+   /**
+    * @return set of each os family in the cluster, excluding hosts which are in maintenance state
+    */
+   private Set<String> osFamiliesInCluster(Cluster cluster) {
+     return cluster.getHosts().stream()
+       .filter(host -> host.getMaintenanceState(cluster.getClusterId()) == OFF)
+       .map(Host::getOsFamily)
+       .collect(toSet());
+   }
+ 
+   /**
+    * @return set of each os family in the source stack
+    */
+   private Set<String> sourceOsFamilies(PrereqCheckRequest request) throws AmbariException {
 -    return ambariMetaInfo.get().getStack(request.getSourceStackId()).getRepositoriesByOs().keySet();
++    // TODO: [AMP] Fix it
++    return null;
++    // return ambariMetaInfo.get().getStack(request.getSourceStackId()).getRepositoriesByOs().keySet();
+   }
+ 
+   /**
+    * @return set of each os family in the target repository
+    */
+   private Set<String> targetOsFamilies(PrereqCheckRequest request) {
 -    return request
 -      .getTargetRepositoryVersion()
 -      .getRepoOsEntities()
 -      .stream()
 -      .map(RepoOsEntity::getFamily)
 -      .collect(toSet());
++    return null;
++    // TODO: [AMP] Fix it
++//    return request
++//      .getTargetRepositoryVersion()
++//      .getRepoOsEntities()
++//      .stream()
++//      .map(RepoOsEntity::getFamily)
++//      .collect(toSet());
+   }
+ }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
index 4a99793,30db434..cb1d8ef
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
@@@ -211,8 -200,12 +206,13 @@@ public class AmbariCustomCommandExecuti
    private Boolean isValidCustomCommand(ActionExecutionContext
        actionExecutionContext, RequestResourceFilter resourceFilter)
        throws AmbariException {
+ 
+     if (actionExecutionContext.isFutureCommand()) {
+       return true;
+     }
+ 
      String clusterName = actionExecutionContext.getClusterName();
 +    String serviceGroupName = resourceFilter.getServiceGroupName();
      String serviceName = resourceFilter.getServiceName();
      String componentName = resourceFilter.getComponentName();
      String commandName = actionExecutionContext.getActionName();
@@@ -285,15 -276,19 +285,19 @@@
  
      // Filter hosts that are in MS
      Set<String> ignoredHosts = maintenanceStateHelper.filterHostsInMaintenanceState(
-         candidateHosts, new MaintenanceStateHelper.HostPredicate() {
-           @Override
-           public boolean shouldHostBeRemoved(final String hostname)
-               throws AmbariException {
-             return !maintenanceStateHelper.isOperationAllowed(
-                 cluster, actionExecutionContext.getOperationLevel(),
-                 resourceFilter, serviceGroupName, serviceName, componentName, hostname);
+       candidateHosts, new MaintenanceStateHelper.HostPredicate() {
+         @Override
+         public boolean shouldHostBeRemoved(final String hostname)
+             throws AmbariException {
+           if (actionExecutionContext.isFutureCommand()) {
+             return false;
            }
+ 
+           return !maintenanceStateHelper.isOperationAllowed(
+               cluster, actionExecutionContext.getOperationLevel(),
 -              resourceFilter, serviceName, componentName, hostname);
++              resourceFilter, serviceGroupName, serviceName, componentName, hostname);
          }
+       }
      );
  
      // Filter unhealthy hosts
@@@ -322,10 -317,14 +326,14 @@@
        throw new AmbariException(message);
      }
  
 -    Service service = cluster.getService(serviceName);
 +    ServiceGroup serviceGroup = cluster.getServiceGroup(serviceGroupName);
 +    Service service = cluster.getService(serviceGroupName, serviceName);
 +    StackId stackId = service.getStackId();
  
 -    // grab the stack ID from the service first, and use the context's if it's set
 -    StackId stackId = service.getDesiredStackId();
+     if (null != actionExecutionContext.getStackId()) {
+       stackId = actionExecutionContext.getStackId();
+     }
+ 
      AmbariMetaInfo ambariMetaInfo = managementController.getAmbariMetaInfo();
      ServiceInfo serviceInfo = ambariMetaInfo.getService(service);
  
@@@ -569,58 -549,63 +569,58 @@@
  
      String clusterName = actionExecutionContext.getClusterName();
      final Cluster cluster = clusters.getCluster(clusterName);
 -    final String componentName = actionMetadata.getClient(resourceFilter.getServiceName());
 +    final String serviceGroupName = resourceFilter.getServiceGroupName();
      final String serviceName = resourceFilter.getServiceName();
 -    String smokeTestRole = actionMetadata.getServiceCheckAction(serviceName);
 -    if (null == smokeTestRole) {
 -      smokeTestRole = actionExecutionContext.getActionName();
 -    }
 +    Service service = cluster.getService(serviceGroupName, serviceName);
  
 -    Set<String> candidateHosts;
 -    final Map<String, ServiceComponentHost> serviceHostComponents;
 +    // If specified a specific host, run on it as long as it contains the component.
 +    // Otherwise, throw the exception.
 +    List<String> candidateHostsList = resourceFilter.getHostNames();
  
 -    if (componentName != null) {
 -      serviceHostComponents = cluster.getService(serviceName).getServiceComponent(componentName).getServiceComponentHosts();
 +    ServiceComponentHost selectedServiceComponentHost = calculateServiceComponentHostForServiceCheck(cluster, service,
 +        candidateHostsList, actionExecutionContext.isMaintenanceModeHostExcluded());
  
 -      if (serviceHostComponents.isEmpty()) {
 -        throw new AmbariException(MessageFormat.format("No hosts found for service: {0}, component: {1} in cluster: {2}",
 -            serviceName, componentName, clusterName));
 -      }
 +    long nowTimestamp = System.currentTimeMillis();
 +    Map<String, String> actionParameters = actionExecutionContext.getParameters();
  
 -      // If specified a specific host, run on it as long as it contains the component.
 -      // Otherwise, use candidates that contain the component.
 -      List<String> candidateHostsList = resourceFilter.getHostNames();
 -      if (candidateHostsList != null && !candidateHostsList.isEmpty()) {
 -        candidateHosts = new HashSet<>(candidateHostsList);
 +    String smokeTestRole = actionMetadata.getServiceCheckAction(service.getServiceType());
 +    if (null == smokeTestRole) {
 +      smokeTestRole = actionExecutionContext.getActionName();
 +    }
  
 -        // Get the intersection.
 -        candidateHosts.retainAll(serviceHostComponents.keySet());
 +    addServiceCheckAction(stage, selectedServiceComponentHost.getHostName(), smokeTestRole, nowTimestamp,
 +        selectedServiceComponentHost.getServiceGroupName(),
 +        selectedServiceComponentHost.getServiceName(),
 +        selectedServiceComponentHost.getServiceComponentName(),
 +        actionParameters, actionExecutionContext.isRetryAllowed(),
 +        actionExecutionContext.isFailureAutoSkipped(),
-         serviceName);
++        serviceName, false);
 +  }
  
 -        if (candidateHosts.isEmpty()) {
 -          throw new AmbariException(MessageFormat.format("The resource filter for hosts does not contain components for " +
 -                  "service: {0}, component: {1} in cluster: {2}", serviceName, componentName, clusterName));
 -        }
 -      } else {
 -        candidateHosts = serviceHostComponents.keySet();
 -      }
 -    } else {
 -      // TODO: This code branch looks unreliable (taking random component, should prefer the clients)
 -      Map<String, ServiceComponent> serviceComponents = cluster.getService(serviceName).getServiceComponents();
 +  ServiceComponentHost calculateServiceComponentHostForServiceCheck(Cluster cluster, Service service) throws AmbariException {
 +    return calculateServiceComponentHostForServiceCheck(cluster, service, null, true);
 +  }
  
 -      // Filter components without any HOST
 -      Iterator<String> serviceComponentNameIterator = serviceComponents.keySet().iterator();
 -      while (serviceComponentNameIterator.hasNext()){
 -        String componentToCheck = serviceComponentNameIterator.next();
 -         if (serviceComponents.get(componentToCheck).getServiceComponentHosts().isEmpty()){
 -           serviceComponentNameIterator.remove();
 -         }
 -      }
 +  /**
 +   * Calculates the ServiceComponentHost for cluster service where the service check will be executed.
 +   * Takes into account all the possible clients.
 +   * Those include the given service clients and clients of dependent services if the client component name is specified in the metainfo.xml of the given service
 +   *
 +   * Filters out hosts that are : not listed in candidateHostsList (if non null or not empty)
 +   *                              in maintenance mode (based on isMaintenanceModeHostExcluded)
 +   *                              are unhealthy
 +   *
 +   * Based on the ServiceComponentHosts that left selects a ServiceComponentHost using following logic:
 +   *       If possible select a host that's not loaded with tasks. Random otherwise
 +   *       If possible select a component of the service that the service check runs for. Random otherwise
 +   */
 +  ServiceComponentHost calculateServiceComponentHostForServiceCheck(Cluster cluster, Service service,
 +                                                                            List<String> candidateHostsList, boolean isMaintenanceModeHostExcluded) throws AmbariException {
  
 -      if (serviceComponents.isEmpty()) {
 -        throw new AmbariException(MessageFormat.format("Did not find any hosts with components for service: {0} in cluster: {1}",
 -            serviceName, clusterName));
 -      }
 +    //calculate the possible host-component map where the service check could be executed
 +    Multimap<String, ServiceComponentHost> hostComponentMultiMap = calculateHostsClientsMultimap(service, cluster, candidateHostsList);
  
 -      // Pick a random service (should prefer clients).
 -      ServiceComponent serviceComponent = serviceComponents.values().iterator().next();
 -      serviceHostComponents = serviceComponent.getServiceComponentHosts();
 -      candidateHosts = serviceHostComponents.keySet();
 -    }
 +    Set<String> candidateHosts = hostComponentMultiMap.keySet();
  
      // check if all hostnames are valid.
      for(String candidateHostName: candidateHosts) {
@@@ -835,8 -699,8 +835,9 @@@
     * by service check.
     */
    public void addServiceCheckAction(Stage stage, String hostname, String smokeTestRole,
 -      long nowTimestamp, String serviceName, String componentName,
 -      Map<String, String> actionParameters, boolean retryAllowed, boolean autoSkipFailure, boolean useLatestConfigs)
 +      long nowTimestamp, String serviceGroupName, String serviceName, String componentName,
-       Map<String, String> actionParameters, boolean retryAllowed, boolean autoSkipFailure, String initiatingServiceName)
++      Map<String, String> actionParameters, boolean retryAllowed, boolean autoSkipFailure,
++      String initiatingServiceName, boolean useLatestConfigs)
            throws AmbariException {
  
      String clusterName = stage.getClusterName();
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
index 4069e38,bf639bd..33c15aa
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
@@@ -37,8 -36,9 +37,9 @@@ import org.apache.ambari.server.control
  import org.apache.ambari.server.controller.metrics.MetricPropertyProviderFactory;
  import org.apache.ambari.server.controller.metrics.MetricsCollectorHAManager;
  import org.apache.ambari.server.controller.metrics.timeline.cache.TimelineMetricCacheProvider;
 +import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
  import org.apache.ambari.server.events.AmbariEvent;
 -import org.apache.ambari.server.events.MetadataUpdateEvent;
+ import org.apache.ambari.server.events.TopologyUpdateEvent;
  import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
  import org.apache.ambari.server.metadata.RoleCommandOrder;
  import org.apache.ambari.server.orm.entities.ExtensionLinkEntity;
@@@ -943,72 -931,11 +992,74 @@@ public interface AmbariManagementContro
  
    void saveConfigGroupUpdate(ConfigGroupRequest configGroupRequest, ConfigGroupResponse configGroupResponse);
  
 -  HostRepositories retrieveHostRepositories(Cluster cluster, Host host) throws AmbariException;
 +  /**
 +   * Fetch the module info for a given mpack.
 +   *
 +   * @param mpackId
 +   * @return List of modules
 +   */
 +  List<Module> getModules(Long mpackId);
  
 -  MetadataUpdateEvent getClusterMetadataOnConfigsUpdate(Cluster cluster) throws AmbariException;
 +  /**
 +   * Get the software registries identified by the given request objects.
 +   *
 +   * @param requests  the request objects which identify the software registries to be returned
 +   *
 +   * @return a set of software registry responses
 +   *
 +   * @throws AmbariException thrown if the resource cannot be read
 +   */
 +  Set<RegistryResponse> getRegistries(Set<RegistryRequest> requests)
 +    throws AmbariException;
 +
 +  /**
 +   * Get information about specific software registry
 +   * @param registryId registry id
 +   *
 +   * @return {@link Registry}
 +   *
 +   * @throws AmbariException thrown if the resource cannot be read
 +   */
 +  Registry getRegistry(Long registryId) throws AmbariException;
 +
 +  /***
 +   * Remove Mpack from the mpackMap and stackMap which is used to power the Mpack and Stack APIs.
 +   * @param mpackEntity
 +   * @param stackEntity
 +   * @throws IOException
 +   */
 +  void removeMpack(MpackEntity mpackEntity, StackEntity stackEntity) throws IOException;
 +
 +  /**
 +   * Creates serviceconfigversions and corresponding new configurations if it is an initial request
 +   * OR
 +   * Rollbacks to an existing serviceconfigversion if request specifies.
 +   * @param requests
 +   *
 +   * @return
 +   *
 +   * @throws AmbariException
 +   *
 +   * @throws AuthorizationException
 +   */
 +  Set<ServiceConfigVersionResponse> createServiceConfigVersion(Set<ServiceConfigVersionRequest> requests) throws AmbariException, AuthorizationException;
 +
 +  /***
 +   * Fetch all mpacks
 +   * @return
 +   */
 +  Set<MpackResponse> getMpacks();
 +
 +  /***
 +   * Fetch an mpack based on id
 +   * @param mpackId
 +   * @return
 +   */
 +  MpackResponse getMpack(Long mpackId);
 +
 +  HostRepositories retrieveHostRepositories(Cluster cluster, Host host) throws AmbariException;
  
+   TopologyUpdateEvent getAddedComponentsTopologyEvent(Set<ServiceComponentHostRequest> requests)
+       throws AmbariException;
  }
  
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 31dea50,2f4ae73..6aed720
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@@ -28,7 -49,12 +28,6 @@@ import static org.apache.ambari.server.
  import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SCRIPT;
  import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SCRIPT_TYPE;
  import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_PACKAGE_FOLDER;
- import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.UNLIMITED_KEY_JCE_REQUIRED;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_REPO_INFO;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.STACK_NAME;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.STACK_VERSION;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.USER_GROUPS;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.USER_LIST;
 -import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.VERSION;
  import static org.apache.ambari.server.controller.AmbariCustomCommandExecutionHelper.masterToSlaveMappingForDecom;
  
  import java.io.File;
@@@ -106,13 -133,13 +106,14 @@@ import org.apache.ambari.server.control
  import org.apache.ambari.server.controller.metrics.MetricsCollectorHAManager;
  import org.apache.ambari.server.controller.metrics.timeline.cache.TimelineMetricCacheProvider;
  import org.apache.ambari.server.controller.spi.Resource;
 +import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
  import org.apache.ambari.server.controller.spi.SystemException;
  import org.apache.ambari.server.customactions.ActionDefinition;
 -import org.apache.ambari.server.events.MetadataUpdateEvent;
  import org.apache.ambari.server.events.TopologyUpdateEvent;
+ import org.apache.ambari.server.events.UpdateEventType;
  import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
  import org.apache.ambari.server.metadata.ActionMetadata;
 +import org.apache.ambari.server.metadata.ClusterMetadataGenerator;
  import org.apache.ambari.server.metadata.RoleCommandOrder;
  import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
  import org.apache.ambari.server.orm.dao.ClusterDAO;
@@@ -208,9 -230,8 +209,9 @@@ import org.apache.ambari.server.state.s
  import org.apache.ambari.server.state.svccomphost.ServiceComponentHostStartEvent;
  import org.apache.ambari.server.state.svccomphost.ServiceComponentHostStopEvent;
  import org.apache.ambari.server.state.svccomphost.ServiceComponentHostUpgradeEvent;
 +import org.apache.ambari.server.topology.AmbariContext;
+ import org.apache.ambari.server.topology.STOMPComponentsDeleteHandler;
  import org.apache.ambari.server.topology.Setting;
- import org.apache.ambari.server.topology.TopologyDeleteFormer;
  import org.apache.ambari.server.utils.SecretReference;
  import org.apache.ambari.server.utils.StageUtils;
  import org.apache.commons.collections.CollectionUtils;
@@@ -396,14 -419,38 +395,12 @@@ public class AmbariManagementController
      injector.injectMembers(this);
      gson = injector.getInstance(Gson.class);
      LOG.info("Initializing the AmbariManagementControllerImpl");
 -    masterHostname =  InetAddress.getLocalHost().getCanonicalHostName();
      maintenanceStateHelper = injector.getInstance(MaintenanceStateHelper.class);
      kerberosHelper = injector.getInstance(KerberosHelper.class);
-     m_metadataHolder = injector.getProvider(MetadataHolder.class);
-     m_agentConfigsHolder = injector.getProvider(AgentConfigsHolder.class);
 -    if(configs != null)
 -    {
 -      if (configs.getApiSSLAuthentication()) {
 -        masterProtocol = "https";
 -        masterPort = configs.getClientSSLApiPort();
 -      } else {
 -        masterProtocol = "http";
 -        masterPort = configs.getClientApiPort();
 -      }
 -      jdkResourceUrl = getAmbariServerURI(JDK_RESOURCE_LOCATION);
 -      javaHome = configs.getJavaHome();
 -      jdkName = configs.getJDKName();
 -      jceName = configs.getJCEName();
 -      ojdbcUrl = getAmbariServerURI(JDK_RESOURCE_LOCATION + "/" + configs.getOjdbcJarName());
 -      mysqljdbcUrl = getAmbariServerURI(JDK_RESOURCE_LOCATION + "/" + configs.getMySQLJarName());
 -
 -      serverDB = configs.getServerDBName();
 -    } else {
 -      masterProtocol = null;
 -      masterPort = null;
 -
 -      jdkResourceUrl = null;
 -      javaHome = null;
 -      jdkName = null;
 -      jceName = null;
 -      ojdbcUrl = null;
 -      mysqljdbcUrl = null;
 -      serverDB = null;
 -    }
 +    hostComponentStateDAO = injector.getInstance(HostComponentStateDAO.class);
 +    serviceComponentDesiredStateDAO = injector.getInstance(ServiceComponentDesiredStateDAO.class);
 +    this.metadataGenerator = metadataGenerator;
 +    ambariConfig = metadataGenerator != null ? metadataGenerator.getAmbariConfig() : new AmbariConfig(configs);
      helper = new AmbariManagementHelper(stackDAO, extensionDAO, linkDAO);
    }
  
@@@ -794,14 -744,16 +791,17 @@@
  
        schMap.put(cluster, sch);
      }
 -
 +    Set<ServiceComponentHostResponse> createdSvcHostCmpnt = null;
      for (Cluster cluster : schMap.keySet()) {
 -      cluster.addServiceComponentHosts(schMap.get(cluster));
 +      createdSvcHostCmpnt = cluster.addServiceComponentHosts(schMap.get(cluster));
      }
 +    return createdSvcHostCmpnt;
    }
  
-   private TopologyUpdateEvent getAddedComponentsTopologyEvent(Set<ServiceComponentHostRequest> requests)
+   /**
+    * {@inheritDoc}
+    */
+   public TopologyUpdateEvent getAddedComponentsTopologyEvent(Set<ServiceComponentHostRequest> requests)
      throws AmbariException {
      TreeMap<String, TopologyCluster> topologyUpdates = new TreeMap<>();
      Set<String> hostsToUpdate = new HashSet<>();
@@@ -2491,22 -2376,17 +2508,22 @@@
                                  Map<String, String> commandParamsInp,
                                  ServiceComponentHostEvent event,
                                  boolean skipFailure,
 -                                RepositoryVersionEntity repoVersion,
                                  boolean isUpgradeSuspended,
                                  DatabaseType databaseType,
-                                 Map<String, DesiredConfig> clusterDesiredConfigs
-                                 )
+                                 Map<String, DesiredConfig> clusterDesiredConfigs,
+                                 boolean useLatestConfigs)
                                  throws AmbariException {
  
 +    String serviceGroupName = scHost.getServiceGroupName();
      String serviceName = scHost.getServiceName();
  
 +    ServiceGroup serviceGroup = cluster.getServiceGroup(serviceGroupName);
 +    Long mpackId = serviceGroup.getMpackId();
 +    StackId stackId = serviceGroup.getStackId();
 +
      stage.addHostRoleExecutionCommand(scHost.getHost(),
 -        Role.valueOf(scHost.getServiceComponentName()), roleCommand, event, cluster, serviceName, false, skipFailure);
 +        Role.valueOf(scHost.getServiceComponentName()), roleCommand, event, cluster, mpackId,
 +        serviceGroupName, serviceName, false, skipFailure);
  
      String componentName = scHost.getServiceComponentName();
      String hostname = scHost.getHostName();
@@@ -2864,28 -2748,8 +2874,30 @@@
        addClientSchForReinstall(cluster, changedServices, changedScHosts);
      }
  
 +    for (Map<String, Map<State, List<ServiceComponentHost>>> clientsForSingleStage : StageHelper.deduplicateClients(changedScHosts)) {
-       requestStages = doStageCreation(requestStages, cluster, clientsForSingleStage, requestParameters, requestProperties, Collections.emptySet());
++      requestStages = doStageCreation(requestStages, cluster, clientsForSingleStage, requestParameters, requestProperties, Collections.emptySet(), useLatestConfigs, useClusterHostInfo);
 +    }
 +
-     return doStageCreation(requestStages, cluster, changedScHosts, requestParameters, requestProperties, smokeTestServices);
++    return doStageCreation(requestStages, cluster, changedScHosts, requestParameters, requestProperties, smokeTestServices, useLatestConfigs, useClusterHostInfo);
 +  }
 +
 +  private RequestStageContainer doStageCreation(RequestStageContainer requestStages,
 +    Cluster cluster,
 +    Map<String, ? extends Map<State, ? extends List<ServiceComponentHost>>> changedScHosts,
 +    Map<String, String> requestParameters,
 +    Map<String, String> requestProperties,
-     Set<Service> smokeTestServices
++    Set<Service> smokeTestServices,
++    boolean useLatestConfigs,
++    boolean useClusterHostInfo
 +  ) throws AmbariException {
      if (!changedScHosts.isEmpty()
          || !smokeTestServices.isEmpty()) {
 +      // caching upgrade suspended
 +      boolean isUpgradeSuspended = cluster.isUpgradeSuspended();
 +
 +      // caching database type
 +      DatabaseType databaseType = configs.getDatabaseType();
 +
        long nowTimestamp = System.currentTimeMillis();
  
        // FIXME cannot work with a single stage
@@@ -3228,44 -3093,43 +3240,44 @@@
                }
              } else {
                // !!! can never be null
 -              RepositoryVersionEntity repoVersion = serviceComponent.getDesiredRepositoryVersion();
 -
                createHostAction(cluster, stage, scHost, configurations, configurationAttributes, configTags,
 -                roleCommand, requestParameters, event, skipFailure, repoVersion, isUpgradeSuspended,
 +                  roleCommand, requestParameters, event, skipFailure, isUpgradeSuspended,
-                 databaseType, clusterDesiredConfigs);
+                 databaseType, clusterDesiredConfigs, useLatestConfigs);
              }
  
            }
          }
        }
  
 -      for (String serviceName : smokeTestServices) { // Creates smoke test commands
 -        Service s = cluster.getService(serviceName);
 -        // find service component host
 -        ServiceComponent component = getClientComponentForRunningAction(cluster, s);
 -        String componentName = component != null ? component.getName() : null;
 -        String clientHost = getClientHostForRunningAction(cluster, s, component);
 -        String smokeTestRole = actionMetadata.getServiceCheckAction(serviceName);
 -
 -        if (clientHost == null || smokeTestRole == null) {
 -          LOG.info("Nothing to do for service check as could not find role or"
 -              + " or host to run check on"
 -              + ", clusterName=" + cluster.getClusterName()
 -              + ", serviceName=" + serviceName
 -              + ", clientHost=" + clientHost
 -              + ", serviceCheckRole=" + smokeTestRole);
 -          continue;
 -        }
 +      for (Service service : smokeTestServices) { // Creates smoke test commands
 +        String smokeTestRole = actionMetadata.getServiceCheckAction(service.getServiceType());
 +        try {
 +          // find service component host
 +          ServiceComponentHost componentForServiceCheck = customCommandExecutionHelper.
 +              calculateServiceComponentHostForServiceCheck(cluster, service);
  
 -        if (StringUtils.isBlank(stage.getHostParamsStage())) {
 -          RepositoryVersionEntity repositoryVersion = component.getDesiredRepositoryVersion();
 -          stage.setHostParamsStage(StageUtils.getGson().toJson(
 -              customCommandExecutionHelper.createDefaultHostParams(cluster, repositoryVersion.getStackId())));
 -        }
 +          if (StringUtils.isBlank(stage.getHostParamsStage())) {
 +            long serviceGroupId = componentForServiceCheck.getServiceGroupId();
 +            ServiceGroup serviceGroup = cluster.getServiceGroup(serviceGroupId);
 +            StackId stackId = serviceGroup.getStackId();
 +
 +            stage.setHostParamsStage(StageUtils.getGson().toJson(
 +                customCommandExecutionHelper.createDefaultHostParams(cluster, stackId)));
 +          }
  
 -        customCommandExecutionHelper.addServiceCheckAction(stage, clientHost, smokeTestRole,
 -            nowTimestamp, serviceName, componentName, null, false, false, useLatestConfigs);
 +          customCommandExecutionHelper.addServiceCheckAction(stage, componentForServiceCheck.getHostName(), smokeTestRole,
 +              nowTimestamp, componentForServiceCheck.getServiceGroupName(), componentForServiceCheck.getServiceName(),
-               componentForServiceCheck.getServiceComponentName(), null, false, false, service.getName());
++              componentForServiceCheck.getServiceComponentName(), null, false, false, service.getName(), useLatestConfigs);
 +
 +        } catch (AmbariException e) {
 +            LOG.warn("Nothing to do for service check as could not find role or"
 +                + " or host to run check on"
 +                + ", clusterName=" + cluster.getClusterName()
 +                + ", serviceGroupName=" + service.getServiceGroupName()
 +                + ", serviceName=" + service.getName()
 +                + ", serviceCheckRole=" + smokeTestRole
 +                + "Actual reason : " + e.getMessage());
 +        }
        }
  
        RoleCommandOrder rco = getRoleCommandOrder(cluster);
@@@ -3366,9 -3233,9 +3381,9 @@@
  
  
      Map<String, String> hostParamsCmd = customCommandExecutionHelper.createDefaultHostParams(
 -        cluster, scHost.getServiceComponent().getDesiredStackId());
 +        cluster, scHost.getServiceComponent().getStackId());
  
-     Stage stage = createNewStage(0, cluster, 1, "", clusterHostInfoJson, "{}", "");
+     Stage stage = createNewStage(0, cluster, 1, "", "{}", "");
  
      Map<String, Map<String, String>> configTags = configHelper.getEffectiveDesiredTags(cluster, scHost.getHostName());
      Map<String, Map<String, String>> configurations = configHelper.getEffectiveConfigProperties(cluster, configTags);
@@@ -3381,8 -3256,8 +3396,8 @@@
      DatabaseType databaseType = configs.getDatabaseType();
      Map<String, DesiredConfig> clusterDesiredConfigs = cluster.getDesiredConfigs();
      createHostAction(cluster, stage, scHost, configurations, configurationAttributes, configTags,
 -                     roleCommand, null, null, false, repoVersion, isUpgradeSuspended, databaseType,
 +                     roleCommand, null, null, false, isUpgradeSuspended, databaseType,
-                      clusterDesiredConfigs);
+                      clusterDesiredConfigs, false);
      ExecutionCommand ec = stage.getExecutionCommands().get(scHost.getHostName()).get(0).getExecutionCommand();
  
      // createHostAction does not take a hostLevelParams but creates one
@@@ -5599,67 -5651,234 +5622,86 @@@
                                                               SecurityType clusterSecurityType) throws AmbariException {
  
      TreeMap<String, String> statusCommandParams = new TreeMap<>();
 -    RepositoryVersionEntity repositoryVersion = getComponentRepositoryVersion(clusterId, serviceName, componentName);
 -    if (null != repositoryVersion) {
 -      StackId stackId = repositoryVersion.getStackId();
 -      ComponentInfo componentInfo = ambariMetaInfo.getComponent(
 -          stackId.getStackName(), stackId.getStackVersion(),
 -          serviceName, componentName);
 -
 -      statusCommandParams.put(ExecutionCommand.KeyNames.CLIENTS_TO_UPDATE_CONFIGS,
 -          getClientsToUpdateConfigs(componentInfo));
 -
 -      // If we are starting a component, calculate whether the unlimited key JCE policy is
 -      // required for the relevant host.  One of the following indicates that the unlimited
 -      // key JCE policy is required:
 -      //
 -      //   * The component explicitly requires it whether Kerberos is enabled or not (example, SMARTSENSE/HST_SERVER)
 -      //   * The component explicitly requires it only when Kerberos is enabled AND Kerberos is enabled (example, most components)
 -      //
 -      // Set/update the unlimited_key_jce_required value as needed
 -      statusCommandParams.put(ExecutionCommand.KeyNames.UNLIMITED_KEY_JCE_REQUIRED,
 -          Boolean.toString(getUnlimitedKeyJCERequirement(componentInfo, clusterSecurityType)));
 -    }
 +    Cluster cluster = clusters.getCluster(clusterId);
 +    Service service = cluster.getService(serviceName);
 +
 +    StackId stackId = service.getStackId();
 +    ComponentInfo componentInfo = ambariMetaInfo.getComponent(stackId.getStackName(),
 +        stackId.getStackVersion(), serviceName, componentName);
 +
 +    statusCommandParams.put(ExecutionCommand.KeyNames.CLIENTS_TO_UPDATE_CONFIGS,
 +        getClientsToUpdateConfigs(componentInfo));
++
++    // If we are starting a component, calculate whether the unlimited key JCE policy is
++    // required for the relevant host.  One of the following indicates that the unlimited
++    // key JCE policy is required:
++    //
++    //   * The component explicitly requires it whether Kerberos is enabled or not (example, SMARTSENSE/HST_SERVER)
++    //   * The component explicitly requires it only when Kerberos is enabled AND Kerberos is enabled (example, most components)
++    //
++    // Set/update the unlimited_key_jce_required value as needed
 +    statusCommandParams.put(ExecutionCommand.KeyNames.UNLIMITED_KEY_JCE_REQUIRED,
 +        Boolean.toString(getUnlimitedKeyJCERequirement(componentInfo, clusterSecurityType)));
 +
      return statusCommandParams;
    }
  
    //TODO will be a need to change to multi-instance usage
-   public TreeMap<String, String> getTopologyCommandParams(Long clusterId, String serviceName, String componentName) throws AmbariException {
+   public TreeMap<String, String> getTopologyCommandParams(Long clusterId, String serviceName, String componentName, ServiceComponentHost sch) throws AmbariException {
      TreeMap<String, String> commandParams = new TreeMap<>();
 -    RepositoryVersionEntity repositoryVersion = getComponentRepositoryVersion(clusterId, serviceName, componentName);
 -    if (null != repositoryVersion) {
 -      StackId stackId = repositoryVersion.getStackId();
 -      ServiceInfo serviceInfo = ambariMetaInfo.getService(stackId.getStackName(),
 -          stackId.getStackVersion(), serviceName);
 -      ComponentInfo componentInfo = ambariMetaInfo.getComponent(
 -          stackId.getStackName(), stackId.getStackVersion(),
 -          serviceName, componentName);
 -
 -      commandParams.put(SERVICE_PACKAGE_FOLDER, serviceInfo.getServicePackageFolder());
 -      String scriptName = null;
 -      String scriptCommandTimeout = "";
 -      CommandScriptDefinition script = componentInfo.getCommandScript();
 -      if (serviceInfo.getSchemaVersion().equals(AmbariMetaInfo.SCHEMA_VERSION_2)) {
 -        if (script != null) {
 -          scriptName = script.getScript();
 -          if (script.getTimeout() > 0) {
 -            scriptCommandTimeout = String.valueOf(script.getTimeout());
 -          }
 -        } else {
 -          String message = String.format("Component %s of service %s has not " +
 -              "command script defined", componentName, serviceName);
 -          throw new AmbariException(message);
 -        }
 -      }
 -      String agentDefaultCommandTimeout = configs.getDefaultAgentTaskTimeout(false);
 -      String actualTimeout = (!scriptCommandTimeout.equals("") ? scriptCommandTimeout : agentDefaultCommandTimeout);
 -
 -      commandParams.put(COMMAND_TIMEOUT, actualTimeout);
 -      commandParams.put(SCRIPT, scriptName);
 -      commandParams.put(SCRIPT_TYPE, script.getScriptType().toString());
 -    }
 -    String schVersion = sch.getVersion();
 -    if (!schVersion.equals("UNKNOWN")) {
 -      commandParams.put(VERSION, schVersion);
 -    }
 -    return commandParams;
 -  }
 +    Cluster cluster = clusters.getCluster(clusterId);
 +    Service service = cluster.getService(serviceName);
  
 -  private RepositoryVersionEntity getComponentRepositoryVersion(Long clusterId, String serviceName, String componentName) throws AmbariException {
 -    RepositoryVersionEntity repositoryVersion = null;
 -    if (!StringUtils.isEmpty(serviceName)) {
 -      Service service = clusters.getCluster(clusterId).getService(serviceName);
 -      if (null != service) {
 -        repositoryVersion = service.getDesiredRepositoryVersion();
 +    StackId stackId = service.getStackId();
 +    ServiceInfo serviceInfo = ambariMetaInfo.getService(stackId.getStackName(),
 +        stackId.getStackVersion(), serviceName);
 +    ComponentInfo componentInfo = ambariMetaInfo.getComponent(stackId.getStackName(),
 +        stackId.getStackVersion(), serviceName, componentName);
  
 -        if (!StringUtils.isEmpty(componentName) && service.getServiceComponents().containsKey(componentName)) {
 -          ServiceComponent serviceComponent = service.getServiceComponent(componentName);
 -          if (null != serviceComponent) {
 -            repositoryVersion = serviceComponent.getDesiredRepositoryVersion();
 -          }
 +    commandParams.put(SERVICE_PACKAGE_FOLDER, serviceInfo.getServicePackageFolder());
 +    String scriptName = null;
 +    String scriptCommandTimeout = "";
 +    CommandScriptDefinition script = componentInfo.getCommandScript();
 +    if (serviceInfo.getSchemaVersion().equals(AmbariMetaInfo.SCHEMA_VERSION_2)) {
 +      if (script != null) {
 +        scriptName = script.getScript();
 +        if (script.getTimeout() > 0) {
 +          scriptCommandTimeout = String.valueOf(script.getTimeout());
          }
 +      } else {
 +        String message = String.format(
 +            "Component %s of service %s has not " + "command script defined", componentName,
 +            serviceName);
 +        throw new AmbariException(message);
        }
      }
 -    return repositoryVersion;
 -  }
 -
 -  public TreeMap<String, String> getMetadataClusterLevelParams(Cluster cluster, StackId stackId) throws AmbariException {
 -    TreeMap<String, String> clusterLevelParams = new TreeMap<>();
 -    clusterLevelParams.put(STACK_NAME, stackId.getStackName());
 -    clusterLevelParams.put(STACK_VERSION, stackId.getStackVersion());
 -
 -    clusterLevelParams.putAll(getMetadataClusterLevelConfigsParams(cluster, stackId));
 -    clusterLevelParams.put(CLUSTER_NAME, cluster.getClusterName());
 -    clusterLevelParams.put(HOOKS_FOLDER, configs.getProperty(Configuration.HOOKS_FOLDER));
 -
 -    return clusterLevelParams;
 -  }
 -
 -  private TreeMap<String, String> getMetadataClusterLevelConfigsParams(Cluster cluster, StackId stackId) throws AmbariException {
 -    TreeMap<String, String> clusterLevelParams = new TreeMap<>();
 -
 -    Map<String, DesiredConfig> desiredConfigs = cluster.getDesiredConfigs(false);
 -    if (MapUtils.isNotEmpty(desiredConfigs)) {
 -
 -      Set<String> userSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.USER, cluster, desiredConfigs);
 -      String userList = gson.toJson(userSet);
 -      clusterLevelParams.put(USER_LIST, userList);
 -
 -      //Create a user_group mapping and send it as part of the hostLevelParams
 -      Map<String, Set<String>> userGroupsMap = configHelper.createUserGroupsMap(
 -          stackId, cluster, desiredConfigs);
 -      String userGroups = gson.toJson(userGroupsMap);
 -      clusterLevelParams.put(USER_GROUPS, userGroups);
 -
 -      Set<String> groupSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.GROUP, cluster, desiredConfigs);
 -      String groupList = gson.toJson(groupSet);
 -      clusterLevelParams.put(GROUP_LIST, groupList);
 -    }
 -    Set<String> notManagedHdfsPathSet = configHelper.getPropertyValuesWithPropertyType(stackId,
 -        PropertyType.NOT_MANAGED_HDFS_PATH, cluster, desiredConfigs);
 -    String notManagedHdfsPathList = gson.toJson(notManagedHdfsPathSet);
 -    clusterLevelParams.put(NOT_MANAGED_HDFS_PATH_LIST, notManagedHdfsPathList);
 -
 -    Map<String, ServiceInfo> serviceInfos = ambariMetaInfo.getServices(stackId.getStackName(), stackId.getStackVersion());
 -    for (ServiceInfo serviceInfoInstance : serviceInfos.values()) {
 -      if (serviceInfoInstance.getServiceType() != null) {
 -        LOG.debug("Adding {} to command parameters for {}", serviceInfoInstance.getServiceType(),
 -            serviceInfoInstance.getName());
 -
 -        clusterLevelParams.put(DFS_TYPE, serviceInfoInstance.getServiceType());
 -        break;
 -      }
 -    }
 -
 -    return clusterLevelParams;
 -  }
 -
 -  public TreeMap<String, MetadataServiceInfo> getMetadataServiceLevelParams(Cluster cluster) throws AmbariException {
 -    TreeMap<String, MetadataServiceInfo> serviceLevelParams = new TreeMap<>();
 -    for (Map.Entry<String, Service> serviceEntry : cluster.getServices().entrySet()) {
 -      Service service = serviceEntry.getValue();
 -      serviceLevelParams.putAll(getMetadataServiceLevelParams(service));
 -    }
 -    return serviceLevelParams;
 -  }
 -
 -  public TreeMap<String, MetadataServiceInfo> getMetadataServiceLevelParams(Service service) throws AmbariException {
 -    TreeMap<String, MetadataServiceInfo> serviceLevelParams = new TreeMap<>();
 -
 -    RepositoryVersionEntity repositoryVersion = service.getDesiredRepositoryVersion();
 -
 -    if (null != repositoryVersion) {
 -      StackId serviceStackId = repositoryVersion.getStackId();
 -
 -      ServiceInfo serviceInfo = ambariMetaInfo.getService(serviceStackId.getStackName(),
 -          serviceStackId.getStackVersion(), service.getName());
 -      Long statusCommandTimeout = null;
 -      if (serviceInfo.getCommandScript() != null) {
 -        statusCommandTimeout = new Long(customCommandExecutionHelper.getStatusCommandTimeout(serviceInfo));
 -      }
 -
 -      String servicePackageFolder = serviceInfo.getServicePackageFolder();
 -
 -      // Get the map of service config type to password properties for the service
 -      Map<String, Map<String, String>> configCredentials;
 -      configCredentials = configCredentialsForService.get(service.getName());
 -      if (configCredentials == null) {
 -        configCredentials = configHelper.getCredentialStoreEnabledProperties(serviceStackId, service);
 -        configCredentialsForService.put(service.getName(), configCredentials);
 -      }
 -
 -      serviceLevelParams.put(serviceInfo.getName(),
 -          new MetadataServiceInfo(serviceInfo.getVersion(),
 -              service.isCredentialStoreEnabled(),
 -              configCredentials,
 -              statusCommandTimeout,
 -              servicePackageFolder));
 -    }
 -    return serviceLevelParams;
 -  }
 -
 -  public TreeMap<String, String> getMetadataAmbariLevelParams() {
 -    TreeMap<String, String> clusterLevelParams = new TreeMap<>();
 -    clusterLevelParams.put(JDK_LOCATION, getJdkResourceUrl());
 -    clusterLevelParams.put(JAVA_HOME, getJavaHome());
 -    clusterLevelParams.put(JAVA_VERSION, String.valueOf(configs.getJavaVersion()));
 -    clusterLevelParams.put(JDK_NAME, getJDKName());
 -    clusterLevelParams.put(JCE_NAME, getJCEName());
 -    clusterLevelParams.put(DB_NAME, getServerDB());
 -    clusterLevelParams.put(MYSQL_JDBC_URL, getMysqljdbcUrl());
 -    clusterLevelParams.put(ORACLE_JDBC_URL, getOjdbcUrl());
 -    clusterLevelParams.put(DB_DRIVER_FILENAME, configs.getMySQLJarName());
 -    clusterLevelParams.putAll(getRcaParameters());
 -    clusterLevelParams.put(HOST_SYS_PREPPED, configs.areHostsSysPrepped());
 -    clusterLevelParams.put(AGENT_STACK_RETRY_ON_UNAVAILABILITY, configs.isAgentStackRetryOnInstallEnabled());
 -    clusterLevelParams.put(AGENT_STACK_RETRY_COUNT, configs.getAgentStackRetryOnInstallCount());
 +    String agentDefaultCommandTimeout = configs.getDefaultAgentTaskTimeout(false);
 +    String actualTimeout = (!scriptCommandTimeout.equals("") ? scriptCommandTimeout
 +        : agentDefaultCommandTimeout);
  
 -    boolean serverUseSsl = configs.getApiSSLAuthentication();
 -    int port = serverUseSsl ? configs.getClientSSLApiPort() : configs.getClientApiPort();
 -    clusterLevelParams.put(AMBARI_SERVER_HOST, StageUtils.getHostName());
 -    clusterLevelParams.put(AMBARI_SERVER_PORT, Integer.toString(port));
 -    clusterLevelParams.put(AMBARI_SERVER_USE_SSL, Boolean.toString(serverUseSsl));
 -
 -    for (Map.Entry<String, String> dbConnectorName : configs.getDatabaseConnectorNames().entrySet()) {
 -      clusterLevelParams.put(dbConnectorName.getKey(), dbConnectorName.getValue());
 -    }
 -    for (Map.Entry<String, String> previousDBConnectorName : configs.getPreviousDatabaseConnectorNames().entrySet()) {
 -      clusterLevelParams.put(previousDBConnectorName.getKey(), previousDBConnectorName.getValue());
 -    }
 -    clusterLevelParams.put(GPL_LICENSE_ACCEPTED, configs.getGplLicenseAccepted().toString());
 +    commandParams.put(COMMAND_TIMEOUT, actualTimeout);
 +    commandParams.put(SCRIPT, scriptName);
 +    commandParams.put(SCRIPT_TYPE, script.getScriptType().toString());
  
 -    return clusterLevelParams;
 +    return commandParams;
    }
  
+   public SortedMap<String, SortedMap<String,String>> getMetadataAgentConfigs() {
+     SortedMap<String, SortedMap<String,String>> agentConfigs = new TreeMap<>();
+     Map<String, Map<String,String>> agentConfigsMap = configs.getAgentConfigsMap();
+ 
+     for (String key : agentConfigsMap.keySet()) {
+       agentConfigs.put(key, new TreeMap<>(agentConfigsMap.get(key)));
+     }
+ 
+     return agentConfigs;
+   }
+ 
    @Override
-   //TODO : Revisit, trunk merge 03/20
    public HostRepositories retrieveHostRepositories(Cluster cluster, Host host) throws AmbariException {
      List<ServiceComponentHost> hostComponents = cluster.getServiceComponentHosts(host.getHostName());
-     Map<String, CommandRepository> hostRepositories = new HashMap<>();
-     Map<String, String> componentsRepos = new HashMap<>();
+     SortedMap<Long, CommandRepository> hostRepositories = new TreeMap<>();
+     SortedMap<String, Long> componentsRepos = new TreeMap<>();
      for (ServiceComponentHost serviceComponentHost : hostComponents) {
  
        CommandRepository commandRepository;
@@@ -5669,9 -5888,8 +5711,9 @@@
        } catch (SystemException e) {
          throw new RuntimeException(e);
        }
 +      ArrayList<CommandRepository.Repository> repositories = (ArrayList<CommandRepository.Repository>) commandRepository.getRepositories();
-       hostRepositories.put(repositories.get(0).getRepoName(), commandRepository);
-       componentsRepos.put(serviceComponentHost.getServiceComponentName(), repositories.get(0).getRepoName());
+       hostRepositories.put(commandRepository.getRepoVersionId(), commandRepository);
+       componentsRepos.put(serviceComponentHost.getServiceComponentName(), commandRepository.getRepoVersionId());
      }
      return new HostRepositories(hostRepositories, componentsRepos);
    }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigGroupRequest.java
index fb8d2c9,1faaeed..e33aa4e
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigGroupRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ConfigGroupRequest.java
@@@ -119,12 -129,4 +131,13 @@@ public class ConfigGroupRequest 
    public void setServiceConfigVersionNote(String serviceConfigVersionNote) {
      this.serviceConfigVersionNote = serviceConfigVersionNote;
    }
 +
++  @ApiModelProperty(name = ConfigGroupResourceProvider.SERVICE_GROUP_NAME_PROPERTY_ID)
 +  public String getServiceGroupName() {
 +    return serviceGroupName;
 +  }
 +
 +  public void setServiceGroupName(String serviceGroupName) {
 +    this.serviceGroupName = serviceGroupName;
 +  }
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceComponentHostResponse.java
index 3eb1607,fe8734c..b381c78
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceComponentHostResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceComponentHostResponse.java
@@@ -26,18 -27,11 +27,18 @@@ import org.apache.ambari.server.state.U
  
  import io.swagger.annotations.ApiModelProperty;
  
- public class ServiceComponentHostResponse {
+ public class ServiceComponentHostResponse implements ApiModel {
  
 +  private Long clusterId; // REF
    private String clusterName; // REF
 +  private Long serviceGroupId;
 +  private String serviceGroupName;
 +  private Long serviceId;
    private String serviceName;
 +  private String serviceType;
 +  private Long hostComponentId;
    private String componentName;
 +  private String componentType;
    private String displayName;
    private String publicHostname;
    private String hostname;
@@@ -81,48 -69,9 +82,49 @@@
    }
  
    /**
 +   * @return the serviceGroupId
 +   */
 +  public Long getServiceGroupId() { return serviceGroupId; }
 +
 +  /**
 +   * @param serviceGroupId the serviceGroupId to set
 +   */
 +  public void setServiceGroupId(Long serviceGroupId) { this.serviceGroupId = serviceGroupId; }
 +
 +  /**
 +   * @return the serviceGroupName
 +   */
 +  public String getServiceGroupName() { return serviceGroupName; }
 +
 +  /**
 +   * @param serviceGroupName the serviceGroupName to set
 +   */
 +  public void setServiceGroupName(String serviceGroupName) { this.serviceGroupName = serviceGroupName; }
 +
 +  /**
 +   * @return the serviceId
 +   */
 +  public Long getServiceId() { return serviceId; }
 +
 +  /**
 +   * @param serviceId the serviceId to set
 +   */
 +  public void setServiceId(Long serviceId) { this.serviceId = serviceId; }
 +
 +  /**
 +   * @return the hostComponentId
 +   */
 +  public Long getHostComponentId() { return hostComponentId; }
 +
 +  /**
 +   * @param hostComponentId the hostComponentId to set
 +   */
 +  public void sethostComponentId(Long hostComponentId) { this.hostComponentId = hostComponentId; }
 +
 +  /**
     * @return the serviceName
     */
+   @ApiModelProperty(name = HostComponentResourceProvider.SERVICE_NAME_PROPERTY_ID)
    public String getServiceName() {
      return serviceName;
    }
@@@ -135,18 -84,9 +137,19 @@@
    }
  
    /**
 +   * @return the serviceName
 +   */
 +  public String getServiceType() { return serviceType; }
 +
 +  /**
 +   * @param serviceType the serviceType to set
 +   */
 +  public void setServiceType(String serviceType) { this.serviceType = serviceType; }
 +
 +  /**
     * @return the componentName
     */
+   @ApiModelProperty(name = HostComponentResourceProvider.COMPONENT_NAME_PROPERTY_ID)
    public String getComponentName() {
      return componentName;
    }
@@@ -166,15 -99,9 +169,16 @@@
    }
  
    /**
 +   * @param componentType the componentType to set
 +   */
 +  public void setComponentType(String componentType) {
 +    this.componentType = componentType;
 +  }
 +
 +  /**
     * @return the displayName
     */
+   @ApiModelProperty(name = HostComponentResourceProvider.DISPLAY_NAME_PROPERTY_ID)
    public String getDisplayName() {
      return displayName;
    }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceConfigVersionRequest.java
index 518503f,9fed772..d9d93ee
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceConfigVersionRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceConfigVersionRequest.java
@@@ -18,9 -18,10 +18,12 @@@
  
  package org.apache.ambari.server.controller;
  
- 
 +import java.util.List;
 +
+ import org.apache.ambari.server.controller.internal.ServiceConfigVersionResourceProvider;
+ 
+ import io.swagger.annotations.ApiModelProperty;
+ 
  public class ServiceConfigVersionRequest {
    private String clusterName;
    private String serviceName;
@@@ -46,10 -43,9 +49,11 @@@
      this.applyTime = applyTime;
      this.userName = userName;
      this.isCurrent = isCurrent;
 +    this.note = note;
 +    this.stackId = stackId;
    }
  
+   @ApiModelProperty(name = ServiceConfigVersionResourceProvider.SERVICE_NAME_PROPERTY_ID)
    public String getServiceName() {
      return serviceName;
    }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerSSOConfigurationHandler.java
index 0000000,dece520..db54373
mode 000000,100644..100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerSSOConfigurationHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerSSOConfigurationHandler.java
@@@ -1,0 -1,249 +1,249 @@@
+ /*
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ 
+ package org.apache.ambari.server.controller.internal;
+ 
+ import static org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest.StackAdvisorRequestType.SSO_CONFIGURATIONS;
+ import static org.apache.ambari.server.configuration.AmbariServerConfigurationCategory.SSO_CONFIGURATION;
+ import static org.apache.ambari.server.configuration.AmbariServerConfigurationKey.SSO_ENABLED_SERVICES;
+ import static org.apache.ambari.server.configuration.AmbariServerConfigurationKey.SSO_MANAGE_SERVICES;
+ 
+ import java.util.Arrays;
+ import java.util.Collection;
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.HashSet;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Set;
+ import java.util.stream.Collectors;
+ 
+ import org.apache.ambari.server.AmbariException;
+ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
+ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorHelper;
+ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
+ import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse;
+ import org.apache.ambari.server.configuration.Configuration;
+ import org.apache.ambari.server.controller.AmbariManagementController;
+ import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
+ import org.apache.ambari.server.orm.dao.AmbariConfigurationDAO;
+ import org.apache.ambari.server.state.Cluster;
+ import org.apache.ambari.server.state.Clusters;
+ import org.apache.ambari.server.state.ConfigHelper;
+ import org.apache.ambari.server.state.Host;
+ import org.apache.ambari.server.state.Service;
+ import org.apache.ambari.server.state.StackId;
+ import org.apache.ambari.server.state.ValueAttributesInfo;
+ import org.apache.commons.lang.StringUtils;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.google.inject.Inject;
+ import com.google.inject.Singleton;
+ 
+ /**
+  * AmbariServerSSOConfigurationHandler is an {@link AmbariServerConfigurationHandler} implementation
+  * handing changes to the SSO configuration
+  */
+ @Singleton
+ public class AmbariServerSSOConfigurationHandler extends AmbariServerConfigurationHandler {
+   private static final Logger LOGGER = LoggerFactory.getLogger(AmbariServerSSOConfigurationHandler.class);
+ 
+   private final Clusters clusters;
+ 
+   private final ConfigHelper configHelper;
+ 
+   private final AmbariManagementController managementController;
+ 
+   private final StackAdvisorHelper stackAdvisorHelper;
+ 
+   @Inject
+   public AmbariServerSSOConfigurationHandler(Clusters clusters, ConfigHelper configHelper,
+                                              AmbariManagementController managementController,
+                                              StackAdvisorHelper stackAdvisorHelper,
+                                              AmbariConfigurationDAO ambariConfigurationDAO,
+                                              AmbariEventPublisher publisher,
+                                              Configuration ambariConfiguration) {
+     super(ambariConfigurationDAO, publisher, ambariConfiguration);
+     this.clusters = clusters;
+     this.configHelper = configHelper;
+     this.managementController = managementController;
+     this.stackAdvisorHelper = stackAdvisorHelper;
+   }
+ 
+   @Override
+   public void updateComponentCategory(String categoryName, Map<String, String> properties, boolean removePropertiesIfNotSpecified) throws AmbariException {
+     // Use the default implementation of #updateComponentCategory; however if Ambari is managing the SSO implementations
+     // always process them, even the of sso-configuration properties have not been changed since we do not
+     // know of the Ambari SSO data has changed in the ambari.properties file.  For example the authentication.jwt.providerUrl
+     // or authentication.jwt.publicKey values.
+     super.updateComponentCategory(categoryName, properties, removePropertiesIfNotSpecified);
+ 
+     // Determine if Ambari is managing SSO configurations...
+     boolean manageSSOConfigurations;
+ 
+     Map<String, String> ssoProperties = getConfigurationProperties(SSO_CONFIGURATION.getCategoryName());
+     manageSSOConfigurations = (ssoProperties != null) && "true".equalsIgnoreCase(ssoProperties.get(SSO_MANAGE_SERVICES.key()));
+ 
+     if (manageSSOConfigurations) {
+       Map<String, Cluster> clusterMap = clusters.getClusters();
+ 
+       if (clusterMap != null) {
+         for (Cluster cluster : clusterMap.values()) {
+           try {
+             LOGGER.info(String.format("Managing the SSO configuration for the cluster named '%s'", cluster.getClusterName()));
+             processCluster(cluster);
+           } catch (AmbariException | StackAdvisorException e) {
+             LOGGER.warn(String.format("Failed to update the the SSO configuration for the cluster named '%s': ", cluster.getClusterName()), e);
+           }
+         }
+       }
+     }
+   }
+ 
+   /**
+    * Gets the set of services for which the user declared  Ambari to enable SSO integration.
+    * <p>
+    * If Ambari is not managing SSO integration configuration for services the set of names will be empry.
+    *
+    * @return a set of service names
+    */
+   public Set<String> getSSOEnabledServices() {
+     Map<String, String> ssoProperties = getConfigurationProperties(SSO_CONFIGURATION.getCategoryName());
+     boolean manageSSOConfigurations = (ssoProperties != null) && "true".equalsIgnoreCase(ssoProperties.get(SSO_MANAGE_SERVICES.key()));
+     String ssoEnabledServices = (manageSSOConfigurations) ? ssoProperties.get(SSO_ENABLED_SERVICES.key()) : null;
+ 
+     if (StringUtils.isEmpty(ssoEnabledServices)) {
+       return Collections.emptySet();
+     } else {
+       return Arrays.stream(ssoEnabledServices.split(","))
+           .map(String::trim)
+           .map(String::toUpperCase)
+           .collect(Collectors.toSet());
+     }
+   }
+ 
+   /**
+    * Build the stack advisor request, call the stack advisor, then automatically handle the recommendations.
+    * <p>
+    * Any recommendation coming back from the Stack/service advisor is expected to be only SSO-related
+    * configurations.
+    * <p>
+    * If there are no changes to the current configurations, no new configuration versions will be created.
+    *
+    * @param cluster the cluster to process
+    * @throws AmbariException
+    * @throws StackAdvisorException
+    */
+   private void processCluster(Cluster cluster) throws AmbariException, StackAdvisorException {
+     StackId stackVersion = cluster.getCurrentStackVersion();
+     List<String> hosts = cluster.getHosts().stream().map(Host::getHostName).collect(Collectors.toList());
 -    Set<String> serviceNames = cluster.getServices().values().stream().map(Service::getName).collect(Collectors.toSet());
++    Set<String> serviceNames = cluster.getServices().stream().map(Service::getName).collect(Collectors.toSet());
+ 
+     // Build the StackAdvisor request for SSO-related configurations.  it is expected that the stack
+     // advisor will abide by the configurations set in the Ambari sso-configurations to enable and
+     // disable SSO integration for the relevant services.
+     StackAdvisorRequest request = StackAdvisorRequest.StackAdvisorRequestBuilder.
+         forStack(stackVersion.getStackName(), stackVersion.getStackVersion())
+         .ofType(SSO_CONFIGURATIONS)
+         .forHosts(hosts)
+         .forServices(serviceNames)
+         .withComponentHostsMap(cluster.getServiceComponentHostMap(null, null))
+         .withConfigurations(calculateExistingConfigurations(cluster))
+         .build();
+ 
+     // Execute the stack advisor
+     RecommendationResponse response = stackAdvisorHelper.recommend(request);
+ 
+     // Process the recommendations and automatically apply them.  Ideally this is what the user wanted
+     RecommendationResponse.Recommendation recommendation = (response == null) ? null : response.getRecommendations();
+     RecommendationResponse.Blueprint blueprint = (recommendation == null) ? null : recommendation.getBlueprint();
+     Map<String, RecommendationResponse.BlueprintConfigurations> configurations = (blueprint == null) ? null : blueprint.getConfigurations();
+ 
+     if (configurations != null) {
+       for (Map.Entry<String, RecommendationResponse.BlueprintConfigurations> configuration : configurations.entrySet()) {
+         processConfigurationType(cluster, configuration.getKey(), configuration.getValue());
+       }
+     }
+   }
+ 
+   /**
+    * Process the configuration to add, update, and remove properties as needed.
+    *
+    * @param cluster        the cluster
+    * @param configType     the configuration type
+    * @param configurations the recommended configuration values
+    * @throws AmbariException
+    */
+   private void processConfigurationType(Cluster cluster, String configType,
+                                         RecommendationResponse.BlueprintConfigurations configurations)
+       throws AmbariException {
+ 
+     Map<String, String> updates = new HashMap<>();
+     Collection<String> removals = new HashSet<>();
+ 
+     // Gather the updates
+     Map<String, String> recommendedConfigProperties = configurations.getProperties();
+     if (recommendedConfigProperties != null) {
+       updates.putAll(recommendedConfigProperties);
+     }
+ 
+     // Determine if any properties need to be removed
+     Map<String, ValueAttributesInfo> recommendedConfigPropertyAttributes = configurations.getPropertyAttributes();
+     if (recommendedConfigPropertyAttributes != null) {
+       for (Map.Entry<String, ValueAttributesInfo> entry : recommendedConfigPropertyAttributes.entrySet()) {
+         ValueAttributesInfo info = entry.getValue();
+ 
+         if ((info != null) && "true".equalsIgnoreCase(info.getDelete())) {
+           updates.remove(entry.getKey());
+           removals.add(entry.getKey());
+         }
+       }
+     }
+ 
+     configHelper.updateConfigType(cluster, cluster.getCurrentStackVersion(), managementController,
+         configType, updates, removals,
+         "internal", "Ambari-managed single sign-on configurations");
+   }
+ 
+   /**
+    * Calculate the current configurations for all services
+    *
+    * @param cluster the cluster
+    * @return a map of services and their configurations
+    * @throws AmbariException
+    */
+   private Map<String, Map<String, Map<String, String>>> calculateExistingConfigurations(Cluster cluster) throws AmbariException {
+     Map<String, Map<String, String>> configurationTags = configHelper.getEffectiveDesiredTags(cluster, null);
+     Map<String, Map<String, String>> effectiveConfigs = configHelper.getEffectiveConfigProperties(cluster, configurationTags);
+ 
+     Map<String, Map<String, Map<String, String>>> requestConfigurations = new HashMap<>();
+     if (effectiveConfigs != null) {
+       for (Map.Entry<String, Map<String, String>> configuration : effectiveConfigs.entrySet()) {
+         Map<String, Map<String, String>> properties = new HashMap<>();
+         String configType = configuration.getKey();
+         Map<String, String> configurationProperties = configuration.getValue();
+ 
+         if (configurationProperties == null) {
+           configurationProperties = Collections.emptyMap();
+         }
+ 
+         properties.put("properties", configurationProperties);
+         requestConfigurations.put(configType, properties);
+       }
+     }
+ 
+     return requestConfigurations;
+   }
+ }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
index 5c45712,7ae1e43..ba7a043
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
@@@ -64,7 -72,6 +70,8 @@@ import com.google.common.collect.Sets
   * Updates configuration properties based on cluster topology.  This is done when exporting
   * a blueprint and when a cluster is provisioned via a blueprint.
   */
 +// TODO move to topology package
++//TODO: [AMP] Fix merge
  public class BlueprintConfigurationProcessor {
  
    private static final Logger LOG = LoggerFactory.getLogger(BlueprintConfigurationProcessor.class);
@@@ -358,11 -439,196 +449,195 @@@
      // set of properties (copy) doesn't include the removed properties.  If an updater
      // removes a property other than the property it is registered for then we will
      // have an issue as it won't be removed from the clusterProps map as it is a copy.
-     Map<String, Map<String, String>> configProperties = clusterConfig.getFullProperties();
-     Map<String, Map<String, String>> clusterProps = configProperties;
-     for (Map<String, Map<String, PropertyUpdater>> updaterMap : createCollectionOfUpdaters()) {
+     Map<String, Map<String, String>> clusterProps = clusterConfig.getFullProperties();
+     doGeneralPropertyUpdatesForClusterCreate(clusterConfig, clusterProps, configTypesUpdated);
+ 
+     //todo: lots of hard coded HA rules included here
 -    if (clusterTopology.isNameNodeHAEnabled()) {
++    if (isNameNodeHAEnabled(clusterProps)) {
+       doNameNodeHAUpdateOnClusterCreation(clusterConfig, clusterProps, configTypesUpdated);
+     }
+ 
+     // Explicitly set any properties that are required but not currently provided in the stack definition.
+     setStackToolsAndFeatures(clusterConfig, configTypesUpdated);
 -    setRetryConfiguration(clusterConfig, configTypesUpdated);
+     setupHDFSProxyUsers(clusterConfig, configTypesUpdated);
 -    addExcludedConfigProperties(clusterConfig, configTypesUpdated, clusterTopology.getBlueprint().getStack());
++    addExcludedConfigProperties(clusterConfig, configTypesUpdated, clusterTopology.getStack());
+ 
+     trimProperties(clusterConfig, clusterTopology);
+ 
+     return configTypesUpdated;
+   }
+ 
+   /**
+    * Update Namenode HA properties during cluster creation
+    * @throws ConfigurationTopologyException
+    */
+   private void doNameNodeHAUpdateOnClusterCreation(Configuration clusterConfig,
+                                                    Map<String, Map<String, String>> clusterProps,
+                                                    Set<String> configTypesUpdated) throws ConfigurationTopologyException {
+     // add "dfs.internal.nameservices" if it's not specified
+     Map<String, String> hdfsSiteConfig = clusterConfig.getFullProperties().get("hdfs-site");
+     String nameservices = hdfsSiteConfig.get("dfs.nameservices");
+     String int_nameservices = hdfsSiteConfig.get("dfs.internal.nameservices");
+     if(int_nameservices == null && nameservices != null) {
+       clusterConfig.setProperty("hdfs-site", "dfs.internal.nameservices", nameservices);
+     }
+ 
+     // parse out the nameservices value
+     String[] parsedNameServices = parseNameServices(hdfsSiteConfig);
+ 
+     // if a single nameservice is configured (default HDFS HA deployment)
+     if (parsedNameServices.length == 1) {
+       LOG.info("Processing a single HDFS NameService, which indicates a default HDFS NameNode HA deployment");
+       // if the active/standby namenodes are not specified, assign them automatically
+       if (! isNameNodeHAInitialActiveNodeSet(clusterProps) && ! isNameNodeHAInitialStandbyNodeSet(clusterProps)) {
+         Collection<String> nnHosts = clusterTopology.getHostAssignmentsForComponent("NAMENODE");
+         if (nnHosts.size() < 2) {
+           throw new ConfigurationTopologyException("NAMENODE HA requires at least 2 hosts running NAMENODE but there are: " +
+             nnHosts.size() + " Hosts: " + nnHosts);
+         }
+ 
+         // set the properties that configure which namenode is active,
+         // and which is a standby node in this HA deployment
+         Iterator<String> nnHostIterator = nnHosts.iterator();
+         clusterConfig.setProperty(HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_ACTIVE_NAMENODE_PROPERTY_NAME, nnHostIterator.next());
+         clusterConfig.setProperty(HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_STANDBY_NAMENODE_PROPERTY_NAME, nnHostIterator.next());
+ 
+         configTypesUpdated.add(HDFS_HA_INITIAL_CONFIG_TYPE);
+       }
+     } else {
+       if (!isPropertySet(clusterProps, HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_ACTIVE_NAMENODE_SET_PROPERTY_NAME) && !isPropertySet(clusterProps, HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_STANDBY_NAMENODE_SET_PROPERTY_NAME)) {        // multiple nameservices indicates an HDFS NameNode Federation install
+         // process each nameservice to determine the active/standby nodes
+         LOG.info("Processing multiple HDFS NameService instances, which indicates a NameNode Federation deployment");
+         if (parsedNameServices.length > 1) {
+           Set<String> activeNameNodeHostnames = new HashSet<>();
+           Set<String> standbyNameNodeHostnames = new HashSet<>();
+ 
+           for (String nameService : parsedNameServices) {
+             List<String> hostNames = new ArrayList<>();
+             String[] nameNodes = parseNameNodes(nameService, hdfsSiteConfig);
+             for (String nameNode : nameNodes) {
+               // use the HA rpc-address property to obtain the NameNode hostnames
+               String propertyName = "dfs.namenode.rpc-address." + nameService + "." + nameNode;
+               String propertyValue = hdfsSiteConfig.get(propertyName);
+               if (propertyValue == null) {
+                 throw new ConfigurationTopologyException("NameNode HA property = " + propertyName + " is not found in the cluster config.  This indicates an error in configuration for HA/Federated clusters.  " +
+                   "Please recheck the HDFS configuration and try this deployment again");
+               }
+ 
+               String hostName = propertyValue.split(":")[0];
+               hostNames.add(hostName);
+             }
+ 
+             if (hostNames.size() < 2) {
+               throw new ConfigurationTopologyException("NAMENODE HA for nameservice = " + nameService + " requires at least 2 hosts running NAMENODE but there are: " +
+                 hostNames.size() + " Hosts: " + hostNames);
+             } else {
+               // by default, select the active and standby namenodes for this nameservice
+               // using the first two hostnames found
+               // since HA is assumed, there should only be two NameNodes deployed per NameService
+               activeNameNodeHostnames.add(hostNames.get(0));
+               standbyNameNodeHostnames.add(hostNames.get(1));
+             }
+           }
+ 
+           // set the properties what configure the NameNode Active/Standby status for each nameservice
+           if (!activeNameNodeHostnames.isEmpty() && !standbyNameNodeHostnames.isEmpty()) {
+             clusterConfig.setProperty(HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_ACTIVE_NAMENODE_SET_PROPERTY_NAME, String.join(",", activeNameNodeHostnames));
+             clusterConfig.setProperty(HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_STANDBY_NAMENODE_SET_PROPERTY_NAME, String.join(",", standbyNameNodeHostnames));
+ 
+             // also set the clusterID property, required for Federation installs of HDFS
+             if (!isPropertySet(clusterProps, HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_HA_INITIAL_CLUSTER_ID_PROPERTY_NAME)) {
+               clusterConfig.setProperty(HDFS_HA_INITIAL_CONFIG_TYPE, HDFS_HA_INITIAL_CLUSTER_ID_PROPERTY_NAME, getClusterName());
+             }
+ 
+             configTypesUpdated.add(HDFS_HA_INITIAL_CONFIG_TYPE);
+           } else {
+             LOG.warn("Error in processing the set of active/standby namenodes in this federated cluster, please check hdfs-site configuration");
+           }
+           // Need to configure ranger-tagsync-site properties, when Ranger-HDFS plugin is enabled
+           doTagSyncSiteUpdateForNamenodeNFederationEnabledOnClusterCreation(clusterConfig, clusterProps, configTypesUpdated);
+         }
+       }
+     }
+   }
+ 
+   /**
+    * Update ranger-tagsync-site properties when NN Federation is enabled and Ranger-HDFS plugin is enabled
+    * @throws ConfigurationTopologyException
+    */
+   private void doTagSyncSiteUpdateForNamenodeNFederationEnabledOnClusterCreation(Configuration clusterConfig,
+                                                                     Map<String, Map<String, String>> clusterProps,
+                                                                     Set<String> configTypesUpdated) throws ConfigurationTopologyException {
+     Map<String, String> hdfsSiteConfig = clusterConfig.getFullProperties().get("hdfs-site");
+     // parse out the nameservices value
+     String[] parsedNameServices = parseNameServices(hdfsSiteConfig);
+     String clusterName = getClusterName();
+ 
+     // Getting configuration and properties for adding configurations to ranger-tagsync-site
+     boolean isRangerHDFSPluginEnabled =  false;
+     String rangerHDFSPluginServiceName = "";
+ 
+     String atlasServerComponentName = "ATLAS_SERVER";
+     String rangerAdminComponentName = "RANGER_ADMIN";
+     String rangerTagsyncComponentName = "RANGER_TAGSYNC";
+     boolean isRangerAdminToBeInstalled = (clusterTopology.getHostGroupsForComponent(rangerAdminComponentName).size() >= 1);
+     boolean isRangerTagsyncToBeInstalled = (clusterTopology.getHostGroupsForComponent(rangerTagsyncComponentName).size() >= 1);
+     boolean isAtlasServerToBeInstalled = (clusterTopology.getHostGroupsForComponent(atlasServerComponentName).size() >= 1);
+     if (isRangerAdminToBeInstalled) {
+       Map<String, String> rangerHDFSPluginProperties = clusterProps.get("ranger-hdfs-plugin-properties");
+       String rangerHDFSPluginEnabledValue = rangerHDFSPluginProperties.getOrDefault("ranger-hdfs-plugin-enabled","No");
+       isRangerHDFSPluginEnabled = ("yes".equalsIgnoreCase(rangerHDFSPluginEnabledValue));
+       Map<String, String> rangerHDFSSecurityConfig = clusterProps.get("ranger-hdfs-security");
+       rangerHDFSPluginServiceName = rangerHDFSSecurityConfig.get("ranger.plugin.hdfs.service.name");
+     }
+ 
+     boolean isTagsyncPropertyConfigurationRequired = ( isRangerAdminToBeInstalled && isRangerTagsyncToBeInstalled &&
+                                                        isAtlasServerToBeInstalled && isRangerHDFSPluginEnabled );
+ 
+     Map<String, String> coreSiteConfig = clusterProps.get("core-site");
+     String fsDefaultFSValue = coreSiteConfig.get("fs.defaultFS");
+     String nameServiceInFsDefaultFSConfig="";
+ 
+     if (isTagsyncPropertyConfigurationRequired && "{{repo_name}}".equalsIgnoreCase(rangerHDFSPluginServiceName)) {
+       rangerHDFSPluginServiceName = clusterName + "_hadoop";
+     }
+     // If blueprint configuration has multiple nameservices, indicating NN-Federation is enabled
+     if (parsedNameServices.length > 1 && isTagsyncPropertyConfigurationRequired) {
+       for (String nameService : parsedNameServices) {
+         // Adding configurations for Ranger-Tagsync to map Ranger HDFS service for Atlas Tagsync
+         String tagsyncNameserviceMappingProperty   = "ranger.tagsync.atlas.hdfs.instance." + clusterName + ".nameservice." + nameService + ".ranger.service";
+         String updatedRangerHDFSPluginServiceName = rangerHDFSPluginServiceName + "_" + nameService;
+         clusterConfig.setProperty(RANGER_TAGSYNC_SITE_CONFIG_TYPE_NAME, tagsyncNameserviceMappingProperty, updatedRangerHDFSPluginServiceName);
+         try {
+           URI fsDefaultFSURI = new URI(fsDefaultFSValue);
+           String fsDefaultFSNameService = fsDefaultFSURI.getHost();
+           if (fsDefaultFSNameService.contains(nameService)) {
+             nameServiceInFsDefaultFSConfig = nameService;
+           }
+         } catch (URISyntaxException e) {
+           LOG.error("Error occurred while parsing the defaultFS URI.", e);
+         }
+       }
+ 
+       String rangerTagsyncAtlasNNServiceMappingProperty = "ranger.tagsync.atlas.hdfs.instance." + clusterName + ".ranger.service";
+       String rangerTagsyncAtlasNNServiceName = rangerHDFSPluginServiceName + "_" + nameServiceInFsDefaultFSConfig;
+       clusterConfig.setProperty(RANGER_TAGSYNC_SITE_CONFIG_TYPE_NAME, rangerTagsyncAtlasNNServiceMappingProperty, rangerTagsyncAtlasNNServiceName);
+       configTypesUpdated.add(RANGER_TAGSYNC_SITE_CONFIG_TYPE_NAME);
+     }
+   }
+ 
+   /**
+    * Call registered updaters on cluster configuration + call default updater ({@link HostGroupUpdater#INSTANCE}) on
+    * properties that were submitted in the blueprint or the cluster template and don't have a registered updater.
+    */
+   private void doGeneralPropertyUpdatesForClusterCreate(Configuration clusterConfig,
+                                                         Map<String, Map<String, String>> clusterProps,
+                                                         Set<String> configTypesUpdated) {
+     // Iterate through the updaters and apply them in case applicable properties exist
+     Collection<Map<String, Map<String, PropertyUpdater>>> updaters = createCollectionOfUpdaters();
+     for (Map<String, Map<String, PropertyUpdater>> updaterMap : updaters) {
        for (Map.Entry<String, Map<String, PropertyUpdater>> entry : updaterMap.entrySet()) {
-         String type = entry.getKey();
+         final String configType = entry.getKey();
          for (Map.Entry<String, PropertyUpdater> updaterEntry : entry.getValue().entrySet()) {
            String propertyName = updaterEntry.getKey();
            PropertyUpdater updater = updaterEntry.getValue();
@@@ -406,43 -657,111 +666,110 @@@
        }
      }
  
-     //todo: lots of hard coded HA rules included here
-     if (isNameNodeHAEnabled(configProperties)) {
- 
-       // add "dfs.internal.nameservices" if it's not specified
-       Map<String, String> hdfsSiteConfig = configProperties.get("hdfs-site");
-       String nameservices = hdfsSiteConfig.get("dfs.nameservices");
-       String int_nameservices = hdfsSiteConfig.get("dfs.internal.nameservices");
-       if(int_nameservices == null && nameservices != null) {
-         clusterConfig.setProperty("hdfs-site", "dfs.internal.nameservices", nameservices);
+     // Iterate through all user defined properties (blueprint + cluster template) and call the default updater for those
+     // which don't have a configured updater. This is to make sure that %HOSTGROUP::name% tokens are replaced for each property
+     Set<Pair<String, String>> propertiesWithUpdaters = getAllPropertiesWithUpdaters(updaters);
+     // apply default updater on cluster config
+     applyDefaultUpdater(clusterConfig, clusterConfig.getFullProperties(1), configTypesUpdated, propertiesWithUpdaters);
+     // apply default updater on hostgroup configs
+     clusterTopology.getHostGroupInfo().values().stream().forEach(
+       hostGroup -> {
+         Configuration hostGroupConfig = hostGroup.getConfiguration();
+         Map<String, Map<String, String>> hostGroupConfigProps = hostGroupConfig.getFullProperties(1);
+         applyDefaultUpdater(hostGroupConfig, hostGroupConfigProps, configTypesUpdated, propertiesWithUpdaters);
+       });
+   }
+ 
+   /**
+    * Calculates all properties that have registered updaters based on the received collection
+    * @param updaters collection of all updaters
+    * @return a set of all properties with updaters as (configType, propertyName) pairs.
+    */
+   private Set<Pair<String, String>> getAllPropertiesWithUpdaters(Collection<Map<String, Map<String, PropertyUpdater>>> updaters) {
+     return updaters.stream().
+       flatMap(map -> map.entrySet().stream()).
+       flatMap(entry -> {
+         String configType = entry.getKey();
+         return entry.getValue().keySet().stream().map(propertyName -> Pair.of(configType, propertyName));
+       }).
+       collect(toSet());
+   }
+ 
+   /**
+    * Applies the default updater ({@link HostGroupUpdater#INSTANCE}) for properties that don't have a registered updater.
+    * This is to make sure that %HOSTGROUP::name% token replacements happen for all properties.
+    */
+   private void applyDefaultUpdater(Configuration configuration,
+                                    Map<String, Map<String, String>> properties,
+                                    Set<String> configTypesUpdated,
+                                    Set<Pair<String, String>> propertiesWithUpdaters) {
+     properties.entrySet().forEach(
+       configTypeEntry -> {
+         String configType = configTypeEntry.getKey();
+         configTypeEntry.getValue().entrySet().forEach(
+           propertyEntry -> {
+             String propertyName = propertyEntry.getKey();
+             if (!propertiesWithUpdaters.contains(Pair.of(configType, propertyName))) {
+               String oldValue = propertyEntry.getValue();
+               String newValue = updateValue(configType, propertyName, oldValue, PropertyUpdater.defaultUpdater(), properties,
+                 configuration, configTypesUpdated, false);
+               if (!Objects.equals(oldValue, newValue)) {
+                 LOG.info("Property {}/{} was updated by the default updater from [{}] to [{}]",
+                   configType, propertyName, oldValue, newValue);
+               }
+             }
+           });
+       });
+   }
+ 
+   /**
+    * Encapsulates commonly repeated tasks around updating a configuration value during cluster creation.
+    * @param configType the configuration type (e.g. hdfs-site)
+    * @param propertyName the name of the property (e.g. dfs.namenode.name.dir)
+    * @param oldValue the old value of the property
+    * @param updater the property updater to use
+    * @param allProps other properties to be considered by the updater
+    * @param configuration configuration to update (cluster global config or hostgroup config)
+    * @param configTypesUpdated set of updated config types (configType param will be added if updater changes the
+    *                           value of the property)
+    * @param alwaysUpdateConfig boolean to indicate whether the {@link Configuration} received as parameter should always
+    *                           (except when new value is {@code null}) be updated or only in case the new value differs
+    *                           from the original. (TODO: what is the reason for always updating the configuration?)
+    * @return the updated value
+    */
+   private String updateValue(String configType,
+                              String propertyName,
+                              String oldValue,
+                              PropertyUpdater updater,
+                              Map<String, Map<String, String>> allProps,
+                              Configuration configuration,
+                              Set<String> configTypesUpdated,
+                              boolean alwaysUpdateConfig) {
+     String newValue = updater.updateForClusterCreate(propertyName, oldValue, allProps, clusterTopology);
+     if (null != newValue) {
+       if (!newValue.equals(oldValue)) {
+         configTypesUpdated.add(configType);
        }
- 
-       // if the active/stanbdy namenodes are not specified, assign them automatically
-       if (! isNameNodeHAInitialActiveNodeSet(clusterProps) && ! isNameNodeHAInitialStandbyNodeSet(clusterProps)) {
-         Collection<String> nnHosts = clusterTopology.getHostAssignmentsForComponent("NAMENODE");
-         if (nnHosts.size() != 2) {
-           throw new ConfigurationTopologyException("NAMENODE HA requires exactly 2 hosts running NAMENODE but there are: " +
-               nnHosts.size() + " Hosts: " + nnHosts);
-         }
- 
-         // set the properties that configure which namenode is active,
-         // and which is a standby node in this HA deployment
-         Iterator<String> nnHostIterator = nnHosts.iterator();
-         clusterConfig.setProperty("hadoop-env", "dfs_ha_initial_namenode_active", nnHostIterator.next());
-         clusterConfig.setProperty("hadoop-env", "dfs_ha_initial_namenode_standby", nnHostIterator.next());
- 
-         configTypesUpdated.add("hadoop-env");
+       if (!newValue.equals(oldValue) || alwaysUpdateConfig) {
+         configuration.setProperty(configType, propertyName, newValue);
        }
      }
+     return newValue;
+   }
  
-     // Explicitly set any properties that are required but not currently provided in the stack definition.
-     setStackToolsAndFeatures(clusterConfig, configTypesUpdated);
-     setupHDFSProxyUsers(clusterConfig, configTypesUpdated);
-     addExcludedConfigProperties(clusterConfig, configTypesUpdated, clusterTopology.getStack());
 -
+   private String getClusterName() throws ConfigurationTopologyException {
+     String clusterNameToReturn = null;
+     try {
+       clusterNameToReturn = clusterTopology.getAmbariContext().getClusterName(clusterTopology.getClusterId());
+     } catch (AmbariException e) {
+       throw new ConfigurationTopologyException("Cluster name could not obtained, this may indicate a deployment or configuration error.", e);
+     }
  
-     trimProperties(clusterConfig, clusterTopology);
+     if (clusterNameToReturn == null) {
+       throw new ConfigurationTopologyException("Cluster name could not obtained, this may indicate a deployment or configuration error.");
+     }
  
-     return configTypesUpdated;
+     return clusterNameToReturn;
    }
  
    private void trimProperties(Configuration clusterConfig, ClusterTopology clusterTopology) {
@@@ -557,14 -876,14 +884,14 @@@
      for (Map.Entry<String, Map<String, String>> configEntry : properties.entrySet()) {
        String type = configEntry.getKey();
        try {
-           clusterTopology.getStack().getServiceForConfigType(type);
-         } catch (IllegalArgumentException illegalArgumentException) {
-             LOG.error(new StringBuilder(String.format("Error encountered while trying to obtain the service name for config type [%s]. ", type))
-             .append("Further processing on this config type will be skipped. ")
-             .append("This usually means that a service's definitions have been manually removed from the Ambari stack definitions. ")
-             .append("If the stack definitions have not been changed manually, this may indicate a stack definition error in Ambari. ").toString(), illegalArgumentException);
-             continue;
-         }
 -        clusterTopology.getBlueprint().getStack().getServiceForConfigType(type);
++        clusterTopology.getStack().getServiceForConfigType(type);
+       } catch (IllegalArgumentException illegalArgumentException) {
+         LOG.error(new StringBuilder(String.format("Error encountered while trying to obtain the service name for config type [%s]. ", type))
+           .append("Further processing on this config type will be skipped. ")
+           .append("This usually means that a service's definitions have been manually removed from the Ambari stack definitions. ")
+           .append("If the stack definitions have not been changed manually, this may indicate a stack definition error in Ambari. ").toString(), illegalArgumentException);
+         continue;
+       }
        Map<String, String> typeProperties = configEntry.getValue();
  
        for (Map.Entry<String, String> propertyEntry : typeProperties.entrySet()) {
@@@ -706,11 -1026,10 +1033,11 @@@
     *
     * @return Collection of PropertyUpdater maps used to handle cluster config update
     */
-   private Collection<Map<String, Map<String, PropertyUpdater>>> createCollectionOfUpdaters() {
+   Collection<Map<String, Map<String, PropertyUpdater>>> createCollectionOfUpdaters() {
      Collection<Map<String, Map<String, PropertyUpdater>>> updaters = allUpdaters;
  
 -    if (clusterTopology.isNameNodeHAEnabled()) {
 +    Map<String, Map<String, String>> configProperties = clusterTopology.getConfiguration().getFullProperties();
 +    if (isNameNodeHAEnabled(configProperties)) {
        updaters = addNameNodeHAUpdaters(updaters);
      }
  
@@@ -1384,42 -1730,82 +1738,81 @@@
  
      @Override
      public String updateForClusterCreate(String propertyName,
-       String origValue,
-       Map<String, Map<String, String>> properties,
-       ClusterTopology topology) {
- 
-       //todo: getHostStrings
-       Matcher m = HOST_GROUP_PLACEHOLDER_PATTERN.matcher(origValue);
-       if (m.find()) {
-         String hostGroupName = m.group(1);
- 
-         HostGroupInfo groupInfo = topology.getHostGroupInfo().get(hostGroupName);
-         if (groupInfo == null) {
-           //todo: this should be validated in configuration validation
-           throw new RuntimeException(
-             "Encountered a host group token in configuration which couldn't be matched to a host group: "
-               + hostGroupName);
-         }
- 
-         //todo: warn if > hosts
-         return origValue.replace(m.group(0), groupInfo.getHostNames().iterator().next());
-       }
- 
-       return origValue;
+                                          String origValue,
+                                          Map<String, Map<String, String>> properties,
+                                          ClusterTopology topology) {
 -
+       HostGroups hostGroups = new HostGroups(topology, propertyName);
+ 
+       //todo: getHostStrings (?)
+ 
+       // replaces all %HOSTGROUP::name% references to host names in the value string one by one. The value string can contain
+       // only one (typical) or multiple %HOSTGROUP references. If the same host group is referenced multiple times,
+       // another host will be picked each time.
+       // Assuming you have the following hostgroups and hosts:
+       // - hostgroup1: [group1_host]
+       // - hostgroup2: [group2_host]
+       // - hostgroup3: [group3_host1, group3_host2, group3_host3]
+       // the following replacements will be made:
+       // - %HOSTGROUP::group1%:8080 --> grop1_host:8080
+       // - %HOSTGROUP::group1%:8080,%HOSTGROUP::group2%:8080 --> group1_host:8080,group2_host:8080
+       // - %HOSTGROUP::group3%:8080,%HOSTGROUP::group3%:8080,%HOSTGROUP::group3%:8080 -->
+       //      group3_host1:8080,group3_host2:8080,group3_host3:8080 (maybe in different order)
+       LinkedList<Pair<Pair<Integer, Integer>, String>> replacements = new LinkedList<>();
 -      for (Matcher m = HostGroup.HOSTGROUP_REGEX.matcher(origValue); m.find(); ) {
++      for (Matcher m = HOST_GROUP_PLACEHOLDER_PATTERN.matcher(origValue); m.find(); ) {
+         String replacement = hostGroups.getHost(m.group(1));
+         int from = m.start();
+         int to = m.end();
+         replacements.add(Pair.of(Pair.of(from, to), replacement));
+       }
+       StringBuilder newValue = new StringBuilder(origValue);
+       // replace in descending order so indices remain valid
+       for (Iterator<Pair<Pair<Integer, Integer>, String>> it = replacements.descendingIterator(); it.hasNext(); ) {
+         Pair<Pair<Integer, Integer>, String> replacement = it.next();
+         int from = replacement.getLeft().getLeft();
+         int to = replacement.getLeft().getRight();
+         String replacementValue = replacement.getRight();
+         newValue.replace(from, to, replacementValue);
+       }
+       return newValue.toString();
      }
  
      @Override
      public Collection<String> getRequiredHostGroups(String propertyName,
-       String origValue,
-       Map<String, Map<String, String>> properties,
-       ClusterTopology topology) {
+                                                     String origValue,
+                                                     Map<String, Map<String, String>> properties,
+                                                     ClusterTopology topology) {
        //todo: getHostStrings
 -      Matcher m = HostGroup.HOSTGROUP_REGEX.matcher(origValue);
 +      Matcher m = HOST_GROUP_PLACEHOLDER_PATTERN.matcher(origValue);
-       if (m.find()) {
-         String hostGroupName = m.group(1);
-         return Collections.singleton(hostGroupName);
+       Set<String> hostGroups = new HashSet<>();
+       while (m.find()) {
+         hostGroups.add(m.group(1));
+       }
+       return hostGroups;
+     }
+ 
+     static class HostGroups {
+       private ClusterTopology topology;
+       private String propertyName; // for logging purpose only
+       private Set<String> hostGroupsUsed = new HashSet<>();
+ 
+       HostGroups(ClusterTopology topology, String propertyName) {
+         this.topology = topology;
+         this.propertyName = propertyName;
+       }
+ 
+       String getHost(String hostGroup) {
+         Preconditions.checkState(!hostGroupsUsed.contains(hostGroup),
+           "Multiple occurrence of host group [%s] in property value of: [%s].", hostGroup, propertyName);
+         HostGroupInfo hostGroupInfo = topology.getHostGroupInfo().get(hostGroup);
+         Preconditions.checkArgument(null != hostGroupInfo,
+           "Encountered a host group token in configuration which couldn't be matched to a host group: %s", hostGroup);
+         if (hostGroupInfo.getHostNames().size() > 1) {
+           LOG.warn("Host group {} contains multiple hosts. Using {} with such host groups may result in unintended configuration.",
+             hostGroup, HostGroupUpdater.class.getSimpleName());
+         }
+         hostGroupsUsed.add(hostGroup);
+         return hostGroupInfo.getHostNames().iterator().next();
        }
-       return Collections.emptySet();
      }
    }
  
@@@ -2077,9 -2462,9 +2470,9 @@@
        while (m.find()) {
          String groupName = m.group(1);
  
 -        if (!topology.getBlueprint().getHostGroups().containsKey(groupName)) {
 +        if (!topology.getHostGroupInfo().containsKey(groupName)) {
            throw new IllegalArgumentException(
-               "Unable to match blueprint host group token to a host group: " + groupName);
+             "Unable to match blueprint host group token to a host group: " + groupName);
          }
          requiredHostGroups.add(groupName);
        }
@@@ -2951,41 -3370,38 +3343,41 @@@
     * @param configTypesUpdated
     *          the list of configuration types updated (cluster-env will be added
     *          to this).
 -   * @throws ConfigurationTopologyException
     */
    private void setStackToolsAndFeatures(Configuration configuration, Set<String> configTypesUpdated)
-       throws ConfigurationTopologyException {
+     throws ConfigurationTopologyException {
      ConfigHelper configHelper = clusterTopology.getAmbariContext().getConfigHelper();
 -    Stack stack = clusterTopology.getBlueprint().getStack();
 -    String stackName = stack.getName();
 -    String stackVersion = stack.getVersion();
 -
 -    StackId stackId = new StackId(stackName, stackVersion);
  
 -    Set<String> properties = Sets.newHashSet(ConfigHelper.CLUSTER_ENV_STACK_NAME_PROPERTY,
 -      ConfigHelper.CLUSTER_ENV_STACK_ROOT_PROPERTY, ConfigHelper.CLUSTER_ENV_STACK_TOOLS_PROPERTY,
 +    Set<String> properties = ImmutableSet.of(
 +      ConfigHelper.CLUSTER_ENV_STACK_NAME_PROPERTY,
 +      ConfigHelper.CLUSTER_ENV_STACK_ROOT_PROPERTY,
 +      ConfigHelper.CLUSTER_ENV_STACK_TOOLS_PROPERTY,
        ConfigHelper.CLUSTER_ENV_STACK_FEATURES_PROPERTY,
 -      ConfigHelper.CLUSTER_ENV_STACK_PACKAGES_PROPERTY);
 +      ConfigHelper.CLUSTER_ENV_STACK_PACKAGES_PROPERTY
 +    );
  
      try {
 -      Map<String, Map<String, String>> defaultStackProperties = configHelper.getDefaultStackProperties(stackId);
 -      Map<String,String> clusterEnvDefaultProperties = defaultStackProperties.get(CLUSTER_ENV_CONFIG_TYPE_NAME);
 -
 -      for( String property : properties ){
 -        if (clusterEnvDefaultProperties.containsKey(property)) {
 -          configuration.setProperty(CLUSTER_ENV_CONFIG_TYPE_NAME, property,
 -            clusterEnvDefaultProperties.get(property));
 +      for (StackId stackId : clusterTopology.getStackIds()) {
 +        Map<String, Map<String, String>> defaultStackProperties = configHelper.getDefaultStackProperties(stackId);
 +        if (defaultStackProperties.containsKey(CLUSTER_ENV_CONFIG_TYPE_NAME)) {
 +          Map<String, String> clusterEnvDefaultProperties = defaultStackProperties.get(CLUSTER_ENV_CONFIG_TYPE_NAME);
 +
 +          for (String property : properties) {
 +            if (clusterEnvDefaultProperties.containsKey(property)) {
 +              configuration.setProperty(CLUSTER_ENV_CONFIG_TYPE_NAME, property,
 +                clusterEnvDefaultProperties.get(property)
 +              );
 +
 +              // make sure to include the configuration type as being updated
 +              configTypesUpdated.add(CLUSTER_ENV_CONFIG_TYPE_NAME);
 +            }
 +          }
  
 -          // make sure to include the configuration type as being updated
 -          configTypesUpdated.add(CLUSTER_ENV_CONFIG_TYPE_NAME);
 +          break;
          }
        }
 -    } catch( AmbariException ambariException ){
 -      throw new ConfigurationTopologyException("Unable to retrieve the stack tools and features",
 -        ambariException);
 +    } catch (AmbariException e) {
 +      throw new ConfigurationTopologyException("Unable to retrieve the stack tools and features", e);
      }
    }
  
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
index 22f367c,020dbb9..10f382a
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
@@@ -18,7 -18,7 +18,8 @@@
  
  package org.apache.ambari.server.controller.internal;
  
 +import static java.util.stream.Collectors.toList;
+ import static java.util.stream.Collectors.toSet;
  
  import java.util.ArrayList;
  import java.util.Collection;
@@@ -54,6 -52,8 +56,7 @@@ import org.apache.ambari.server.orm.ent
  import org.apache.ambari.server.orm.entities.BlueprintSettingEntity;
  import org.apache.ambari.server.orm.entities.HostGroupComponentEntity;
  import org.apache.ambari.server.orm.entities.HostGroupEntity;
 -import org.apache.ambari.server.orm.entities.StackEntity;
+ import org.apache.ambari.server.orm.entities.TopologyRequestEntity;
  import org.apache.ambari.server.stack.NoSuchStackException;
  import org.apache.ambari.server.state.SecurityType;
  import org.apache.ambari.server.state.StackInfo;
@@@ -166,15 -157,17 +169,20 @@@ public class BlueprintResourceProvider 
    /**
     * Blueprint Data Access Object
     */
 -  private static BlueprintDAO blueprintDAO;
 +  private final BlueprintDAO blueprintDAO;
 +
 +  private final BlueprintValidator validator;
  
    /**
-    * Used to get stack metainfo.
+    * Topology request dao
+    */
+   private static TopologyRequestDAO topologyRequestDAO;
+ 
+   /**
+    * Used to serialize to/from json.
     */
 -  private static Gson jsonSerializer;
 +  private final AmbariMetaInfo ambariMetaInfo;
 +
  
    // ----- Constructors ----------------------------------------------------
  
@@@ -183,20 -176,24 +191,22 @@@
     *
     * @param controller      management controller
     */
 -  BlueprintResourceProvider(AmbariManagementController controller) {
 -    super(Resource.Type.Blueprint, propertyIds, keyPropertyIds, controller);
 -  }
 -
 -  /**
 -   * Static initialization.
 -   *
 -   * @param factory   blueprint factory
 -   * @param bpDao       blueprint data access object
 -   * @param gson      json serializer
 -   */
 -  public static void init(BlueprintFactory factory, BlueprintDAO bpDao, TopologyRequestDAO trDao,
 -                          SecurityConfigurationFactory securityFactory, Gson gson, AmbariMetaInfo metaInfo) {
 +  @Inject
 +  BlueprintResourceProvider(
 +    BlueprintValidator validator,
 +    BlueprintFactory factory,
-     BlueprintDAO dao,
++    BlueprintDAO bpDao,
++    TopologyRequestDAO trDao,
 +    SecurityConfigurationFactory securityFactory,
 +    AmbariMetaInfo metaInfo,
 +    @Assisted AmbariManagementController controller
 +  ) {
 +    super(Resource.Type.Blueprint, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
 +    this.validator = validator;
      blueprintFactory = factory;
-     blueprintDAO = dao;
+     blueprintDAO = bpDao;
+     topologyRequestDAO = trDao;
      securityConfigurationFactory = securityFactory;
 -    jsonSerializer = gson;
      ambariMetaInfo = metaInfo;
    }
  
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index 64147d7,cc927e5..1583661
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
@@@ -377,43 -353,27 +365,27 @@@ public class ClientConfigResourceProvid
            // translated to a SystemException.
            throw new SystemException(e.getMessage(), e);
          }
 -        osFamily = clusters.getHost(hostName).getOsFamily();
 +        String osFamily = clusters.getHost(hostName).getOsFamily();
  
-         TreeMap<String, String> hostLevelParams = new TreeMap<>();
-         StageUtils.useStackJdkIfExists(hostLevelParams, configs);
-         hostLevelParams.put(JDK_LOCATION, managementController.getJdkResourceUrl());
-         hostLevelParams.put(STACK_NAME, stackId.getStackName());
-         hostLevelParams.put(STACK_VERSION, stackId.getStackVersion());
-         hostLevelParams.put(DB_NAME, managementController.getServerDB());
-         hostLevelParams.put(MYSQL_JDBC_URL, managementController.getMysqljdbcUrl());
-         hostLevelParams.put(ORACLE_JDBC_URL, managementController.getOjdbcUrl());
-         hostLevelParams.put(HOST_SYS_PREPPED, configs.areHostsSysPrepped());
-         hostLevelParams.put(AGENT_STACK_RETRY_ON_UNAVAILABILITY, configs.isAgentStackRetryOnInstallEnabled());
-         hostLevelParams.put(AGENT_STACK_RETRY_COUNT, configs.getAgentStackRetryOnInstallCount());
-         hostLevelParams.put(GPL_LICENSE_ACCEPTED, configs.getGplLicenseAccepted().toString());
- 
-         //may set SERVICE_REPO_INFO in hostLevelParams inside the method
-         List<OsSpecific.Package> packages = managementController.getPackagesForStackServiceHost(stackInfo, serviceInfo, hostLevelParams, osFamily);
-         String packageList = gson.toJson(packages);
- 
-         Set<String> userSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.USER, cluster, desiredClusterConfigs);
-         String userList = gson.toJson(userSet);
-         hostLevelParams.put(USER_LIST, userList);
+         // Write down os specific info for the service
 -        ServiceOsSpecific anyOs = null;
++        OsSpecific anyOs = null;
+         if (serviceInfo.getOsSpecifics().containsKey(AmbariMetaInfo.ANY_OS)) {
+           anyOs = serviceInfo.getOsSpecifics().get(AmbariMetaInfo.ANY_OS);
+         }
  
-         //Create a user_group mapping and send it as part of the hostLevelParams
-         Map<String, Set<String>> userGroupsMap = configHelper.createUserGroupsMap(
-           stackId, cluster, desiredClusterConfigs);
-         String userGroups = gson.toJson(userGroupsMap);
-         hostLevelParams.put(USER_GROUPS,userGroups);
 -        ServiceOsSpecific hostOs = populateServicePackagesInfo(serviceInfo, osFamily);
++        OsSpecific hostOs = populateServicePackagesInfo(serviceInfo, osFamily);
  
-         Set<String> groupSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.GROUP, cluster, desiredClusterConfigs);
-         String groupList = gson.toJson(groupSet);
-         hostLevelParams.put(GROUP_LIST, groupList);
+         // Build package list that is relevant for host
 -        List<ServiceOsSpecific.Package> packages =
++        List<OsSpecific.Package> packages =
+           new ArrayList<>();
+         if (anyOs != null) {
+           packages.addAll(anyOs.getPackages());
+         }
  
-         Map<org.apache.ambari.server.state.PropertyInfo, String> notManagedHdfsPathMap = configHelper.getPropertiesWithPropertyType(stackId, PropertyType.NOT_MANAGED_HDFS_PATH, cluster, desiredClusterConfigs);
-         Set<String> notManagedHdfsPathSet = configHelper.filterInvalidPropertyValues(notManagedHdfsPathMap, NOT_MANAGED_HDFS_PATH_LIST);
-         String notManagedHdfsPathList = gson.toJson(notManagedHdfsPathSet);
-         hostLevelParams.put(NOT_MANAGED_HDFS_PATH_LIST, notManagedHdfsPathList);
+         if (hostOs != null) {
+           packages.addAll(hostOs.getPackages());
+         }
+         String packageList = gson.toJson(packages);
  
          String jsonConfigurations = null;
          Map<String, Object> commandParams = new HashMap<>();
@@@ -434,6 -394,17 +406,18 @@@
            }
          }
  
+         TreeMap<String, String> clusterLevelParams = null;
+         TreeMap<String, String> ambariLevelParams = null;
+         if (getManagementController() instanceof AmbariManagementControllerImpl){
+           AmbariManagementControllerImpl controller = ((AmbariManagementControllerImpl)getManagementController());
 -          clusterLevelParams = controller.getMetadataClusterLevelParams(cluster, stackId);
 -          ambariLevelParams = controller.getMetadataAmbariLevelParams();
++          // TODO: [AMP] Fix clusterLevelParams, ambariLevelParams
++          // clusterLevelParams = controller.getMetadataClusterLevelParams(cluster, stackId);
++          // ambariLevelParams = controller.getMetadataAmbariLevelParams();
+         }
+         TreeMap<String, String> agentLevelParams = new TreeMap<>();
+         agentLevelParams.put("hostname", hostName);
+         agentLevelParams.put("public_hostname", publicHostName);
+ 
          commandParams.put(PACKAGE_LIST, packageList);
          commandParams.put("xml_configs_list", xmlConfigs);
          commandParams.put("env_configs_list", envConfigs);
@@@ -442,12 -413,12 +426,14 @@@
  
          Map<String, Object> jsonContent = new TreeMap<>();
          jsonContent.put("configurations", configurations);
 +        jsonContent.put("clusterSettings", clusterSettingsMap);
 +        jsonContent.put("stackSettings", stackSettingsMap);
-         jsonContent.put("configuration_attributes", configurationAttributes);
+         jsonContent.put("configurationAttributes", configurationAttributes);
          jsonContent.put("commandParams", commandParams);
          jsonContent.put("clusterHostInfo", clusterHostInfo);
-         jsonContent.put("hostLevelParams", hostLevelParams);
+         jsonContent.put("ambariLevelParams", ambariLevelParams);
+         jsonContent.put("clusterLevelParams", clusterLevelParams);
+         jsonContent.put("agentLevelParams", agentLevelParams);
          jsonContent.put("hostname", hostName);
          jsonContent.put("public_hostname", publicHostName);
          jsonContent.put("clusterName", cluster.getClusterName());
@@@ -922,4 -890,28 +908,26 @@@
              (String) properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
              null);
    }
+ 
 -
 -  protected ServiceOsSpecific populateServicePackagesInfo(ServiceInfo serviceInfo, String osFamily) {
 -    ServiceOsSpecific hostOs = new ServiceOsSpecific(osFamily);
 -    List<ServiceOsSpecific> foundedOSSpecifics = getOSSpecificsByFamily(serviceInfo.getOsSpecifics(), osFamily);
++  protected OsSpecific populateServicePackagesInfo(ServiceInfo serviceInfo, String osFamily) {
++    OsSpecific hostOs = new OsSpecific(osFamily);
++    List<OsSpecific> foundedOSSpecifics = getOSSpecificsByFamily(serviceInfo.getOsSpecifics(), osFamily);
+     if (!foundedOSSpecifics.isEmpty()) {
 -      for (ServiceOsSpecific osSpecific : foundedOSSpecifics) {
++      for (OsSpecific osSpecific : foundedOSSpecifics) {
+         hostOs.addPackages(osSpecific.getPackages());
+       }
+     }
+ 
+     return hostOs;
+   }
+ 
 -  private List<ServiceOsSpecific> getOSSpecificsByFamily(Map<String, ServiceOsSpecific> osSpecifics, String osFamily) {
 -    List<ServiceOsSpecific> foundedOSSpecifics = new ArrayList<>();
 -    for (Map.Entry<String, ServiceOsSpecific> osSpecific : osSpecifics.entrySet()) {
++  private List<OsSpecific> getOSSpecificsByFamily(Map<String, OsSpecific> osSpecifics, String osFamily) {
++    List<OsSpecific> foundedOSSpecifics = new ArrayList<>();
++    for (Map.Entry<String, OsSpecific> osSpecific : osSpecifics.entrySet()) {
+       if (osSpecific.getKey().indexOf(osFamily) != -1) {
+         foundedOSSpecifics.add(osSpecific.getValue());
+       }
+     }
+     return foundedOSSpecifics;
+   }
 -
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
index 80ec6b6,96823c2..13d946a
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
@@@ -328,14 -327,8 +328,14 @@@ public class ClusterResourceProvider ex
            for (Collection<ServiceConfigVersionResponse> scvCollection : serviceConfigVersions.values()) {
              for (ServiceConfigVersionResponse serviceConfigVersionResponse : scvCollection) {
                Resource resource = new ResourceImpl(Resource.Type.ServiceConfigVersion);
-               resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID,
++              resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_GROUP_NAME_PROPERTY_ID,
 +                serviceConfigVersionResponse.getServiceGroupName());
-               resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_GROUP_ID_PROPERTY_ID,
++              resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_GROUP_ID_PROPERTY_ID,
 +                  serviceConfigVersionResponse.getServiceGroupId());
-               resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID,
+               resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_NAME_PROPERTY_ID,
                  serviceConfigVersionResponse.getServiceName());
-               resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_ID_PROPERTY_ID,
++              resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_ID_PROPERTY_ID,
 +                serviceConfigVersionResponse.getServiceId());
                resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_PROPERTY_ID,
                  serviceConfigVersionResponse.getVersion());
                resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID,
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
index 7581b96,b3abbf8..a4bbb9a
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
@@@ -79,52 -77,59 +79,73 @@@ import com.google.inject.persist.Transa
   * Resource provider for component resources.
   */
  public class ComponentResourceProvider extends AbstractControllerResourceProvider {
-   public static final String RESPONSE_KEY = "ServiceComponentInfo";
-   public static final String ALL_PROPERTIES = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "*";
--
    private static final Logger LOG = LoggerFactory.getLogger(ComponentResourceProvider.class);
  
-   // ----- Property ID constants ---------------------------------------------
- 
-   // Components
- 
-   protected static final String COMPONENT_CLUSTER_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "cluster_id";
-   public static final String COMPONENT_CLUSTER_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "cluster_name";
-   protected static final String COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_id";
-   protected static final String COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_name";
-   protected static final String COMPONENT_SERVICE_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_id";
-   public static final String COMPONENT_SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_name";
-   public static final String COMPONENT_SERVICE_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_type";
-   protected static final String COMPONENT_COMPONENT_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "id";
-   public static final String COMPONENT_COMPONENT_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_name";
-   protected static final String COMPONENT_COMPONENT_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_type";
-   protected static final String COMPONENT_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "display_name";
-   protected static final String COMPONENT_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "state";
-   protected static final String COMPONENT_CATEGORY_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "category";
-   protected static final String COMPONENT_TOTAL_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "total_count";
-   protected static final String COMPONENT_STARTED_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "started_count";
-   protected static final String COMPONENT_INSTALLED_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "installed_count";
-   protected static final String COMPONENT_INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "installed_and_maintenance_off_count";
- 
-   protected static final String COMPONENT_INIT_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "init_count";
-   protected static final String COMPONENT_UNKNOWN_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "unknown_count";
-   protected static final String COMPONENT_INSTALL_FAILED_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "install_failed_count";
-   public static final String COMPONENT_RECOVERY_ENABLED_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "recovery_enabled";
-   protected static final String COMPONENT_DESIRED_STACK = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_stack";
-   protected static final String COMPONENT_DESIRED_VERSION = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_version";
+   public static final String SERVICE_COMPONENT_INFO = "ServiceComponentInfo";
++  public static final String ALL_PROPERTIES = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + "*";
+ 
++  protected static final String CLUSTER_ID_PROPERTY_ID = "cluster_id";
+   public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name";
++  protected static final String SERVICE_GROUP_ID_PROPERTY_ID = "service_group_id";
++  protected static final String SERVICE_GROUP_NAME_PROPERTY_ID = "service_group_name";
++  protected static final String SERVICE_ID_PROPERTY_ID = "service_id";
+   public static final String SERVICE_NAME_PROPERTY_ID = "service_name";
 -  public static final String COMPONENT_NAME_PROPERTY_ID  = "component_name";
 -  public static final String DISPLAY_NAME_PROPERTY_ID = "display_name";
 -  public static final String STATE_PROPERTY_ID = "state";
 -  public static final String CATEGORY_PROPERTY_ID = "category";
 -  public static final String TOTAL_COUNT_PROPERTY_ID = "total_count";
 -  public static final String STARTED_COUNT_PROPERTY_ID = "started_count";
 -  public static final String INSTALLED_COUNT_PROPERTY_ID = "installed_count";
 -  public static final String INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID = "installed_and_maintenance_off_count";
 -  public static final String INIT_COUNT_PROPERTY_ID = "init_count";
 -  public static final String UNKNOWN_COUNT_PROPERTY_ID = "unknown_count";
 -  public static final String INSTALL_FAILED_COUNT_PROPERTY_ID = "install_failed_count";
++  public static final String SERVICE_TYPE_PROPERTY_ID = "service_type";
++  protected static final String COMPONENT_ID_PROPERTY_ID = "id";
++  public static final String COMPONENT_NAME_PROPERTY_ID = "component_name";
++  protected static final String COMPONENT_TYPE_PROPERTY_ID = "component_type";
++  protected static final String DISPLAY_NAME_PROPERTY_ID = "display_name";
++  protected static final String STATE_PROPERTY_ID = "state";
++  protected static final String CATEGORY_PROPERTY_ID = "category";
++  protected static final String TOTAL_COUNT_PROPERTY_ID = "total_count";
++  protected static final String STARTED_COUNT_PROPERTY_ID = "started_count";
++  protected static final String INSTALLED_COUNT_PROPERTY_ID = "installed_count";
++  protected static final String INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID = "installed_and_maintenance_off_count";
++
++  protected static final String INIT_COUNT_PROPERTY_ID = "init_count";
++  protected static final String UNKNOWN_COUNT_PROPERTY_ID = "unknown_count";
++  protected static final String INSTALL_FAILED_COUNT_PROPERTY_ID = "install_failed_count";
+   public static final String RECOVERY_ENABLED_PROPERTY_ID = "recovery_enabled";
 -  public static final String DESIRED_STACK_PROPERTY_ID = "desired_stack";
 -  public static final String DESIRED_VERSION_PROPERTY_ID = "desired_version";
 -  public static final String REPOSITORY_STATE_PROPERTY_ID = "repository_state";
++  protected static final String DESIRED_STACK_PROPERTY_ID = "desired_stack";
++  protected static final String DESIRED_VERSION_PROPERTY_ID = "desired_version";
+ 
 -  // Components
++  public static final String CLUSTER_ID = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + CLUSTER_ID_PROPERTY_ID;
+   public static final String CLUSTER_NAME = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + CLUSTER_NAME_PROPERTY_ID;
++  public static final String SERVICE_GROUP_ID = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_GROUP_ID_PROPERTY_ID;
++  public static final String SERVICE_GROUP_NAME = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_GROUP_NAME_PROPERTY_ID;
++  public static final String SERVICE_ID = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_ID_PROPERTY_ID;
+   public static final String SERVICE_NAME = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_NAME_PROPERTY_ID;
++  public static final String SERVICE_TYPE = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_TYPE_PROPERTY_ID;
++  public static final String COMPONENT_ID = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + COMPONENT_ID_PROPERTY_ID;
+   public static final String COMPONENT_NAME = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + COMPONENT_NAME_PROPERTY_ID;
++  public static final String COMPONENT_TYPE = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + COMPONENT_TYPE_PROPERTY_ID;
+   public static final String DISPLAY_NAME = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + DISPLAY_NAME_PROPERTY_ID;
+   public static final String STATE = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + STATE_PROPERTY_ID;
+   public static final String CATEGORY = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + CATEGORY_PROPERTY_ID;
+   public static final String TOTAL_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + TOTAL_COUNT_PROPERTY_ID;
+   public static final String STARTED_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + STARTED_COUNT_PROPERTY_ID;
+   public static final String INSTALLED_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + INSTALLED_COUNT_PROPERTY_ID;
+   public static final String INSTALLED_AND_MAINTENANCE_OFF_COUNT =
+           SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID;
+   public static final String INIT_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + INIT_COUNT_PROPERTY_ID;
+   public static final String UNKNOWN_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + UNKNOWN_COUNT_PROPERTY_ID;
+   public static final String INSTALL_FAILED_COUNT = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + INSTALL_FAILED_COUNT_PROPERTY_ID;
+   public static final String RECOVERY_ENABLED = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + RECOVERY_ENABLED_PROPERTY_ID;
+   public static final String DESIRED_STACK = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + DESIRED_STACK_PROPERTY_ID;
+   public static final String DESIRED_VERSION = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + DESIRED_VERSION_PROPERTY_ID;
 -  public static final String REPOSITORY_STATE = SERVICE_COMPONENT_INFO + PropertyHelper.EXTERNAL_PATH_SEP + REPOSITORY_STATE_PROPERTY_ID;
  
 -  
    private static final String TRUE = "true";
  
    //Parameters from the predicate
    private static final String QUERY_PARAMETERS_RUN_SMOKE_TEST_ID = "params/run_smoke_test";
  
    private static Set<String> pkPropertyIds = Sets.newHashSet(
-           COMPONENT_CLUSTER_NAME_PROPERTY_ID,
-           COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID,
-           COMPONENT_SERVICE_NAME_PROPERTY_ID,
-           COMPONENT_COMPONENT_ID_PROPERTY_ID,
-           COMPONENT_COMPONENT_NAME_PROPERTY_ID,
-           COMPONENT_COMPONENT_TYPE_PROPERTY_ID);
+           CLUSTER_NAME,
++          SERVICE_GROUP_NAME_PROPERTY_ID,
+           SERVICE_NAME,
 -          COMPONENT_NAME);
++          COMPONENT_ID,
++          COMPONENT_NAME,
++          COMPONENT_TYPE);
  
    /**
     * The property ids for an servce resource.
@@@ -138,38 -143,29 +159,37 @@@
  
    static {
      // properties
-     PROPERTY_IDS.add(COMPONENT_CLUSTER_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_CLUSTER_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_SERVICE_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_SERVICE_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_SERVICE_TYPE_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_COMPONENT_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_COMPONENT_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_COMPONENT_TYPE_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_DISPLAY_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_STATE_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_CATEGORY_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_TOTAL_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_STARTED_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_INSTALLED_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID);
- 
-     PROPERTY_IDS.add(COMPONENT_INIT_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_UNKNOWN_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_INSTALL_FAILED_COUNT_PROPERTY_ID);
-     PROPERTY_IDS.add(COMPONENT_RECOVERY_ENABLED_ID);
-     PROPERTY_IDS.add(COMPONENT_DESIRED_STACK);
-     PROPERTY_IDS.add(COMPONENT_DESIRED_VERSION);
- 
++    PROPERTY_IDS.add(CLUSTER_ID);
+     PROPERTY_IDS.add(CLUSTER_NAME);
++    PROPERTY_IDS.add(SERVICE_GROUP_ID);
++    PROPERTY_IDS.add(SERVICE_GROUP_NAME);
++    PROPERTY_IDS.add(SERVICE_ID);
+     PROPERTY_IDS.add(SERVICE_NAME);
++    PROPERTY_IDS.add(SERVICE_TYPE);
++    PROPERTY_IDS.add(COMPONENT_ID);
+     PROPERTY_IDS.add(COMPONENT_NAME);
++    PROPERTY_IDS.add(COMPONENT_TYPE);
+     PROPERTY_IDS.add(DISPLAY_NAME);
+     PROPERTY_IDS.add(STATE);
+     PROPERTY_IDS.add(CATEGORY);
+     PROPERTY_IDS.add(TOTAL_COUNT);
+     PROPERTY_IDS.add(STARTED_COUNT);
+     PROPERTY_IDS.add(INSTALLED_COUNT);
+     PROPERTY_IDS.add(INSTALLED_AND_MAINTENANCE_OFF_COUNT);
++
+     PROPERTY_IDS.add(INIT_COUNT);
+     PROPERTY_IDS.add(UNKNOWN_COUNT);
+     PROPERTY_IDS.add(INSTALL_FAILED_COUNT);
+     PROPERTY_IDS.add(RECOVERY_ENABLED);
+     PROPERTY_IDS.add(DESIRED_STACK);
+     PROPERTY_IDS.add(DESIRED_VERSION);
 -    PROPERTY_IDS.add(REPOSITORY_STATE);
      PROPERTY_IDS.add(QUERY_PARAMETERS_RUN_SMOKE_TEST_ID);
  
      // keys
-     KEY_PROPERTY_IDS.put(Resource.Type.Component, COMPONENT_COMPONENT_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.Service, COMPONENT_SERVICE_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, COMPONENT_CLUSTER_NAME_PROPERTY_ID);
+     KEY_PROPERTY_IDS.put(Resource.Type.Component, COMPONENT_NAME);
+     KEY_PROPERTY_IDS.put(Resource.Type.Service, SERVICE_NAME);
++    KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, SERVICE_GROUP_NAME);
+     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, CLUSTER_NAME);
    }
  
    private MaintenanceStateHelper maintenanceStateHelper;
@@@ -217,35 -213,8 +237,35 @@@
        }
      });
  
 -    notifyCreate(Resource.Type.Component, request);
 -
 +    Set<Resource> associatedResources = new HashSet<>();
 +    if (createSvcCmpnt != null) {
 +      Iterator<ServiceComponentResponse> itr = createSvcCmpnt.iterator();
 +      while (itr.hasNext()) {
 +        ServiceComponentResponse response = itr.next();
 +        notifyCreate(Resource.Type.Component, request);
 +        Resource resource = new ResourceImpl(Resource.Type.Component);
-         resource.setProperty(COMPONENT_CLUSTER_ID_PROPERTY_ID, response.getClusterId());
-         resource.setProperty(COMPONENT_CLUSTER_NAME_PROPERTY_ID, response.getClusterName());
-         resource.setProperty(COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID, response.getServiceGroupId());
-         resource.setProperty(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
-         resource.setProperty(COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId());
-         resource.setProperty(COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-         resource.setProperty(COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType());
-         resource.setProperty(COMPONENT_COMPONENT_ID_PROPERTY_ID, response.getComponentId());
-         resource.setProperty(COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName());
-         resource.setProperty(COMPONENT_COMPONENT_TYPE_PROPERTY_ID, response.getComponentType());
-         resource.setProperty(COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName());
-         resource.setProperty(COMPONENT_STATE_PROPERTY_ID, response.getDesiredState());
-         resource.setProperty(COMPONENT_CATEGORY_PROPERTY_ID, response.getCategory());
-         resource.setProperty(COMPONENT_TOTAL_COUNT_PROPERTY_ID, response.getServiceComponentStateCount());
-         resource.setProperty(COMPONENT_RECOVERY_ENABLED_ID, response.isRecoveryEnabled());
-         resource.setProperty(COMPONENT_DESIRED_STACK, response.getDesiredStackId());
-         resource.setProperty(COMPONENT_DESIRED_VERSION, response.getDesiredVersion());
++        resource.setProperty(CLUSTER_ID, response.getClusterId());
++        resource.setProperty(CLUSTER_NAME, response.getClusterName());
++        resource.setProperty(SERVICE_GROUP_ID, response.getServiceGroupId());
++        resource.setProperty(SERVICE_GROUP_NAME, response.getServiceGroupName());
++        resource.setProperty(SERVICE_ID, response.getServiceId());
++        resource.setProperty(SERVICE_NAME, response.getServiceName());
++        resource.setProperty(SERVICE_TYPE, response.getServiceType());
++        resource.setProperty(COMPONENT_ID, response.getComponentId());
++        resource.setProperty(COMPONENT_NAME, response.getComponentName());
++        resource.setProperty(COMPONENT_TYPE, response.getComponentType());
++        resource.setProperty(DISPLAY_NAME, response.getDisplayName());
++        resource.setProperty(STATE, response.getDesiredState());
++        resource.setProperty(CATEGORY, response.getCategory());
++        resource.setProperty(TOTAL_COUNT, response.getServiceComponentStateCount());
++        resource.setProperty(RECOVERY_ENABLED, response.isRecoveryEnabled());
++        resource.setProperty(DESIRED_STACK, response.getDesiredStackId());
++        resource.setProperty(DESIRED_VERSION, response.getDesiredVersion());
 +
 +        associatedResources.add(resource);
 +      }
 +      return getRequestStatus(null, associatedResources);
 +    }
      return getRequestStatus(null);
    }
  
@@@ -272,29 -241,23 +292,30 @@@
  
      for (ServiceComponentResponse response : responses) {
        Resource resource = new ResourceImpl(Resource.Type.Component);
-       setResourceProperty(resource, COMPONENT_CLUSTER_ID_PROPERTY_ID, response.getClusterId(), requestedIds);
-       setResourceProperty(resource, COMPONENT_CLUSTER_NAME_PROPERTY_ID, response.getClusterName(), requestedIds);
-       setResourceProperty(resource, COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID, response.getServiceGroupId(), requestedIds);
-       setResourceProperty(resource, COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName(), requestedIds);
-       setResourceProperty(resource, COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId(), requestedIds);
-       setResourceProperty(resource, COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
-       setResourceProperty(resource, COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType(), requestedIds);
-       setResourceProperty(resource, COMPONENT_COMPONENT_ID_PROPERTY_ID, response.getComponentId(), requestedIds);
-       setResourceProperty(resource, COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
-       setResourceProperty(resource, COMPONENT_COMPONENT_TYPE_PROPERTY_ID, response.getComponentType(), requestedIds);
-       setResourceProperty(resource, COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName(), requestedIds);
-       setResourceProperty(resource, COMPONENT_STATE_PROPERTY_ID, response.getDesiredState(), requestedIds);
-       setResourceProperty(resource, COMPONENT_CATEGORY_PROPERTY_ID, response.getCategory(), requestedIds);
-       setResourceProperty(resource, COMPONENT_TOTAL_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("totalCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_STARTED_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("startedCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_INSTALLED_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("installedCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_INSTALLED_AND_MAINTENANCE_OFF_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("installedAndMaintenanceOffCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_INSTALL_FAILED_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("installFailedCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_INIT_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("initCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_UNKNOWN_COUNT_PROPERTY_ID, response.getServiceComponentStateCount().get("unknownCount"), requestedIds);
-       setResourceProperty(resource, COMPONENT_RECOVERY_ENABLED_ID, String.valueOf(response.isRecoveryEnabled()), requestedIds);
-       setResourceProperty(resource, COMPONENT_DESIRED_STACK, response.getDesiredStackId(), requestedIds);
-       setResourceProperty(resource, COMPONENT_DESIRED_VERSION, response.getDesiredVersion(), requestedIds);
++      setResourceProperty(resource, CLUSTER_ID, response.getClusterId(), requestedIds);
+       setResourceProperty(resource, CLUSTER_NAME, response.getClusterName(), requestedIds);
++      setResourceProperty(resource, SERVICE_GROUP_ID, response.getServiceGroupId(), requestedIds);
++      setResourceProperty(resource, SERVICE_GROUP_NAME, response.getServiceGroupName(), requestedIds);
++      setResourceProperty(resource, SERVICE_ID, response.getServiceId(), requestedIds);
+       setResourceProperty(resource, SERVICE_NAME, response.getServiceName(), requestedIds);
++      setResourceProperty(resource, SERVICE_TYPE, response.getServiceType(), requestedIds);
++      setResourceProperty(resource, COMPONENT_ID, response.getComponentId(), requestedIds);
+       setResourceProperty(resource, COMPONENT_NAME, response.getComponentName(), requestedIds);
++      setResourceProperty(resource, COMPONENT_TYPE, response.getComponentType(), requestedIds);
+       setResourceProperty(resource, DISPLAY_NAME, response.getDisplayName(), requestedIds);
+       setResourceProperty(resource, STATE, response.getDesiredState(), requestedIds);
+       setResourceProperty(resource, CATEGORY, response.getCategory(), requestedIds);
+       setResourceProperty(resource, TOTAL_COUNT, response.getServiceComponentStateCount().get("totalCount"), requestedIds);
+       setResourceProperty(resource, STARTED_COUNT, response.getServiceComponentStateCount().get("startedCount"), requestedIds);
+       setResourceProperty(resource, INSTALLED_COUNT, response.getServiceComponentStateCount().get("installedCount"), requestedIds);
+       setResourceProperty(resource, INSTALLED_AND_MAINTENANCE_OFF_COUNT, response.getServiceComponentStateCount().get("installedAndMaintenanceOffCount"), requestedIds);
+       setResourceProperty(resource, INSTALL_FAILED_COUNT, response.getServiceComponentStateCount().get("installFailedCount"), requestedIds);
+       setResourceProperty(resource, INIT_COUNT, response.getServiceComponentStateCount().get("initCount"), requestedIds);
+       setResourceProperty(resource, UNKNOWN_COUNT, response.getServiceComponentStateCount().get("unknownCount"), requestedIds);
+       setResourceProperty(resource, RECOVERY_ENABLED, String.valueOf(response.isRecoveryEnabled()), requestedIds);
+       setResourceProperty(resource, DESIRED_STACK, response.getDesiredStackId(), requestedIds);
+       setResourceProperty(resource, DESIRED_VERSION, response.getDesiredVersion(), requestedIds);
 -      setResourceProperty(resource, REPOSITORY_STATE, response.getRepositoryState(), requestedIds);
++
  
        resources.add(resource);
      }
@@@ -369,14 -327,12 +390,14 @@@
     */
    private ServiceComponentRequest getRequest(Map<String, Object> properties) {
      return new ServiceComponentRequest(
-         (String) properties.get(COMPONENT_CLUSTER_NAME_PROPERTY_ID),
-         (String) properties.get(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID),
-         (String) properties.get(COMPONENT_SERVICE_NAME_PROPERTY_ID),
-         (String) properties.get(COMPONENT_COMPONENT_NAME_PROPERTY_ID),
-         (String) properties.get(COMPONENT_COMPONENT_TYPE_PROPERTY_ID),
-         (String) properties.get(COMPONENT_STATE_PROPERTY_ID),
-         (String) properties.get(COMPONENT_RECOVERY_ENABLED_ID),
-         (String) properties.get(COMPONENT_CATEGORY_PROPERTY_ID));
+         (String) properties.get(CLUSTER_NAME),
++        (String) properties.get(SERVICE_GROUP_NAME),
+         (String) properties.get(SERVICE_NAME),
+         (String) properties.get(COMPONENT_NAME),
++        (String) properties.get(COMPONENT_TYPE),
+         (String) properties.get(STATE),
+         (String) properties.get(RECOVERY_ENABLED),
+         (String) properties.get(CATEGORY));
    }
  
    // Create the components for the given requests.
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
index 59d1a20,755a03a..3fcb5e8
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
@@@ -58,8 -58,8 +58,9 @@@ import org.apache.ambari.server.state.C
  import org.apache.ambari.server.state.Clusters;
  import org.apache.ambari.server.state.Config;
  import org.apache.ambari.server.state.ConfigFactory;
+ import org.apache.ambari.server.state.ConfigHelper;
  import org.apache.ambari.server.state.Host;
 +import org.apache.ambari.server.state.Service;
  import org.apache.ambari.server.state.configgroup.ConfigGroup;
  import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
  import org.apache.commons.collections.MapUtils;
@@@ -79,32 -80,34 +81,36 @@@ public class ConfigGroupResourceProvide
    private static final Logger LOG = LoggerFactory.getLogger
      (ConfigGroupResourceProvider.class);
  
-   protected static final String CONFIGGROUP_CLUSTER_NAME_PROPERTY_ID =
-     PropertyHelper.getPropertyId("ConfigGroup", "cluster_name");
-   protected static final String CONFIGGROUP_ID_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "id");
-   protected static final String CONFIGGROUP_NAME_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "group_name");
-   protected static final String CONFIGGROUP_TAG_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "tag");
-   protected static final String CONFIGGROUP_SERVICEGROUPNAME_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "service_group_name");
-   protected static final String CONFIGGROUP_SERVICENAME_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "service_name");
-   protected static final String CONFIGGROUP_DESC_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "description");
-   protected static final String CONFIGGROUP_SCV_NOTE_ID = PropertyHelper
-       .getPropertyId("ConfigGroup", "service_config_version_note");
-   protected static final String CONFIGGROUP_HOSTNAME_PROPERTY_ID =
-     PropertyHelper.getPropertyId(null, "host_name");
-   protected static final String CONFIGGROUP_HOSTS_HOSTNAME_PROPERTY_ID =
-     PropertyHelper.getPropertyId("ConfigGroup", "hosts/host_name");
-   public static final String CONFIGGROUP_HOSTS_PROPERTY_ID = PropertyHelper
-     .getPropertyId("ConfigGroup", "hosts");
-   public static final String CONFIGGROUP_CONFIGS_PROPERTY_ID =
-     PropertyHelper.getPropertyId("ConfigGroup", "desired_configs");
-   public static final String CONFIGGROUP_VERSION_TAGS_PROPERTY_ID =
-     PropertyHelper.getPropertyId("ConfigGroup", "version_tags");
+   public static final String CONFIG_GROUP = "ConfigGroup";
+ 
+   public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name";
+   public static final String ID_PROPERTY_ID =  "id";
+   public static final String GROUP_NAME_PROPERTY_ID =  "group_name";
+   public static final String TAG_PROPERTY_ID =  "tag";
++  public static final String SERVICE_GROUP_NAME_PROPERTY_ID =  "service_group_name";
+   public static final String SERVICE_NAME_PROPERTY_ID =  "service_name";
+   public static final String DESCRIPTION_PROPERTY_ID =  "description";
+   public static final String SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID =  "service_config_version_note";
+   public static final String HOST_NAME_PROPERTY_ID = "host_name";
+   public static final String HOSTS_HOSTNAME_PROPERTY_ID = "hosts/host_name";
+   public static final String HOSTS_PROPERTY_ID =  "hosts";
+   public static final String DESIRED_CONFIGS_PROPERTY_ID = "desired_configs";
+   public static final String VERSION_TAGS_PROPERTY_ID = "version_tags";
+ 
+   public static final String CLUSTER_NAME = PropertyHelper.getPropertyId(CONFIG_GROUP, CLUSTER_NAME_PROPERTY_ID);
+   public static final String ID = PropertyHelper.getPropertyId(CONFIG_GROUP, ID_PROPERTY_ID);
+   public static final String GROUP_NAME = PropertyHelper.getPropertyId(CONFIG_GROUP, GROUP_NAME_PROPERTY_ID);
+   public static final String TAG = PropertyHelper.getPropertyId(CONFIG_GROUP, TAG_PROPERTY_ID);
++  public static final String SERVICE_GROUP_NAME = PropertyHelper.getPropertyId(CONFIG_GROUP, SERVICE_GROUP_NAME_PROPERTY_ID);
+   public static final String SERVICE_NAME = PropertyHelper.getPropertyId(CONFIG_GROUP, SERVICE_NAME_PROPERTY_ID);
+   public static final String DESCRIPTION = PropertyHelper.getPropertyId(CONFIG_GROUP, DESCRIPTION_PROPERTY_ID);
+   public static final String SERVICE_CONFIG_VERSION_NOTE = PropertyHelper
+       .getPropertyId(CONFIG_GROUP, SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID);
+   public static final String HOST_NAME = PropertyHelper.getPropertyId(null, HOST_NAME_PROPERTY_ID);
+   public static final String HOSTS_HOST_NAME = PropertyHelper.getPropertyId(CONFIG_GROUP, HOSTS_HOSTNAME_PROPERTY_ID);
+   public static final String HOSTS = PropertyHelper.getPropertyId(CONFIG_GROUP, HOSTS_PROPERTY_ID);
+   public static final String DESIRED_CONFIGS = PropertyHelper.getPropertyId(CONFIG_GROUP, DESIRED_CONFIGS_PROPERTY_ID);
+   public static final String VERSION_TAGS = PropertyHelper.getPropertyId(CONFIG_GROUP, VERSION_TAGS_PROPERTY_ID);
  
    /**
     * The key property ids for a ConfigGroup resource.
@@@ -775,12 -788,11 +793,12 @@@
  
      ConfigGroupRequest request = new ConfigGroupRequest(
        groupId,
-       (String) properties.get(CONFIGGROUP_CLUSTER_NAME_PROPERTY_ID),
-       (String) properties.get(CONFIGGROUP_NAME_PROPERTY_ID),
-       (String) properties.get(CONFIGGROUP_TAG_PROPERTY_ID),
-       (String) properties.get(CONFIGGROUP_SERVICEGROUPNAME_PROPERTY_ID),
-       (String) properties.get(CONFIGGROUP_SERVICENAME_PROPERTY_ID),
-       (String) properties.get(CONFIGGROUP_DESC_PROPERTY_ID),
+       (String) properties.get(CLUSTER_NAME),
+       (String) properties.get(GROUP_NAME),
+       (String) properties.get(TAG),
++      (String) properties.get(SERVICE_GROUP_NAME),
+       (String) properties.get(SERVICE_NAME),
+       (String) properties.get(DESCRIPTION),
        null,
        null);
  
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
index 3ff6c17,c924a62..47bc5bd
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
@@@ -59,20 -52,25 +59,34 @@@ public class ConfigurationResourceProvi
    private static final Pattern PROPERTIES_ATTRIBUTES_PATTERN = Pattern.compile("^"
        + PROPERTIES_ATTRIBUTES_REGEX);
  
+   public static final String CONFIG = "Config";
+ 
+   public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name";
++  public static final String SERVICE_GROUP_NAME_PROPERTY_ID = "service_group_name";
++  public static final String SERVICE_GROUP_ID_PROPERTY_ID = "service_group_id";
++  public static final String SERVICE_NAME_PROPERTY_ID = "service_name";
++  public static final String SERVICE_ID_PROPERTY_ID = "service_id";
+   public static final String STACK_ID_PROPERTY_ID = "stack_id";
+   public static final String TYPE_PROPERTY_ID = "type";
+   public static final String TAG_PROPERTY_ID = "tag";
+   public static final String VERSION_PROPERTY_ID = "version";
+   public static final String PROPERTIES_PROPERTY_ID = "properties";
+   public static final String PROPERTIES_ATTRIBUTES_PROPERTY_ID = "properties_attributes";
+ 
    // ----- Property ID constants ---------------------------------------------
-   protected static final String CONFIGURATION_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("Config", "cluster_name");
-   protected static final String CONFIGURATION_STACK_ID_PROPERTY_ID = PropertyHelper.getPropertyId("Config", "stack_id");
+   public static final String CLUSTER_NAME = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + CLUSTER_NAME_PROPERTY_ID;
+   public static final String STACK_ID = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + STACK_ID_PROPERTY_ID;
+ 
++  public static final String SERVICE_GROUP_NAME = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_GROUP_NAME_PROPERTY_ID;
++  public static final String SERVICE_GROUP_ID = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_GROUP_ID_PROPERTY_ID;
++  public static final String SERVICE_NAME = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_NAME_PROPERTY_ID;
++  public static final String SERVICE_ID = CONFIG + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_ID_PROPERTY_ID;
 +
    // !!! values are part of query strings and body post, so they
    // don't have defined categories (like Config)
-   public static final String CONFIGURATION_CONFIG_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId(null, "type");
-   public static final String CONFIGURATION_CONFIG_TAG_PROPERTY_ID = PropertyHelper.getPropertyId(null, "tag");
-   public static final String CONFIGURATION_CONFIG_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId(null, "version");
-   public static final String CONFIGURATION_SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_name");
-   public static final String CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_group_name");
-   public static final String CONFIGURATION_SERVICE_ID_PROPERTY_ID = PropertyHelper.getPropertyId("Config", "service_id");
-   public static final String CONFIGURATION_SERVICE_GROUP_ID_PROPERTY_ID = PropertyHelper.getPropertyId("Config", "service_group_id");
- 
+   public static final String TYPE = PropertyHelper.getPropertyId(null, TYPE_PROPERTY_ID);
+   public static final String TAG = PropertyHelper.getPropertyId(null, TAG_PROPERTY_ID);
+   public static final String VERSION = PropertyHelper.getPropertyId(null, VERSION_PROPERTY_ID);
  
    /**
     * The property ids for a configuration resource.
@@@ -90,30 -84,24 +104,28 @@@
  
    static {
      // properties
-     PROPERTY_IDS.add(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_STACK_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_CONFIG_TYPE_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_CONFIG_TAG_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_CONFIG_VERSION_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_SERVICE_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_SERVICE_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(CONFIGURATION_SERVICE_GROUP_ID_PROPERTY_ID);
+     PROPERTY_IDS.add(CLUSTER_NAME);
+     PROPERTY_IDS.add(STACK_ID);
+     PROPERTY_IDS.add(TYPE);
+     PROPERTY_IDS.add(TAG);
+     PROPERTY_IDS.add(VERSION);
++    PROPERTY_IDS.add(SERVICE_NAME);
++    PROPERTY_IDS.add(SERVICE_GROUP_NAME);
++    PROPERTY_IDS.add(SERVICE_ID);
++    PROPERTY_IDS.add(SERVICE_GROUP_ID);
  
      // keys
-     KEY_PROPERTY_IDS.put(Resource.Type.Configuration,CONFIGURATION_CONFIG_TYPE_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.Cluster,CONFIGURATION_CLUSTER_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.Service,CONFIGURATION_SERVICE_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup,CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID);
 -    KEY_PROPERTY_IDS.put(Resource.Type.Configuration, TYPE);
 -    KEY_PROPERTY_IDS.put(Resource.Type.Cluster, CLUSTER_NAME);
++    KEY_PROPERTY_IDS.put(Resource.Type.Configuration,TYPE);
++    KEY_PROPERTY_IDS.put(Resource.Type.Cluster,CLUSTER_NAME);
++    KEY_PROPERTY_IDS.put(Resource.Type.Service,SERVICE_NAME);
++    KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup,SERVICE_GROUP_NAME);
    }
  
    /**
     * The primary key property ids for the configuration resource type.
     */
    private static Set<String> pkPropertyIds =
--    new HashSet<>(Arrays.asList(new String[]{
-       CONFIGURATION_CLUSTER_NAME_PROPERTY_ID,
-       CONFIGURATION_CONFIG_TYPE_PROPERTY_ID, CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID, CONFIGURATION_SERVICE_NAME_PROPERTY_ID}));
 -      CLUSTER_NAME,
 -      TYPE}));
++    new HashSet<>(Arrays.asList(new String[]{ CLUSTER_NAME, SERVICE_GROUP_NAME, SERVICE_NAME, TYPE}));
  
  
    // ----- Constructors ------------------------------------------------------
@@@ -143,23 -131,10 +155,23 @@@
               ResourceAlreadyExistsException,
               NoSuchParentResourceException {
  
 +    Set<Resource> associatedResources = new HashSet<>();
 +
      for (Map<String, Object> map : request.getProperties()) {
-       String cluster = (String) map.get(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID);
-       String type = (String) map.get(CONFIGURATION_CONFIG_TYPE_PROPERTY_ID);
-       String tag = (String) map.get(CONFIGURATION_CONFIG_TAG_PROPERTY_ID);
+       String cluster = (String) map.get(CLUSTER_NAME);
+       String type = (String) map.get(TYPE);
 -      String tag  = (String) map.get(TAG);
++      String tag = (String) map.get(TAG);
 +      String serviceName = null;
 +      String serviceGroupName = null;
 +      Long serviceId = null;
 +      Long serviceGroupId = null;
-       if (map.containsKey(CONFIGURATION_SERVICE_NAME_PROPERTY_ID) && map.containsKey(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID)) {
-         serviceName = (String) map.get(CONFIGURATION_SERVICE_NAME_PROPERTY_ID);
-         serviceGroupName = (String) map.get(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID);
++      if (map.containsKey(SERVICE_NAME) && map.containsKey(SERVICE_GROUP_NAME)) {
++        serviceName = (String) map.get(SERVICE_NAME);
++        serviceGroupName = (String) map.get(SERVICE_GROUP_NAME);
 +        ClusterServiceEntity clusterServiceEntity = clusterServiceDAO.findByName(cluster, serviceGroupName, serviceName);
 +        serviceId = clusterServiceEntity.getServiceId();
 +        serviceGroupId = clusterServiceEntity.getServiceGroupId();
 +      }
  
        Map<String, String> configMap = new HashMap<>();
        Map<String, Map<String, String>> configAttributesMap = null;
@@@ -195,25 -170,8 +207,25 @@@
          }
        });
  
 +      if (configurationResponse != null) {
 +        Resource resource = new ResourceImpl(Resource.Type.Configuration);
-         resource.setProperty(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID, configurationResponse.getClusterName());
-         resource.setProperty(CONFIGURATION_STACK_ID_PROPERTY_ID, configurationResponse.getStackId().getStackId());
-         resource.setProperty(CONFIGURATION_CONFIG_TYPE_PROPERTY_ID, configurationResponse.getType());
-         resource.setProperty(CONFIGURATION_CONFIG_TAG_PROPERTY_ID, configurationResponse.getVersionTag());
-         resource.setProperty(CONFIGURATION_CONFIG_VERSION_PROPERTY_ID, configurationResponse.getVersion());
++        resource.setProperty(CLUSTER_NAME, configurationResponse.getClusterName());
++        resource.setProperty(STACK_ID, configurationResponse.getStackId().getStackId());
++        resource.setProperty(TYPE, configurationResponse.getType());
++        resource.setProperty(TAG, configurationResponse.getVersionTag());
++        resource.setProperty(VERSION, configurationResponse.getVersion());
 +        if (configurationResponse.getServiceId() != null) {
-           resource.setProperty(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID, serviceGroupName);
-           resource.setProperty(CONFIGURATION_SERVICE_NAME_PROPERTY_ID, serviceName);
-           resource.setProperty(CONFIGURATION_SERVICE_ID_PROPERTY_ID, serviceId);
-           resource.setProperty(CONFIGURATION_SERVICE_GROUP_ID_PROPERTY_ID, serviceGroupId);
++          resource.setProperty(SERVICE_GROUP_NAME, serviceGroupName);
++          resource.setProperty(SERVICE_NAME, serviceName);
++          resource.setProperty(SERVICE_ID, serviceId);
++          resource.setProperty(SERVICE_GROUP_ID, serviceGroupId);
 +        }
 +        associatedResources.add(resource);
 +      }
      }
 -    return getRequestStatus(null);
 +        return getRequestStatus(null, associatedResources);
 +
 +
    }
  
    @Override
@@@ -221,16 -179,9 +233,16 @@@
      throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException {
  
      final Set<ConfigurationRequest> requests = new HashSet<>();
 +    String serviceName = null;
 +    String serviceGroupName = null;
  
      for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
 -      requests.add(getRequest(request, propertyMap));
 +      ConfigurationRequest configurationRequest = getRequest(request, propertyMap);
 +      if (configurationRequest.getServiceId() != null) {
-         serviceGroupName = (String) propertyMap.get(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID);
-         serviceName = (String) propertyMap.get(CONFIGURATION_SERVICE_NAME_PROPERTY_ID);
++        serviceGroupName = (String) propertyMap.get(SERVICE_GROUP_NAME);
++        serviceName = (String) propertyMap.get(SERVICE_NAME);
 +      }
 +      requests.add(configurationRequest);
      }
  
      Set<ConfigurationResponse> responses = getResources(new Command<Set<ConfigurationResponse>>() {
@@@ -246,17 -197,11 +258,17 @@@
        String stackId = response.getStackId().getStackId();
  
        Resource resource = new ResourceImpl(Resource.Type.Configuration);
-       resource.setProperty(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID, response.getClusterName());
-       resource.setProperty(CONFIGURATION_STACK_ID_PROPERTY_ID, stackId);
-       resource.setProperty(CONFIGURATION_CONFIG_TYPE_PROPERTY_ID, response.getType());
-       resource.setProperty(CONFIGURATION_CONFIG_TAG_PROPERTY_ID, response.getVersionTag());
-       resource.setProperty(CONFIGURATION_CONFIG_VERSION_PROPERTY_ID, response.getVersion());
+       resource.setProperty(CLUSTER_NAME, response.getClusterName());
+       resource.setProperty(STACK_ID, stackId);
+       resource.setProperty(TYPE, response.getType());
+       resource.setProperty(TAG, response.getVersionTag());
+       resource.setProperty(VERSION, response.getVersion());
 +      if (response.getServiceId() != null) {
-         resource.setProperty(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID, serviceGroupName );
-         resource.setProperty(CONFIGURATION_SERVICE_NAME_PROPERTY_ID, serviceName );
-         resource.setProperty(CONFIGURATION_SERVICE_ID_PROPERTY_ID, response.getServiceId());
-         resource.setProperty(CONFIGURATION_SERVICE_GROUP_ID_PROPERTY_ID, response.getServiceGroupId());
++        resource.setProperty(SERVICE_GROUP_NAME, serviceGroupName );
++        resource.setProperty(SERVICE_NAME, serviceName );
++        resource.setProperty(SERVICE_ID, response.getServiceId());
++        resource.setProperty(SERVICE_GROUP_ID, response.getServiceGroupId());
 +      }
  
        if (null != response.getConfigs() && response.getConfigs().size() > 0) {
          Map<String, String> configs = response.getConfigs();
@@@ -343,24 -288,12 +355,24 @@@
     * @return a configuration request
     */
    private ConfigurationRequest getRequest(Request request, Map<String, Object> properties) {
-     String type = (String) properties.get(CONFIGURATION_CONFIG_TYPE_PROPERTY_ID);
-     String tag  = (String) properties.get(CONFIGURATION_CONFIG_TAG_PROPERTY_ID);
-     String cluster  = (String) properties.get(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID);
+     String type = (String) properties.get(TYPE);
+     String tag  = (String) properties.get(TAG);
++    String cluster  = (String) properties.get(CLUSTER_NAME);
 +    String serviceName = null;
 +    String serviceGroupName = null;
 +    Long serviceId = null;
 +    Long serviceGroupId = null;
-     if (properties.containsKey(CONFIGURATION_SERVICE_NAME_PROPERTY_ID) && properties.containsKey(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID)) {
-       serviceName = (String) properties.get(CONFIGURATION_SERVICE_NAME_PROPERTY_ID);
-       serviceGroupName = (String) properties.get(CONFIGURATION_SERVICE_GROUP_NAME_PROPERTY_ID);
++    if (properties.containsKey(SERVICE_NAME) && properties.containsKey(SERVICE_GROUP_NAME)) {
++      serviceName = (String) properties.get(SERVICE_NAME);
++      serviceGroupName = (String) properties.get(SERVICE_GROUP_NAME);
 +      ClusterServiceEntity clusterServiceEntity = clusterServiceDAO.findByName(cluster, serviceGroupName, serviceName);
 +      serviceId = clusterServiceEntity.getServiceId();
 +      serviceGroupId = clusterServiceEntity.getServiceGroupId();
 +    }
  
      ConfigurationRequest configRequest = new ConfigurationRequest(
-         (String) properties.get(CONFIGURATION_CLUSTER_NAME_PROPERTY_ID),
+         (String) properties.get(CLUSTER_NAME),
 -        type, tag, new HashMap<>(), new HashMap<>());
 +        type, tag, new HashMap<>(), new HashMap<>(), serviceId, serviceGroupId);
  
      Set<String> requestedIds = request.getPropertyIds();
      if (requestedIds.contains("properties") || requestedIds.contains("*")) {
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
index 48e4767,16d3114..5bda663
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
@@@ -259,14 -280,8 +259,14 @@@ public class ExportBlueprintRequest imp
      public ExportedHostGroup(TreeNode<Resource> host) {
        TreeNode<Resource> components = host.getChild("host_components");
        for (TreeNode<Resource> component : components.getChildren()) {
 -        getComponents().add((String) component.getObject().getPropertyValue(
 -            "HostRoles/component_name"));
 +        Resource resource = component.getObject();
 +        String componentName =
-           String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID));
++          String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.COMPONENT_NAME));
 +        String serviceName =
-           String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID));
++          String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.SERVICE_NAME));
 +        String serviceGroupName =
-           String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID));
++          String.valueOf(resource.getPropertyValue(HostComponentResourceProvider.SERVICE_GROUP_NAME));
 +        getComponents().add(new Component(componentName, serviceGroupName, serviceName, null));
        }
        addAmbariComponentIfLocalhost((String) host.getObject().getPropertyValue(
            PropertyHelper.getPropertyId("Hosts", "host_name")));
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
index fa1e11a,96197c0..3dab4c8
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
@@@ -87,32 -84,52 +88,68 @@@ public class HostComponentResourceProvi
  
    // ----- Property ID constants ---------------------------------------------
  
 +  // Host Components
-   public static final String HOST_COMPONENT_CLUSTER_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "cluster_id";
-   public static final String HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "cluster_name";
-   public static final String HOST_COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_id";
-   public static final String HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_name";
-   public static final String HOST_COMPONENT_SERVICE_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_id";
-   public static final String HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_name";
-   public static final String HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_type";
-   public static final String HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "id";
-   public static final String HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_name";
-   public static final String HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_type";
-   public static final String HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "display_name";
-   public static final String HOST_COMPONENT_HOST_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "host_name";
-   public static final String HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "public_host_name";
-   public static final String HOST_COMPONENT_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "state";
-   public static final String HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_state";
-   public static final String HOST_COMPONENT_VERSION_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "version";
-   public static final String HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_stack_id";
-   public static final String HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "actual_configs";
-   public static final String HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "stale_configs";
-   public static final String HOST_COMPONENT_RELOAD_CONFIGS_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "reload_configs");
-   public static final String HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_admin_state";
-   public static final String HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "maintenance_state";
-   public static final String HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "upgrade_state";
-   public static final String HOST_COMPONENT_ROLE_ID
-       = PropertyHelper.getPropertyId("HostRoles", "role_id");
++
+   public static final String HOST_ROLES = "HostRoles";
+   public static final String HOST = "host";
+   public static final String SERVICE_COMPONENT_INFO = "ServiceComponentInfo";
+ 
++  public static final String ID_PROPERTY_ID = "id";
+   public static final String ROLE_ID_PROPERTY_ID = "role_id";
++  public static final String CLUSTER_ID_PROPERTY_ID = "cluster_id";
+   public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name";
++  public static final String SERVICE_GROUP_ID_PROPERTY_ID = "service_group_id";
++  public static final String SERVICE_GROUP_NAME_PROPERTY_ID = "service_group_name";
++  public static final String SERVICE_ID_PROPERTY_ID = "service_id";
+   public static final String SERVICE_NAME_PROPERTY_ID = "service_name";
++  public static final String SERVICE_TYPE_PROPERTY_ID = "service_type";
+   public static final String COMPONENT_NAME_PROPERTY_ID = "component_name";
++  public static final String COMPONENT_TYPE_PROPERTY_ID = "component_type";
+   public static final String DISPLAY_NAME_PROPERTY_ID = "display_name";
+   public static final String HOST_NAME_PROPERTY_ID = "host_name";
+   public static final String PUBLIC_HOST_NAME_PROPERTY_ID = "public_host_name";
+   public static final String STATE_PROPERTY_ID = "state";
+   public static final String DESIRED_STATE_PROPERTY_ID = "desired_state";
+   public static final String VERSION_PROPERTY_ID = "version";
+   public static final String DESIRED_STACK_ID_PROPERTY_ID = "desired_stack_id";
+   public static final String DESIRED_REPOSITORY_VERSION_PROPERTY_ID = "desired_repository_version";
+   public static final String ACTUAL_CONFIGS_PROPERTY_ID = "actual_configs";
+   public static final String STALE_CONFIGS_PROPERTY_ID = "stale_configs";
+   public static final String RELOAD_CONFIGS_PROPERTY_ID = "reload_configs";
+   public static final String DESIRED_ADMIN_STATE_PROPERTY_ID = "desired_admin_state";
+   public static final String MAINTENANCE_STATE_PROPERTY_ID = "maintenance_state";
+   public static final String UPGRADE_STATE_PROPERTY_ID = "upgrade_state";
+   public static final String HOST_PROPERTY_ID = "host";
+   public static final String HREF_PROPERTY_ID = "href";
+   public static final String COMPONENT_PROPERTY_ID = "component";
+   public static final String METRICS_PROPERTY_ID = "metrics";
+   public static final String PROCESSES_PROPERTY_ID = "processes";
+ 
++  public static final String ID = PropertyHelper.getPropertyId(HOST_ROLES, ID_PROPERTY_ID);
+   public static final String ROLE_ID = PropertyHelper.getPropertyId(HOST_ROLES, ROLE_ID_PROPERTY_ID);
++  public static final String CLUSTER_ID = PropertyHelper.getPropertyId(HOST_ROLES, CLUSTER_ID_PROPERTY_ID);
+   public static final String CLUSTER_NAME = PropertyHelper.getPropertyId(HOST_ROLES, CLUSTER_NAME_PROPERTY_ID);
++  public static final String SERVICE_GROUP_ID = PropertyHelper.getPropertyId(HOST_ROLES, SERVICE_GROUP_ID_PROPERTY_ID);
++  public static final String SERVICE_GROUP_NAME = PropertyHelper.getPropertyId(HOST_ROLES, SERVICE_GROUP_NAME_PROPERTY_ID);
++  public static final String SERVICE_ID = PropertyHelper.getPropertyId(HOST_ROLES, SERVICE_ID_PROPERTY_ID);
+   public static final String SERVICE_NAME = PropertyHelper.getPropertyId(HOST_ROLES, SERVICE_NAME_PROPERTY_ID);
++  public static final String SERVICE_TYPE = PropertyHelper.getPropertyId(HOST_ROLES, SERVICE_TYPE_PROPERTY_ID);
+   public static final String COMPONENT_NAME = PropertyHelper.getPropertyId(HOST_ROLES, COMPONENT_NAME_PROPERTY_ID);
++  public static final String COMPONENT_TYPE = PropertyHelper.getPropertyId(HOST_ROLES, COMPONENT_TYPE_PROPERTY_ID);
+   public static final String DISPLAY_NAME = PropertyHelper.getPropertyId(HOST_ROLES, DISPLAY_NAME_PROPERTY_ID);
+   public static final String HOST_NAME = PropertyHelper.getPropertyId(HOST_ROLES, HOST_NAME_PROPERTY_ID);
+   public static final String PUBLIC_HOST_NAME = PropertyHelper.getPropertyId(HOST_ROLES, PUBLIC_HOST_NAME_PROPERTY_ID);
+   public static final String STATE = PropertyHelper.getPropertyId(HOST_ROLES, STATE_PROPERTY_ID);
+   public static final String DESIRED_STATE = PropertyHelper.getPropertyId(HOST_ROLES, DESIRED_STATE_PROPERTY_ID);
+   public static final String VERSION = PropertyHelper.getPropertyId(HOST_ROLES, VERSION_PROPERTY_ID);
+   public static final String DESIRED_STACK_ID = PropertyHelper.getPropertyId(HOST_ROLES, DESIRED_STACK_ID_PROPERTY_ID);
+   public static final String DESIRED_REPOSITORY_VERSION = PropertyHelper.getPropertyId(HOST_ROLES, DESIRED_REPOSITORY_VERSION_PROPERTY_ID);
+   public static final String ACTUAL_CONFIGS = PropertyHelper.getPropertyId(HOST_ROLES, ACTUAL_CONFIGS_PROPERTY_ID);
+   public static final String STALE_CONFIGS = PropertyHelper.getPropertyId(HOST_ROLES, STALE_CONFIGS_PROPERTY_ID);
+   public static final String RELOAD_CONFIGS = PropertyHelper.getPropertyId(HOST_ROLES, RELOAD_CONFIGS_PROPERTY_ID);
+   public static final String DESIRED_ADMIN_STATE = PropertyHelper.getPropertyId(HOST_ROLES, DESIRED_ADMIN_STATE_PROPERTY_ID);
+   public static final String MAINTENANCE_STATE = PropertyHelper.getPropertyId(HOST_ROLES, MAINTENANCE_STATE_PROPERTY_ID);
+   public static final String UPGRADE_STATE = PropertyHelper.getPropertyId(HOST_ROLES, UPGRADE_STATE_PROPERTY_ID);
  
    //Parameters from the predicate
    private static final String QUERY_PARAMETERS_RUN_SMOKE_TEST_ID = "params/run_smoke_test";
@@@ -121,38 -138,34 +158,42 @@@
     * The key property ids for a HostComponent resource.
     */
    public static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
-       .put(Resource.Type.Cluster, HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID)
-       .put(Resource.Type.Host, HOST_COMPONENT_HOST_NAME_PROPERTY_ID)
-       .put(Resource.Type.HostComponent, HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID)
-       .put(Resource.Type.Component, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID)
-       .put(Resource.Type.Service, HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID)
-       .put(Resource.Type.ServiceGroup, HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID)
+       .put(Resource.Type.Cluster, CLUSTER_NAME)
+       .put(Resource.Type.Host, HOST_NAME)
 -      .put(Resource.Type.HostComponent, COMPONENT_NAME)
++      .put(Resource.Type.HostComponent, ID)
+       .put(Resource.Type.Component, COMPONENT_NAME)
++      .put(Resource.Type.Service, SERVICE_NAME)
++      .put(Resource.Type.ServiceGroup, SERVICE_GROUP_NAME)
        .build();
  
    /**
     * The property ids for a HostComponent resource.
     */
    protected static Set<String> propertyIds = Sets.newHashSet(
-       HOST_COMPONENT_ROLE_ID,
-       HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID,
-       HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID,
-       HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
-       HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID,
-       HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID,
-       HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID,
-       HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID,
-       HOST_COMPONENT_HOST_NAME_PROPERTY_ID,
-       HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID,
-       HOST_COMPONENT_STATE_PROPERTY_ID,
-       HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID,
-       HOST_COMPONENT_VERSION_PROPERTY_ID,
-       HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID,
-       HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID,
-       HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID,
-       HOST_COMPONENT_RELOAD_CONFIGS_PROPERTY_ID,
-       HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID,
-       HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID,
-       HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID,
++      ID,
+       ROLE_ID,
+       CLUSTER_NAME,
++      CLUSTER_ID,
++      SERVICE_GROUP_NAME,
++      SERVICE_GROUP_ID,
+       SERVICE_NAME,
++      SERVICE_TYPE,
++      SERVICE_ID,
+       COMPONENT_NAME,
++      COMPONENT_TYPE,
+       DISPLAY_NAME,
+       HOST_NAME,
+       PUBLIC_HOST_NAME,
+       STATE,
+       DESIRED_STATE,
+       VERSION,
+       DESIRED_STACK_ID,
 -      DESIRED_REPOSITORY_VERSION,
+       ACTUAL_CONFIGS,
+       STALE_CONFIGS,
+       RELOAD_CONFIGS,
+       DESIRED_ADMIN_STATE,
+       MAINTENANCE_STATE,
+       UPGRADE_STATE,
        QUERY_PARAMETERS_RUN_SMOKE_TEST_ID);
  
    /**
@@@ -199,39 -215,8 +240,39 @@@
        }
      });
  
 -    notifyCreate(Resource.Type.HostComponent, request);
 -
 +    Set<Resource> associatedResources = new HashSet<>();
 +    if (createSvcHostCmpnt != null) {
 +      Iterator<ServiceComponentHostResponse> itr = createSvcHostCmpnt.iterator();
 +      while (itr.hasNext()) {
 +        ServiceComponentHostResponse response = itr.next();
 +        notifyCreate(Resource.Type.HostComponent, request);
 +        Resource resource = new ResourceImpl(Resource.Type.HostComponent);
-         resource.setProperty(HOST_COMPONENT_CLUSTER_ID_PROPERTY_ID, response.getClusterId());
-         resource.setProperty(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID, response.getClusterName());
-         resource.setProperty(HOST_COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID, response.getServiceGroupId());
-         resource.setProperty(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
-         resource.setProperty(HOST_COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId());
-         resource.setProperty(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-         resource.setProperty(HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType());
-         resource.setProperty(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID, response.getHostComponentId());
-         resource.setProperty(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName());
-         resource.setProperty(HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID, response.getComponentType());
-         resource.setProperty(HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName());
-         resource.setProperty(HOST_COMPONENT_HOST_NAME_PROPERTY_ID, response.getHostname());
-         resource.setProperty(HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID, response.getPublicHostname());
-         resource.setProperty(HOST_COMPONENT_STATE_PROPERTY_ID, response.getLiveState());
-         resource.setProperty(HOST_COMPONENT_VERSION_PROPERTY_ID, response.getVersion());
-         resource.setProperty(HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID, response.getDesiredStackVersion());
-         resource.setProperty(HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID, response.getActualConfigs());
-         resource.setProperty(HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID, response.isStaleConfig());
-         resource.setProperty(HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID, response.getAdminState());
-         resource.setProperty(HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID, response.getMaintenanceState());
-         resource.setProperty(HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID, response.getUpgradeState());
++        resource.setProperty(CLUSTER_ID, response.getClusterId());
++        resource.setProperty(CLUSTER_NAME, response.getClusterName());
++        resource.setProperty(SERVICE_GROUP_ID, response.getServiceGroupId());
++        resource.setProperty(SERVICE_GROUP_NAME, response.getServiceGroupName());
++        resource.setProperty(SERVICE_ID, response.getServiceId());
++        resource.setProperty(SERVICE_NAME, response.getServiceName());
++        resource.setProperty(SERVICE_TYPE, response.getServiceType());
++        resource.setProperty(ID, response.getHostComponentId());
++        resource.setProperty(COMPONENT_NAME, response.getComponentName());
++        resource.setProperty(COMPONENT_TYPE, response.getComponentType());
++        resource.setProperty(DISPLAY_NAME, response.getDisplayName());
++        resource.setProperty(HOST_NAME, response.getHostname());
++        resource.setProperty(PUBLIC_HOST_NAME, response.getPublicHostname());
++        resource.setProperty(STATE, response.getLiveState());
++        resource.setProperty(VERSION, response.getVersion());
++        resource.setProperty(DESIRED_STACK_ID, response.getDesiredStackVersion());
++        resource.setProperty(ACTUAL_CONFIGS, response.getActualConfigs());
++        resource.setProperty(STALE_CONFIGS, response.isStaleConfig());
++        resource.setProperty(DESIRED_ADMIN_STATE, response.getAdminState());
++        resource.setProperty(MAINTENANCE_STATE, response.getMaintenanceState());
++        resource.setProperty(UPGRADE_STATE, response.getUpgradeState());
 +
 +        associatedResources.add(resource);
 +      }
 +      return getRequestStatus(null, associatedResources);
 +    }
      return getRequestStatus(null);
    }
  
@@@ -265,30 -263,39 +306,30 @@@
  
      for (ServiceComponentHostResponse response : responses) {
        Resource resource = new ResourceImpl(Resource.Type.HostComponent);
-       setResourceProperty(resource, HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID, response.getClusterName(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_CLUSTER_ID_PROPERTY_ID, response.getClusterId(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_SERVICE_GROUP_ID_PROPERTY_ID, response.getServiceGroupId(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID, response.getHostComponentId(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID, response.getComponentType(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_HOST_NAME_PROPERTY_ID, response.getHostname(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID, response.getPublicHostname(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_STATE_PROPERTY_ID, response.getLiveState(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID, response.getDesiredState(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_VERSION_PROPERTY_ID, response.getVersion(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID, response.getDesiredStackVersion(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID, response.getActualConfigs(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID, response.isStaleConfig(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_RELOAD_CONFIGS_PROPERTY_ID, response.isReloadConfig(), requestedIds);
-       setResourceProperty(resource, HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID, response.getUpgradeState(), requestedIds);
 -      setResourceProperty(resource, CLUSTER_NAME,
 -              response.getClusterName(), requestedIds);
 -      setResourceProperty(resource, SERVICE_NAME,
 -              response.getServiceName(), requestedIds);
 -      setResourceProperty(resource, COMPONENT_NAME,
 -              response.getComponentName(), requestedIds);
 -      setResourceProperty(resource, DISPLAY_NAME,
 -              response.getDisplayName(), requestedIds);
 -      setResourceProperty(resource, HOST_NAME,
 -              response.getHostname(), requestedIds);
 -      setResourceProperty(resource, PUBLIC_HOST_NAME,
 -          response.getPublicHostname(), requestedIds);
 -      setResourceProperty(resource, STATE,
 -              response.getLiveState(), requestedIds);
 -      setResourceProperty(resource, DESIRED_STATE,
 -              response.getDesiredState(), requestedIds);
 -      setResourceProperty(resource, VERSION, response.getVersion(),
 -          requestedIds);
 -      setResourceProperty(resource, DESIRED_STACK_ID,
 -              response.getDesiredStackVersion(), requestedIds);
 -      setResourceProperty(resource, ACTUAL_CONFIGS,
 -              response.getActualConfigs(), requestedIds);
 -      setResourceProperty(resource, STALE_CONFIGS,
 -              response.isStaleConfig(), requestedIds);
 -      setResourceProperty(resource, RELOAD_CONFIGS,
 -              response.isReloadConfig(), requestedIds);
 -      setResourceProperty(resource, UPGRADE_STATE,
 -              response.getUpgradeState(), requestedIds);
 -      setResourceProperty(resource, DESIRED_REPOSITORY_VERSION,
 -          response.getDesiredRepositoryVersion(), requestedIds);
++      setResourceProperty(resource, CLUSTER_NAME, response.getClusterName(), requestedIds);
++      setResourceProperty(resource, CLUSTER_ID, response.getClusterId(), requestedIds);
++      setResourceProperty(resource, SERVICE_GROUP_ID, response.getServiceGroupId(), requestedIds);
++      setResourceProperty(resource, SERVICE_GROUP_NAME, response.getServiceGroupName(), requestedIds);
++      setResourceProperty(resource, SERVICE_ID, response.getServiceId(), requestedIds);
++      setResourceProperty(resource, SERVICE_NAME, response.getServiceName(), requestedIds);
++      setResourceProperty(resource, SERVICE_TYPE, response.getServiceType(), requestedIds);
++      setResourceProperty(resource, ID, response.getHostComponentId(), requestedIds);
++      setResourceProperty(resource, COMPONENT_NAME, response.getComponentName(), requestedIds);
++      setResourceProperty(resource, COMPONENT_TYPE, response.getComponentType(), requestedIds);
++      setResourceProperty(resource, DISPLAY_NAME, response.getDisplayName(), requestedIds);
++      setResourceProperty(resource, HOST_NAME, response.getHostname(), requestedIds);
++      setResourceProperty(resource, PUBLIC_HOST_NAME, response.getPublicHostname(), requestedIds);
++      setResourceProperty(resource, STATE, response.getLiveState(), requestedIds);
++      setResourceProperty(resource, DESIRED_STATE, response.getDesiredState(), requestedIds);
++      setResourceProperty(resource, VERSION, response.getVersion(), requestedIds);
++      setResourceProperty(resource, DESIRED_STACK_ID, response.getDesiredStackVersion(), requestedIds);
++      setResourceProperty(resource, ACTUAL_CONFIGS, response.getActualConfigs(), requestedIds);
++      setResourceProperty(resource, STALE_CONFIGS, response.isStaleConfig(), requestedIds);
++      setResourceProperty(resource, RELOAD_CONFIGS, response.isReloadConfig(), requestedIds);
++      setResourceProperty(resource, UPGRADE_STATE, response.getUpgradeState(), requestedIds);
  
        if (response.getAdminState() != null) {
-         setResourceProperty(resource, HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID,
+         setResourceProperty(resource, DESIRED_ADMIN_STATE,
                  response.getAdminState(), requestedIds);
        }
  
@@@ -413,7 -421,17 +459,16 @@@
      return requestStages.getRequestStatusResponse();
    }
  
-   public RequestStatusResponse start(String cluster, String hostName, Collection<String> installOnlyComponents, boolean skipFailure) throws  SystemException,
 -
+   // TODO, revisit this extra method, that appears to be used during Add Hosts
+   // TODO, How do we determine the component list for INSTALL_ONLY during an Add Hosts operation? rwn
+   public RequestStatusResponse start(String cluster, String hostName) throws  SystemException,
+     UnsupportedPropertyException, NoSuchParentResourceException {
+ 
+     return this.start(cluster, hostName, Collections.emptySet(), false, false);
+   }
+ 
+   public RequestStatusResponse start(String cluster, String hostName, Collection<String> installOnlyComponents,
+                                      boolean skipFailure, boolean useClusterHostInfo) throws  SystemException,
        UnsupportedPropertyException, NoSuchParentResourceException {
  
      Map<String, String> requestInfo = new HashMap<>();
@@@ -684,35 -720,25 +741,35 @@@
     * @return the component request object
     */
    private ServiceComponentHostRequest getRequest(Map<String, Object> properties) {
 -    ServiceComponentHostRequest serviceComponentHostRequest = new ServiceComponentHostRequest(
 -        (String) properties.get(CLUSTER_NAME),
 -        (String) properties.get(SERVICE_NAME),
 -        (String) properties.get(COMPONENT_NAME),
 -        (String) properties.get(HOST_NAME),
 -        (String) properties.get(DESIRED_STATE));
 +    Long hostComponentId = null;
-     if (properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID) != null) {
-       hostComponentId = properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID) instanceof String ?
-               Long.parseLong((String) properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID)) :
-               (Long) properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID);
++    if (properties.get(ID) != null) {
++      hostComponentId = properties.get(ID) instanceof String ?
++              Long.parseLong((String) properties.get(ID)) :
++              (Long) properties.get(ID);
 +    }
 +    ServiceComponentHostRequest  serviceComponentHostRequest = new ServiceComponentHostRequest(
-               (String) properties.get(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID),
-               (String) properties.get(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID),
-               (String) properties.get(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID),
++              (String) properties.get(CLUSTER_NAME),
++              (String) properties.get(SERVICE_GROUP_NAME),
++              (String) properties.get(SERVICE_NAME),
 +              hostComponentId,
-               (String) properties.get(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID),
-               (String) properties.get(HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID),
-               (String) properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
-               (String) properties.get(HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID));
++              (String) properties.get(COMPONENT_NAME),
++              (String) properties.get(COMPONENT_TYPE),
++              (String) properties.get(HOST_NAME),
++              (String) properties.get(DESIRED_STATE));
 +
-     serviceComponentHostRequest.setState((String) properties.get(HOST_COMPONENT_STATE_PROPERTY_ID));
-     if (properties.get(HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID) != null) {
+     serviceComponentHostRequest.setState((String) properties.get(STATE));
+     if (properties.get(STALE_CONFIGS) != null) {
        serviceComponentHostRequest.setStaleConfig(
-           properties.get(HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID).toString().toLowerCase());
+           properties.get(STALE_CONFIGS).toString().toLowerCase());
      }
  
-     if (properties.get(HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID) != null) {
+     if (properties.get(DESIRED_ADMIN_STATE) != null) {
        serviceComponentHostRequest.setAdminState(
-           properties.get(HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID).toString());
+           properties.get(DESIRED_ADMIN_STATE).toString());
      }
-     if (properties.get(HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID) != null) {
+     if (properties.get(PUBLIC_HOST_NAME) != null) {
        serviceComponentHostRequest.setPublicHostname(
-           properties.get(HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID).toString());
+           properties.get(PUBLIC_HOST_NAME).toString());
      }
  
  
@@@ -731,37 -757,26 +788,37 @@@
     * @return the component request object
     */
    private ServiceComponentHostRequest changeRequest(Map<String, Object> properties) {
 +    Long hostComponentId = null;
-     if (properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID) != null) {
-       hostComponentId = properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID) instanceof String ?
-               Long.parseLong((String) properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID)) :
-               (Long) properties.get(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID);
++    if (properties.get(ID) != null) {
++      hostComponentId = properties.get(ID) instanceof String ?
++              Long.parseLong((String) properties.get(ID)) :
++              (Long) properties.get(ID);
 +
 +    }
      ServiceComponentHostRequest serviceComponentHostRequest = new ServiceComponentHostRequest(
-             (String) properties.get(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID),
-             (String) properties.get(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID),
-             (String) properties.get(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID),
+             (String) properties.get(CLUSTER_NAME),
++            (String) properties.get(SERVICE_GROUP_NAME),
+             (String) properties.get(SERVICE_NAME),
 +            hostComponentId,
-             (String) properties.get(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID),
-             (String) properties.get(HOST_COMPONENT_COMPONENT_TYPE_PROPERTY_ID),
-             (String) properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
-             (String) properties.get(HOST_COMPONENT_STATE_PROPERTY_ID));
+             (String) properties.get(COMPONENT_NAME),
++            (String) properties.get(COMPONENT_TYPE),
+             (String) properties.get(HOST_NAME),
+             (String) properties.get(STATE));
 +
-     if (properties.get(HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID) != null) {
-       serviceComponentHostRequest.setDesiredState((String)properties.get(HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID));
+     if (properties.get(DESIRED_STATE) != null) {
+       serviceComponentHostRequest.setDesiredState((String)properties.get(DESIRED_STATE));
      }
-     if (properties.get(HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID) != null) {
+     if (properties.get(STALE_CONFIGS) != null) {
        serviceComponentHostRequest.setStaleConfig(
-               properties.get(HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID).toString().toLowerCase());
+               properties.get(STALE_CONFIGS).toString().toLowerCase());
      }
  
-     if (properties.get(HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID) != null) {
+     if (properties.get(DESIRED_ADMIN_STATE) != null) {
        serviceComponentHostRequest.setAdminState(
-               properties.get(HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID).toString());
+               properties.get(DESIRED_ADMIN_STATE).toString());
      }
  
-     Object o = properties.get(HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID);
+     Object o = properties.get(MAINTENANCE_STATE);
      if (null != o) {
        serviceComponentHostRequest.setMaintenanceState (o.toString());
      }
@@@ -1046,9 -1056,8 +1106,9 @@@
        try {
          if (componentName != null && !componentName.isEmpty()) {
            AmbariManagementController managementController = getManagementController();
-           String clusterName = (String) resource.getPropertyValue(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID);
-           String serviceName = (String) resource.getPropertyValue(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID);
-           String serviceGroupName = (String) resource.getPropertyValue(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
+           String clusterName = (String) resource.getPropertyValue(CLUSTER_NAME);
+           String serviceName = (String) resource.getPropertyValue(SERVICE_NAME);
++          String serviceGroupName = (String) resource.getPropertyValue(SERVICE_GROUP_NAME);
            if (StringUtils.isEmpty(serviceName)) {
              Cluster cluster = managementController.getClusters().getCluster(clusterName);
              serviceName = managementController.findServiceName(cluster, componentName);
@@@ -1056,7 -1064,7 +1116,7 @@@
            }
  
            ServiceComponent sc = getServiceComponent((String) resource.getPropertyValue(
-               HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID), serviceGroupName, serviceName, componentName);
 -                  CLUSTER_NAME), serviceName, componentName);
++              CLUSTER_NAME), serviceGroupName, serviceName, componentName);
            isClient = sc.isClientComponent();
          }
        } catch (AmbariException e) {
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
index a8fcf13,0b9bce0..4971694
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
@@@ -17,11 -17,10 +17,11 @@@
   */
  package org.apache.ambari.server.controller.internal;
  
- import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID;
- import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID;
- import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_HOST_NAME_PROPERTY_ID;
- import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID;
- import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID;
+ import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.CLUSTER_NAME;
+ import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.COMPONENT_NAME;
+ import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_NAME;
++import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.SERVICE_GROUP_NAME;
+ import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.SERVICE_NAME;
  
  import java.util.ArrayList;
  import java.util.Collection;
@@@ -539,54 -538,46 +541,49 @@@ public class RequestResourceProvider ex
          throw new SystemException(msg, e);
        }
  
-       ResourceProvider resourceProvider = getResourceProvider(Resource.Type.HostComponent);
- 
        Set<String> propertyIds = new HashSet<>();
-       propertyIds.add(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID);
-       propertyIds.add(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID);
-       propertyIds.add(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID);
+       propertyIds.add(CLUSTER_NAME);
+       propertyIds.add(SERVICE_NAME);
+       propertyIds.add(COMPONENT_NAME);
  
        Request request = PropertyHelper.getReadRequest(propertyIds);
 -      
 +
-       Predicate finalPredicate = new PredicateBuilder(filterPredicate)
-         .property(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID).equals(clusterName).and()
-         .property(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID).equals(serviceName).and()
-         .property(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID).equals(componentName)
-         .toPredicate();
- 
        try {
-         Set<Resource> resources = resourceProvider.getResources(request, finalPredicate);
- 
-         if (resources != null && !resources.isEmpty()) {
-           // Allow request to span services / components using just the predicate
-           Map<ServiceComponentTuple, List<String>> dupleListMap = new HashMap<>();
-           for (Resource resource : resources) {
-             String hostnameStr = (String) resource.getPropertyValue(HOST_COMPONENT_HOST_NAME_PROPERTY_ID);
-             if (hostnameStr != null) {
-               String computedServiceGroupName = (String) resource.getPropertyValue(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
-               String computedServiceName = (String) resource.getPropertyValue(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID);
-               String computedComponentName = (String) resource.getPropertyValue(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID);
-               ServiceComponentTuple duple =
-                 new ServiceComponentTuple(computedServiceGroupName, computedServiceName, computedComponentName);
- 
-               if (!dupleListMap.containsKey(duple)) {
-                 hostList = new ArrayList<>();
-                 hostList.add(hostnameStr);
-                 dupleListMap.put(duple, hostList);
-               } else {
-                 dupleListMap.get(duple).add(hostnameStr);
-               }
+         ClusterController clusterController = ClusterControllerHelper.getClusterController();
+         QueryResponse queryResponse = clusterController.getResources(
+           Resource.Type.HostComponent, request, filterPredicate);
+         Iterable<Resource> resourceIterable = clusterController.getIterable(
+           Resource.Type.HostComponent, queryResponse, request,
+           filterPredicate, null, null);
+         
+         // Allow request to span services / components using just the predicate
+         Map<ServiceComponentTuple, List<String>> tupleListMap = new HashMap<>();
+         for (Resource resource : resourceIterable) {
+           String hostnameStr = (String) resource.getPropertyValue(HOST_NAME);
+           if (hostnameStr != null) {
+             String computedServiceName = (String) resource.getPropertyValue(SERVICE_NAME);
++            String computedServiceGroupName = (String) resource.getPropertyValue(SERVICE_GROUP_NAME);
+             String computedComponentName = (String) resource.getPropertyValue(COMPONENT_NAME);
 -            ServiceComponentTuple tuple = new ServiceComponentTuple(computedServiceName, computedComponentName);
++            ServiceComponentTuple tuple = new ServiceComponentTuple(computedServiceGroupName, computedServiceName, computedComponentName);
+ 
+             if (!tupleListMap.containsKey(tuple)) {
+               hostList = new ArrayList<>();
+               hostList.add(hostnameStr);
+               tupleListMap.put(tuple, hostList);
+             } else {
+               tupleListMap.get(tuple).add(hostnameStr);
              }
            }
-           if (!dupleListMap.isEmpty()) {
-             for (Map.Entry<ServiceComponentTuple, List<String>> entry : dupleListMap.entrySet()) {
-               resourceFilterList.add(new RequestResourceFilter(
-                 entry.getKey().getServiceGroupName(),
-                 entry.getKey().getServiceName(),
-                 entry.getKey().getComponentName(),
-                 entry.getValue()
-               ));
-             }
+         }
+         if (!tupleListMap.isEmpty()) {
+           for (Map.Entry<ServiceComponentTuple, List<String>> entry : tupleListMap.entrySet()) {
+             resourceFilterList.add(new RequestResourceFilter(
++              entry.getKey().getServiceGroupName(),
+               entry.getKey().getServiceName(),
+               entry.getKey().getComponentName(),
+               entry.getValue()
+             ));
++
            }
          }
        } catch (Exception e) {
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
index 7e24df2,24febe8..25a1777
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
@@@ -53,22 -49,20 +53,23 @@@ import org.apache.ambari.server.securit
  public class ServiceConfigVersionResourceProvider extends
      AbstractControllerResourceProvider {
  
-   public static final String SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "cluster_name");
-   public static final String SERVICE_CONFIG_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_config_version");
-   public static final String SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_group_name");
-   public static final String SERVICE_CONFIG_VERSION_SERVICE_GROUP_ID_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_group_id");
-   public static final String SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_name");
-   public static final String SERVICE_CONFIG_VERSION_SERVICE_ID_PROPERTY_ID = PropertyHelper.getPropertyId(null, "service_id");
-   public static final String SERVICE_CONFIG_VERSION_CREATE_TIME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "createtime");
-   public static final String SERVICE_CONFIG_VERSION_USER_PROPERTY_ID = PropertyHelper.getPropertyId(null, "user");
-   public static final String SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID = PropertyHelper.getPropertyId("ServiceConfigVersion", "service_config_version_note");
-   public static final String SERVICE_CONFIG_VERSION_GROUP_ID_PROPERTY_ID = PropertyHelper.getPropertyId(null, "group_id");
-   public static final String SERVICE_CONFIG_VERSION_GROUP_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(null, "group_name");
-   public static final String SERVICE_CONFIG_VERSION_STACK_ID_PROPERTY_ID = PropertyHelper.getPropertyId("ServiceConfigVersion", "stack_id");
-   public static final String SERVICE_CONFIG_VERSION_IS_CURRENT_PROPERTY_ID = PropertyHelper.getPropertyId(null, "is_current");
-   public static final String SERVICE_CONFIG_VERSION_IS_COMPATIBLE_PROPERTY_ID = PropertyHelper.getPropertyId(null, "is_cluster_compatible");
-   public static final String SERVICE_CONFIG_VERSION_HOSTS_PROPERTY_ID = PropertyHelper.getPropertyId(null, "hosts");
-   public static final String SERVICE_CONFIG_VERSION_CONFIGURATIONS_PROPERTY_ID = PropertyHelper.getPropertyId(null, "configurations");
+   public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name";
+   public static final String SERVICE_CONFIG_VERSION_PROPERTY_ID = "service_config_version";
++  public static final String SERVICE_GROUP_NAME_PROPERTY_ID = "service_group_name";
++  public static final String SERVICE_GROUP_ID_PROPERTY_ID = "service_group_id";
+   public static final String SERVICE_NAME_PROPERTY_ID = "service_name";
++  public static final String SERVICE_ID_PROPERTY_ID = "service_id";
+   public static final String CREATE_TIME_PROPERTY_ID = "createtime";
+   public static final String USER_PROPERTY_ID = "user";
+   public static final String SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID = "service_config_version_note";
+   public static final String GROUP_ID_PROPERTY_ID = "group_id";
+   public static final String GROUP_NAME_PROPERTY_ID = "group_name";
+   public static final String STACK_ID_PROPERTY_ID = "stack_id";
+   public static final String IS_CURRENT_PROPERTY_ID = "is_current";
+   public static final String IS_COMPATIBLE_PROPERTY_ID = "is_cluster_compatible";
+   public static final String HOSTS_PROPERTY_ID = "hosts";
+   public static final String CONFIGURATIONS_PROPERTY_ID = "configurations";
+   public static final String APPLIED_TIME_PROPERTY_ID = "appliedtime";
  
    /**
     * The property ids for a service configuration resource.
@@@ -82,26 -76,24 +83,25 @@@
  
    static {
      // properties
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID);
+     PROPERTY_IDS.add(CLUSTER_NAME_PROPERTY_ID);
      PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_CREATE_TIME_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_USER_PROPERTY_ID);
++    PROPERTY_IDS.add(SERVICE_GROUP_NAME_PROPERTY_ID);
+     PROPERTY_IDS.add(SERVICE_NAME_PROPERTY_ID);
+     PROPERTY_IDS.add(CREATE_TIME_PROPERTY_ID);
+     PROPERTY_IDS.add(USER_PROPERTY_ID);
      PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_GROUP_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_GROUP_NAME_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_STACK_ID_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_IS_CURRENT_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_HOSTS_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_CONFIGURATIONS_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_IS_COMPATIBLE_PROPERTY_ID);
-     PROPERTY_IDS.add(SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID);
+     PROPERTY_IDS.add(GROUP_ID_PROPERTY_ID);
+     PROPERTY_IDS.add(GROUP_NAME_PROPERTY_ID);
+     PROPERTY_IDS.add(STACK_ID_PROPERTY_ID);
+     PROPERTY_IDS.add(IS_CURRENT_PROPERTY_ID);
+     PROPERTY_IDS.add(HOSTS_PROPERTY_ID);
+     PROPERTY_IDS.add(CONFIGURATIONS_PROPERTY_ID);
+     PROPERTY_IDS.add(IS_COMPATIBLE_PROPERTY_ID);
  
--    // keys
-     KEY_PROPERTY_IDS.put(Resource.Type.Service, SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID);
+     KEY_PROPERTY_IDS.put(Resource.Type.Service, SERVICE_NAME_PROPERTY_ID);
+     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, CLUSTER_NAME_PROPERTY_ID);
 -    KEY_PROPERTY_IDS.put(Resource.Type.ServiceConfigVersion,SERVICE_CONFIG_VERSION_PROPERTY_ID);
 +    KEY_PROPERTY_IDS.put(Resource.Type.ServiceConfigVersion, SERVICE_CONFIG_VERSION_PROPERTY_ID);
-     KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID);
++    KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, SERVICE_GROUP_NAME_PROPERTY_ID);
    }
  
  
@@@ -110,9 -102,9 +110,7 @@@
     */
    private static Set<String> pkPropertyIds =
      new HashSet<>(Arrays.asList(new String[]{
-       SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID,
-       SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID, SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID}));
 -            CLUSTER_NAME_PROPERTY_ID,
 -            SERVICE_NAME_PROPERTY_ID}));
--
++      CLUSTER_NAME_PROPERTY_ID, SERVICE_GROUP_NAME_PROPERTY_ID, SERVICE_NAME_PROPERTY_ID}));
  
    // ----- Constructors ------------------------------------------------------
  
@@@ -138,63 -130,7 +136,63 @@@
  
    @Override
    public RequestStatus createResources(Request request) throws SystemException, UnsupportedPropertyException, ResourceAlreadyExistsException, NoSuchParentResourceException {
 -    throw new UnsupportedOperationException("Cannot explicitly create service config version");
 +    final Set<ServiceConfigVersionRequest> requests = new HashSet<>();
 +    Set<ServiceConfigVersionResponse> responses = new HashSet<>();
 +
 +    for (Map<String, Object> propertyMap : request.getProperties()) {
 +      requests.add(createRequest(propertyMap));
 +    }
 +    responses = createResources(new Command<Set<ServiceConfigVersionResponse>>() {
 +      @Override
 +      public Set<ServiceConfigVersionResponse> invoke() throws AmbariException, AuthorizationException {
 +        return getManagementController().createServiceConfigVersion(requests);
 +      }
 +    });
 +
 +    Set<Resource> associatedResources = new HashSet<>();
 +    for (ServiceConfigVersionResponse serviceConfigVersionResponse : responses) {
 +      Resource resource = new ResourceImpl(Resource.Type.ServiceConfigVersion);
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_GROUP_NAME_PROPERTY_ID,
 +              serviceConfigVersionResponse.getServiceGroupName());
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_GROUP_ID_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_GROUP_ID_PROPERTY_ID,
 +              serviceConfigVersionResponse.getServiceGroupId());
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_NAME_PROPERTY_ID,
 +              serviceConfigVersionResponse.getServiceName());
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_SERVICE_ID_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_ID_PROPERTY_ID,
 +              serviceConfigVersionResponse.getServiceId());
 +      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_PROPERTY_ID,
 +              serviceConfigVersionResponse.getVersion());
 +      resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID,
 +              serviceConfigVersionResponse.getNote());
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_GROUP_ID_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.GROUP_ID_PROPERTY_ID,
 +              serviceConfigVersionResponse.getGroupId());
-       resource.setProperty(ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_GROUP_NAME_PROPERTY_ID,
++      resource.setProperty(ServiceConfigVersionResourceProvider.GROUP_NAME_PROPERTY_ID,
 +              serviceConfigVersionResponse.getGroupName());
 +      if (serviceConfigVersionResponse.getConfigurations() != null) {
 +        resource.setProperty(
-                 ServiceConfigVersionResourceProvider.SERVICE_CONFIG_VERSION_CONFIGURATIONS_PROPERTY_ID,
++                ServiceConfigVersionResourceProvider.CONFIGURATIONS_PROPERTY_ID,
 +                serviceConfigVersionResponse.getConfigurations());
 +      }
 +      associatedResources.add(resource);
 +    }
 +
 +    return getRequestStatus(null, associatedResources);
 +  }
 +
 +  private List<ConfigurationRequest> getConfigurationRequests(Set<Map<String, Object>>  configurations) {
 +    List<ConfigurationRequest> configs = new LinkedList<>();
 +    for (Map<String, Object> value: configurations) {
 +      ConfigurationRequest newConfig = new ConfigurationRequest();
 +      for (Map.Entry<String, Object> e : value.entrySet()) {
 +        String propName =
 +                PropertyHelper.getPropertyName("Config" + '/' + e.getKey());
 +        String absCatategory =
 +                PropertyHelper.getPropertyCategory("Config" + '/' + e.getKey());
 +        parseProperties(newConfig, absCatategory, propName, e.getValue() == null ? null : e.getValue().toString());
 +      }
 +      configs.add(newConfig);
 +    }
 +    return configs;
    }
  
    @Override
@@@ -218,20 -154,19 +216,20 @@@
        List<Map<String,Object>> configVersionConfigurations = convertToSubResources(clusterName, configurationResponses);
  
        Resource resource = new ResourceImpl(Resource.Type.ServiceConfigVersion);
-       resource.setProperty(SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID, clusterName);
-       resource.setProperty(SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-       resource.setProperty(SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
-       resource.setProperty(SERVICE_CONFIG_VERSION_USER_PROPERTY_ID, response.getUserName());
+       resource.setProperty(CLUSTER_NAME_PROPERTY_ID, clusterName);
++      resource.setProperty(SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
+       resource.setProperty(SERVICE_NAME_PROPERTY_ID, response.getServiceName());
+       resource.setProperty(USER_PROPERTY_ID, response.getUserName());
        resource.setProperty(SERVICE_CONFIG_VERSION_PROPERTY_ID, response.getVersion());
-       resource.setProperty(SERVICE_CONFIG_VERSION_CREATE_TIME_PROPERTY_ID, response.getCreateTime());
-       resource.setProperty(SERVICE_CONFIG_VERSION_CONFIGURATIONS_PROPERTY_ID, configVersionConfigurations);
+       resource.setProperty(CREATE_TIME_PROPERTY_ID, response.getCreateTime());
+       resource.setProperty(CONFIGURATIONS_PROPERTY_ID, configVersionConfigurations);
        resource.setProperty(SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID, response.getNote());
-       resource.setProperty(SERVICE_CONFIG_VERSION_GROUP_ID_PROPERTY_ID, response.getGroupId());
-       resource.setProperty(SERVICE_CONFIG_VERSION_GROUP_NAME_PROPERTY_ID, response.getGroupName());
-       resource.setProperty(SERVICE_CONFIG_VERSION_HOSTS_PROPERTY_ID, response.getHosts());
-       resource.setProperty(SERVICE_CONFIG_VERSION_STACK_ID_PROPERTY_ID, response.getStackId());
-       resource.setProperty(SERVICE_CONFIG_VERSION_IS_CURRENT_PROPERTY_ID, response.getIsCurrent());
-       resource.setProperty(SERVICE_CONFIG_VERSION_IS_COMPATIBLE_PROPERTY_ID, response.isCompatibleWithCurrentStack());
+       resource.setProperty(GROUP_ID_PROPERTY_ID, response.getGroupId());
+       resource.setProperty(GROUP_NAME_PROPERTY_ID, response.getGroupName());
+       resource.setProperty(HOSTS_PROPERTY_ID, response.getHosts());
+       resource.setProperty(STACK_ID_PROPERTY_ID, response.getStackId());
+       resource.setProperty(IS_CURRENT_PROPERTY_ID, response.getIsCurrent());
+       resource.setProperty(IS_COMPATIBLE_PROPERTY_ID, response.isCompatibleWithCurrentStack());
  
        resources.add(resource);
      }
@@@ -248,24 -183,44 +246,24 @@@
      throw new UnsupportedOperationException("Cannot delete service config version");
    }
  
 -  @Override
 -  public Set<String> checkPropertyIds(Set<String> propertyIds) {
 -    propertyIds = super.checkPropertyIds(propertyIds);
 -
 -    if (propertyIds.isEmpty()) {
 -      return propertyIds;
 -    }
 -    Set<String> unsupportedProperties = new HashSet<>();
 -
 -    for (String propertyId : propertyIds) {
 -      if (!propertyId.equals("cluster_name") && !propertyId.equals("service_config_version") &&
 -          !propertyId.equals("service_name") && !propertyId.equals("createtime") &&
 -          !propertyId.equals("appliedtime") && !propertyId.equals("user") &&
 -          !propertyId.equals("service_config_version_note") &&
 -          !propertyId.equals("group_id") &&
 -          !propertyId.equals("group_name") &&
 -          !propertyId.equals("stack_id") &&
 -          !propertyId.equals("is_current") &&
 -          !propertyId.equals("is_cluster_compatible") &&
 -          !propertyId.equals("hosts")) {
 -
 -        unsupportedProperties.add(propertyId);
 -
 -      }
 -    }
 -    return unsupportedProperties;
 -  }
 -
 -
    private ServiceConfigVersionRequest createRequest(Map<String, Object> properties) {
-     String clusterName = (String) properties.get(SERVICE_CONFIG_VERSION_CLUSTER_NAME_PROPERTY_ID);
-     String serviceGroupName = (String) properties.get(SERVICE_CONFIG_VERSION_SERVICE_GROUP_NAME_PROPERTY_ID);
-     String serviceName = (String) properties.get(SERVICE_CONFIG_VERSION_SERVICE_NAME_PROPERTY_ID);
-     String user = (String) properties.get(SERVICE_CONFIG_VERSION_USER_PROPERTY_ID);
-     Boolean isCurrent = Boolean.valueOf((String) properties.get(SERVICE_CONFIG_VERSION_IS_CURRENT_PROPERTY_ID));
+     String clusterName = (String) properties.get(CLUSTER_NAME_PROPERTY_ID);
++    String serviceGroupName = (String) properties.get(SERVICE_GROUP_NAME_PROPERTY_ID);
+     String serviceName = (String) properties.get(SERVICE_NAME_PROPERTY_ID);
+     String user = (String) properties.get(USER_PROPERTY_ID);
+     Boolean isCurrent = Boolean.valueOf((String) properties.get(IS_CURRENT_PROPERTY_ID));
      Object versionObject = properties.get(SERVICE_CONFIG_VERSION_PROPERTY_ID);
      Long version = versionObject == null ? null : Long.valueOf(versionObject.toString());
 -
 -    return new ServiceConfigVersionRequest(clusterName, serviceName, version, null, null, user, isCurrent);
 +    String note = (String) properties.get(SERVICE_CONFIG_VERSION_NOTE_PROPERTY_ID);
-     String stackId = (String) properties.get(SERVICE_CONFIG_VERSION_STACK_ID_PROPERTY_ID);
++    String stackId = (String) properties.get(STACK_ID_PROPERTY_ID);
 +    ServiceConfigVersionRequest scvr = new ServiceConfigVersionRequest(clusterName, serviceGroupName, serviceName, version, null, null, user, isCurrent, note, stackId);
 +    if(version == null && properties.containsKey("configurations")) {
 +      List<ConfigurationRequest> configRequests = getConfigurationRequests((Set<Map<String, Object>>) properties.get("configurations"));
 +      if (!configRequests.isEmpty()) {
 +        scvr.setConfigs(configRequests);
 +      }
 +    }
 +    return scvr;
    }
  
    private List<Map<String, Object>> convertToSubResources(final String clusterName, List<ConfigurationResponse> configs) {
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index ddd5d49,4946f33..6ea0b41
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@@ -73,10 -76,10 +74,10 @@@ import org.apache.ambari.server.state.S
  import org.apache.ambari.server.state.ServiceInfo;
  import org.apache.ambari.server.state.StackId;
  import org.apache.ambari.server.state.State;
- import org.apache.ambari.server.topology.TopologyDeleteFormer;
+ import org.apache.ambari.server.topology.STOMPComponentsDeleteHandler;
 -import org.apache.commons.collections.CollectionUtils;
  import org.apache.commons.lang.StringUtils;
  import org.apache.commons.lang.Validate;
 +import org.apache.commons.lang3.tuple.Pair;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
@@@ -169,7 -186,13 +170,11 @@@ public class ServiceResourceProvider ex
    @Inject
    private KerberosHelper kerberosHelper;
  
-   private final TopologyDeleteFormer topologyDeleteFormer;
++
+   @Inject
+   private STOMPComponentsDeleteHandler STOMPComponentsDeleteHandler;
+ 
 -  /**
 -   * Used to lookup the repository when creating services.
 -   */
 -  private final RepositoryVersionDAO repositoryVersionDAO;
++
  
    // ----- Constructors ----------------------------------------------------
  
@@@ -180,13 -203,11 +185,11 @@@
     */
    @AssistedInject
    public ServiceResourceProvider(
 -      @Assisted AmbariManagementController managementController,
 -      MaintenanceStateHelper maintenanceStateHelper, RepositoryVersionDAO repositoryVersionDAO) {
 +    @Assisted AmbariManagementController managementController,
-     MaintenanceStateHelper maintenanceStateHelper,
-     TopologyDeleteFormer topologyDeleteFormer
++    MaintenanceStateHelper maintenanceStateHelper
 +  ) {
      super(Resource.Type.Service, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
      this.maintenanceStateHelper = maintenanceStateHelper;
-     this.topologyDeleteFormer = topologyDeleteFormer;
 -    this.repositoryVersionDAO = repositoryVersionDAO;
  
      setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES));
      setRequiredUpdateAuthorizations(RoleAuthorization.AUTHORIZATIONS_UPDATE_SERVICE);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
index 1de76d1,322c0f9..16b4636
--- 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
@@@ -48,6 -50,8 +48,7 @@@ import org.apache.ambari.server.control
  import org.apache.ambari.server.controller.AmbariCustomCommandExecutionHelper;
  import org.apache.ambari.server.controller.AmbariManagementController;
  import org.apache.ambari.server.controller.ExecuteCommandJson;
+ import org.apache.ambari.server.controller.KerberosHelper;
 -import org.apache.ambari.server.controller.KerberosHelperImpl.SupportedCustomOperation;
  import org.apache.ambari.server.controller.spi.NoSuchParentResourceException;
  import org.apache.ambari.server.controller.spi.NoSuchResourceException;
... 10376 lines suppressed ...


[ambari] 04/04: Fix imports (jluniya)

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jluniya pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit c210fe59cc88c7533e28fef40c4feb225f701dc9
Author: Jayush Luniya <jl...@HW11039.local>
AuthorDate: Sat Jul 7 00:59:00 2018 -0700

    Fix imports (jluniya)
---
 .../main/java/org/apache/ambari/server/state/stack/UpgradePack.java    | 1 -
 .../server/checks/KerberosAdminPersistedCredentialCheckTest.java       | 3 ---
 2 files changed, 4 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java
index c138300..8808d6a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/UpgradePack.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.function.Predicate;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import javax.xml.bind.Unmarshaller;
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
index 67127dd..4978c9d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
@@ -18,7 +18,6 @@
 package org.apache.ambari.server.checks;
 
 import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
 
 import java.util.Collections;
@@ -68,8 +67,6 @@ import org.apache.ambari.server.state.stack.OsFamily;
 import org.apache.ambari.server.state.stack.PrereqCheckStatus;
 import org.apache.ambari.server.state.stack.UpgradeCheckResult;
 import org.apache.ambari.server.state.stack.UpgradePack;
-import org.apache.ambari.server.state.stack.upgrade.Direction;
-import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
 import org.apache.ambari.server.testutils.PartialNiceMockBinder;
 import org.apache.ambari.server.topology.PersistedState;
 import org.apache.ambari.server.topology.PersistedStateImpl;


[ambari] 02/04: Merge branch 'branch-feature-AMBARI-14714' of https://github.com/apache/ambari into branch-feature-AMBARI-14714

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jluniya pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit a8bae2c9aa86b98aeef3e4a5195a712a0515b6b9
Merge: 220450b 9630684
Author: Jayush Luniya <jl...@HW11039.local>
AuthorDate: Sat Jul 7 00:40:17 2018 -0700

    Merge branch 'branch-feature-AMBARI-14714' of https://github.com/apache/ambari into branch-feature-AMBARI-14714

 .../apache/ambari/server/state/UpgradeHelper.java  | 78 +---------------------
 .../ambari/server/state/stack/UpgradePack.java     | 28 --------
 .../stack/upgrade/RepositoryVersionHelper.java     | 42 ------------
 ambari-server/src/main/resources/upgrade-pack.xsd  |  2 -
 .../checks/HostsMasterMaintenanceCheckTest.java    |  3 -
 .../PreUpgradeCheckResourceProviderTest.java       |  4 --
 .../mpacks-v2/upgrade-packs/upgrade-basic.xml      |  2 -
 7 files changed, 1 insertion(+), 158 deletions(-)



[ambari] 03/04: Fix compilation issue (jluniya)

Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jluniya pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 65903f38d121837f930f42a08fea71f29be88574
Author: Jayush Luniya <jl...@HW11039.local>
AuthorDate: Sat Jul 7 00:47:16 2018 -0700

    Fix compilation issue (jluniya)
---
 .../server/checks/KerberosAdminPersistedCredentialCheckTest.java      | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
index bd8bb5e..67127dd 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/KerberosAdminPersistedCredentialCheckTest.java
@@ -164,8 +164,8 @@ public class KerberosAdminPersistedCredentialCheckTest extends EasyMockSupport {
     // request.setTargetRepositoryVersion(repositoryVersion);
     request.setPrerequisiteCheckConfig(prerequisiteCheckConfig);
 
-    expect(upgradeHelper.suggestUpgradePack(eq(clusterName), anyObject(), anyObject(), eq(Direction.UPGRADE), eq(UpgradeType.ROLLING), anyObject()))
-      .andReturn(upgradePackWithRegenKeytab()).anyTimes();
+//    expect(upgradeHelper.suggestUpgradePack(eq(clusterName), anyObject(), anyObject(), eq(Direction.UPGRADE), eq(UpgradeType.ROLLING), anyObject()))
+//      .andReturn(upgradePackWithRegenKeytab()).anyTimes();
 
     DesiredConfig desiredKerberosEnv = createMock(DesiredConfig.class);
     expect(desiredKerberosEnv.getTag()).andReturn("tag").anyTimes();