You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mr...@apache.org on 2018/01/23 22:42:28 UTC

[ambari] branch branch-feature-AMBARI-14714 updated (4ec01a1 -> 687f54e)

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

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


    from 4ec01a1  AMBARI-22253. Create default service group for blueprint (adoroszlai)
     add 7b6fef1  AMBARI-22570. Repository Fields missing when register version is clicked (vsubramanian)
     add 3a802ae  AMBARI-22537 : Storm jmxetric config not getting removed during patch upgrade (ydavis via mradhakrishnan)
     add da8f54e  AMBARI-22568 - Oozie Fails To Restart During Upgrade Because of Missing ExtJS Library (jonathanhurley)
     add a873684  AMBARI-22536 - Remove Deprecated Non-Versioned LZO Packages from LZO Install (jonathanhurley)
     add 943aa71  AMBARI-22560. Remove obsolete hack to set KDC admin credentials via Cluster session API (Sandor Molnar via rlevas)
     add 88b59a6  AMBARI-22572. During cluster installation bower cannot resolve angularjs version (alexantonenko)
     add 158c94a  AMBARI-22556 - Reduce load from STS health check (Mingjie Tang via jonathanhurley)
     add 959ad90  AMBARI-22563. Packages Cannot Be Installed When Yum Transactions Fail (Dmytro Grinenko via ncole)
     add 47be7ed  AMBARI-22485 : Allow Ambari to support non-kerberos SASL mechanisms for Kafka - Addendum, fix incorrect config tag (ydavis via mradhakrishnan)
     add 5caac19  AMBARI-22445. Warn the user appropriately for default MySQL server install for Hive (Part 2) (vsubramanian)
     add 24c64b4  AMBARI-22578. hive2 queries fails after adding any service to the cluster. (jaimin via yusaku)
     add e77a31a  AMBARI-22353. Remove properties.json And Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
     add 2e9c964  AMBARI-22582 Clean up Configs page. (atkach)
     add 0afe0c0  AMBARI-22586 - Remove Beacon conf-select Changes Since It's Not Part of HDP (jonathanhurley)
     add c7cc560  AMBARI-22587. Storm service check failed during PU due to CNF StormAtlasHook (ncole)
     add ddcebe2  AMBARI-22585. Fix the wording on IPA integration requirements in the Enable Kerberos Wizard (rlevas)
     add 6613d45  Revert "AMBARI-22572. During cluster installation bower cannot resolve angularjs version (alexantonenko)"
     add 1c9aa9d  Revert "AMBARI-22566. Upgrade Angular for Ambari Admin View (alexantonenko)"
     add a7ac445  AMBARI-22566. Upgrade Angular for Ambari Admin View (alexantonenko)
     add 620543c  AMBARI-22590 - Messages for some services during PU package installation indicate circular dependency (jonathanhurley)
     add 86a99f2  AMBARI-22594. Livy server start fails during EU with 'Address already in use' error (dlysnichenko)
     add 0fe2f8f  AMBARI-22590 - Messages for some services during PU package installation indicate circular dependency (part2) (jonathanhurley)
     add 97ceed0  AMBARI-22591.MD interpreter fails with NPE (Zeppelin)(Prabhjyot Singh via Venkata Sairam)
     add 508eba0  AMBARI-22598 - Pig service check failed after PU with LzoCodec CNF (jonathanhurley)
     add e973986  AMBARI-22583. Ambari should not force accounts created in IPA to be added a user named 'ambari-managed-principals' (rlevas)
     add cfb2321  AMBARI-22597. Jetty Session Timeout Is Overridden By Views Initialization. (mpapirkovskyy)
     add 9f93a01  AMBARI-22583. Ambari should not force accounts created in IPA to be added a user named 'ambari-managed-principals' [amended] (rlevas)
     add 76c4fa1  Revert "AMBARI-22583. Ambari should not force accounts created in IPA to be added a user named 'ambari-managed-principals' [amended] (rlevas)"
     add 9b1fde3  Revert "AMBARI-22583. Ambari should not force accounts created in IPA to be added a user named 'ambari-managed-principals' (rlevas)"
     add 814f5b4  AMBARI-22583. Ambari should not force accounts created in IPA to be added a user named 'ambari-managed-principals' (rlevas)
     add 4203853  AMBARI-22492. A bad WebHDFS request is issued when starting Hive Metastore (amagyar)
     add 466379c  AMBARI-22606. Service actions for R4ML not loaded (akovalenko)
     add fcc92aa  AMBARI-22608. Update HBASE 2.0.0.3.0 with proper pid file name for Phoenix Query Server. (Sergey Soldatov via sshridhar).
     add 825b97c  AMBARI-22492. A bad WebHDFS request is issued when starting Hive Metastore addendum (amagyar)
     add 2460ea1  AMBARI-22611. Log Search IT: Expose the right port for Selenium in docker-compose file (oleewere)
     add a9c3bf5  AMBARI-22605. Tez service check hangs when adding service. (mpapirkovskyy)
     add 862b7d7  AMBARI-22610 Log Search UI: fixes for search box autocomplete. (ababiichuk)
     add f4d2739  AMBARI-22589 Ambari web UI stack version page is empty due to NPE when target stack does not contain all services from the current stack (dili)
     add 367dd17  AMBARI-22595. Livy2 keytabs are not getting configured automatically in zeppelin. (prabhjyotsingh via sshridhar).
     add 2b285da  AMBARI-22612 Log Search UI: Fixes for Top-Level Buttons. (Istvan Tobias via ababiichuk)
     add ed327bd  AMBARI-22609. Install wizard stacks on select version step (alexantonenko)
     add 348bdd6  AMBARI-22613 - Hive Queries Failing with Missing SnappyCodec Compression Type Due to Hive's Use of MapReduce Admin Env Property (jonathanhurley)
     add 1ed7c08  AMBARI-22616 noplugins switch should not be used for yum repos backed by RedHat Satellite/Spacewalk (dgrinenko)
     add ee50629  AMBARI-22617. Install Wizard Customize Services step has no vertical scroll (akovalenko)
     add b1fd131  AMBARI-22615 Log Search UI: improve histogram display. (Istvan Tobias via ababiichuk)
     add 45f2a6e  AMBARI-22624 Modify display of compare of config versions. (atkach)
     add 0967264  AMBARI-22622. NFSGateway start failing with error : "ERROR: You must be a privileged user in order to run a secure service." (aonishuk)
     add 4be18df  AMBARI-22624 Modify display of compare of config versions, second patch. (atkach)
     add 636a2a9  AMBARI-22539. Cannot add host with host_name in request body
     add 8e90d59  AMBARI-22626. Zeppelin Interpreter settings are getting updated after zeppelin restart. (Prabhjyot Singh via yusaku)
     add 8e23fa2  AMBARI-22636. UI Changes for Kerberos Wizard (alexantonenko)
     add a928a9c  AMBARI-22628 - YARN Shuffle Service Can't Be Found On Client-Only Nodes After New Cluster Install (jonathanhurley)
     add e46575a  AMBARI-22638. yarn.timeline-service property enabled overriding preset secure blueprint config for the same
     add a3d4c3d  AMBARI-22635. Ambari should create a dummy core-site.xml for Ranger plugins when namenode is not installed. (Vishal Suvagia via swagle)
     add 31e8e55  AMBARI-22639. Log Feeder refactor: integrate with spring boot (oleewere)
     add dc31e51  AMBARI-22651 Unable to add/change role for user. (atkach)
     add d95d3eb  AMBARI-22648: zeppelin server keytab missing from zeppelin-site.xml (Bikas Saha via jluniya)
     add f1f7302  AMBARI-22635: Addendum fix Ambari should create a dummy core-site.xml for Ranger plugins when namenode is not installed.
     add 3ab1045  AMBARI-22657 Oozie service check failed during 4th digit PU (dgrinenko)
     add 856d9a5  AMBARI-22659. unable to proceed with cluster install after component install fails. (mpapirkovskyy)
     add ab342d7  AMBARI-22661 Storm service check fails with StormAtlasHook CNF after cluster deploy (dgrinenko)
     add f9ad13d  AMBARI-22663 Log Search UI: incorrect caption for graph gap in weeks. (ababiichuk)
     add 562795c  AMBARI-22647. Rafactor: Package Log Search and Log Feeder into jars + cleanup start scripts (oleewere)
     add eab6722  AMBARI-22640 - HBase Cannot Find LZO Classes After Being Patched (jonathanhurley)
     add 1d87b21  AMBARI-22644 - Node Managers fail to start after Spark2 is patched due to CNF YarnShuffleService (jonathanhurley)
     add fded822  AMBARI-22655 - Livy/Livy2 Unable To Start Due to Address Already In Use (jonathanhurley)
     add 2817ad4  AMBARI-22522 - Livy server fails to start during downgrade due to absence of 'conf' directory  (Dmitro Lisnichenko via jonathanhurley)
     add 5c95c4a  AMBARI-22665 - Livy2 Does Not Start On HDP 2.6.0 to 2.6.3 (jonathanhurley)
     add afe469c  AMBARI-22647. ADDENDUM -Rafactor: Package Log Search and Log Feeder into jars + cleanup start scripts (oleewere)
     add be0e87b  AMBARI-22571. Handle passwords/sensitive data in Ambari configuration properties (Sandor Molnar via rlevas)
     add 90554f3  Updating Ambari docs for Ambari 2.6.1 and Ambari 2.6.0
     add 30d89a3  AMBARI-22670 Ambari 3.0: Implement new design for Admin View: Integrate visual-search box. (atkach)
     add 9bb0980  AMBARI-22672. Error on add version view in web admin (alexantonenko)
     add f3dc1ca  AMBARI-22675 LogSearch Title Bar Fixes. (Istvan Tobias via ababiichuk)
     add 4e731d3  AMBARI-22677. Don't call pprint.pformat unnecessarily in Ambari agent (amagyar)
     add 9ea3fa1  AMBARI-22677. Addendum - Don't call pprint.pformat unnecessarily in Ambari agent (amagyar)
     add 81c0454  AMBARI-22682 Ambari 3.0 Admin View: Add visual-search box to all pages. (atkach)
     add 67fc4a3  AMBARI-22530. Refactor internal code of handling info between kerberos wizard actions (echekanskiy)
     add 26bcc97  AMBARI-22681 Ambari web UI failed to update stack repo directly from the Versions tab (dili)
     add 6a37985  AMBARI-22306. Set VersionAdvertised as false for superset in tech-preview (nishantmonu51)
     add a15fc7f  AMBARI-22680 Ambari web UI does not fail an invalid repo base URL during cluster installation (dili)
     add 36d0271  AMBARI-22514, AMBARI-22653. Ambari Infra Manager: solr data exporting jobs and integration test environment. (Krisztian Kasa via swagle)
     add e404100  AMBARI-22686. Disabled stack still appears in the UI if VDF is available. (swagle)
     add 98356b3  AMBARI-22676. [Patch Hive]webhcat: test_sqoop fails with hdfs:///hdp/apps/2.6.*/sqoop/sqoop.tar.gz does not exist (ncole)
     add 8ea7b19  AMBARI-22691 JS error on Version edit page in Admin View. (atkach)
     add 32092da  AMBARI-22685 Stack OS/repos removed from cluster installation UI showed up on the Versions tab after cluster is installed (dili)
     add 55f095a  AMBARI-22679. RU: Service action failed with NullPointer on Downgrade after RU (dgrinenko via dlysnichenko)
     add 4a68e4e  AMBARI-22687. Bulk host delete and component add & delete scenarios. (ishanbha)
     add d74134c  AMBARI-22694. For mixed OS deploy, some pig tests failed with MR job failing with 'IOException: Unable to get CompressorType for codec (org.apache.hadoop.io.compress.SnappyCodec)' (ncole)
     add f7ffdcb  Point to the archive URL for older releases. (yusaku)
     add f6ee120  AMBARI-22679. RU: Service action failed with NullPointer on Downgrade after RU -- fix imports (Dmytro Grinenko via adoroszlai)
     add cfed3fb  AMBARI-22679. RU: Service action failed with NullPointer on Downgrade after RU -- checkstyle fix (Dmytro Grinenko via adoroszlai)
     add 9c7f1b7  AMBARI-22669 Ranger stack script changes to fix missing directory failure for blueprint installation (mugdha)
     add e04b57b  AMBARI-22692 JS error when switching focus of filters in combo search. (atkach)
     add 415875b  AMBARI-22276 Ambari trunk builds failing in TestAmbariServer (additional patch) (dsen)
     add 935ea92  AMBARI-22653. ADDENDUM Infra Manager: s3 upload support for archiving Infra Solr (Krisztian Kasa via oleewere)
     add 0288728  AMBARI-22700 Post-install: UI style fixes. (atkach)
     add c1b8cda  AMBARI-22506.Incorrect pie chart distribution(Venkata Sairam)
     add 6db30d8  AMBARI-22710 Post-install: Create Widget wizard style fixes. (atkach)
     add e0b085a  AMBARI-22689. Restart agent command sent by server (Xianghao Lu via adoroszlai)
     add 69bc10d  AMBARI-22712. Update install Wizard layout (akovalenko)
     add 1c602b0  revert "AMBARI-22712. Update install Wizard layout" (akovalenko)
     add aa5b0fe  AMBARI-22714 Log Search UI: implement Summary tab for Access Logs page. (ababiichuk)
     add a95759d  AMBARI-22690 Registering existing hdp version failed with sql exception (dgrinenko)
     add c813e05  AMBARI-22712. Update install Wizard layout (akovalenko)
     add a85ff23  AMBARI-22702. Infra Manager: scheduled deleting of Infra Solr documents (Krisztian Kasa via oleewere )
     add 13056cf  AMBARI-22718. Cannot set security.inter.broker.protocol: SASL_SSL via Blueprint with Kerberos
     add e2be62d  AMBARI-22719. Regenerate Keytabs resets security.inter.broker.protocol to PLAINTEXTSASL
     add 217620b  AMBARI-21559. Alert definition paths should be updated on upgrade
     add c088e59  AMBARI-22699. Update FE to initiate regenerate keytab file operations for a service and a host (alexantonenko)
     add dfb9785  AMBARI-22723. Ambari Upgrade failed in case if database have no cluster_version table already. The issue with idempotence (dlysnichenko)
     add 72812bd  AMBARI-22678. Fix Broken Symlinks on Stack Distribution (dlysnichenko)
     add d6f26fb  AMBARI-22419 Ambari upgrade failed (dgrinenko)
     add e13bfb9  AMBARI-22732 Make Select Metric dropdown in Create Widget wizard wider. (atkach)
     add cd5c1ca  AMBARI-22724. Idempotent issue on Ambari Upgrade, renameServiceDeletedColumn failed with column already exists exception.(vbrodetskyi)
     add 2b9a34b  AMBARI-22736 Filter of Config Versions should be case insensitive. (atkach)
     add 011e448  AMBARI-22741 Log Search UI: implement graph for access logs. (ababiichuk)
     add 1ca8f99  AMBARI-22731. Infra Manager - hdfs upload support for archiving Infra Solr
     add 30f3a04  Merge pull request #75 from kasakrisz/solr-data-to-hdfs
     add 579cec8  AMBARI-22749. Create Pull Request Template
     add 1bb2355  Added inline style link
     add 4936124  Merge pull request #70 from vivekratnavel/AMBARI-22749-trunk
     add df9a638  AMBARI-22121. Create mpack for Isilon OneFS (amagyar)
     add f1758bc  AMBARI-22115. Alerts for OneFS mpack (amagyar)
     add 64bc95c  AMBARI-22236. Expression parser support for JMXServerSide alerts (amagyar)
     add b577153  AMBARI-22115. Alerts for OneFS mpack (amagyar)
     add 8fbaf8d  AMBARI-22319. Allow the same config type to belong to multiple services (amagyar)
     add 0b69fef  AMBARI-22339. Metrics for OneFS mpack (amagyar)
     add 3c90642  AMBARI-22424. Quicklinks for OneFS (amagyar)
     add e1c9e86  AMBARI-22449. Improved service/component dependency support (amagyar)
     add 145ebc0  AMBARI-22449. Improved service/component dependency support (amagyar)
     add cbfcbd6  AMBARI-22507. Ambari UI changes to support Isilon OneFS (amagyar)
     add f55b569  AMBARI-22634. Kerberos support for OneFS (amagyar)
     add 89f3bba  AMBARI-22674. ServiceAdvisor for OneFS (amagyar)
     add ebf3630  AMBARI-22449. Improved service/component dependency support (amagyar)
     add 97bd0d8  AMBARI-22121. Create mpack for Isilon OneFS (amagyar)
     add 859d050  AMBARI-22339. Metrics for OneFS mpack (amagyar)
     add db0a15a  AMBARI-22756 Post-install: Reduce navigation width in wizard. (atkach)
     add a94ca6b  Merge pull request #80 from atkach/AMBARI-22756-trunk
     add d7463e6  AMBARI-22236. Addendum - Expression parser support for JMXServerSide alerts (amagyar)
     add 635ee1d  AMBARI-22750. Add custom input / mapper descriptor to config api
     add 0aaf8c8  AMBARI-22667: Use internal LDAP configuration values rather than ambari.properties values when accessing the configured LDAP server for LDAP sync and authentication
     add 0341a36  Merge pull request #77 from smolnar82/AMBARI-22667
     add 5a370c9  AMBARI-22757 Log Search UI: implement query manipulation from resources diagram. (ababiichuk)
     add e078138  Merge pull request #81 from aBabiichuk/AMBARI-22757-trunk
     add 1eead54  [AMBARI-22749] ADDENDUM: Create Pull Request Template - fix rat check (#82)
     add 724637c  AMBARI-22760 Infra Manager: install packages
     add e5bd153  Merge pull request #85 from kasakrisz/infra-manager-stack-code
     add 417547a  [AMBARI-22764] NN HA wizard is broken due to recent commit for config compare
     add 6aeb7f4  Merge pull request #87 from atkach/AMBARI-22764-trunk
     add 4082549  AMBARI-22766 ambari-server setup with internal database may not work on centos 7 (dgrinenko)
     add 8e59a86  AMBARI-22768. Update Welcome page style (akovalenko)
     add fa403a6  AMBARI-22772. Log Search / Log Feeder - config symlink cannot be created if etc/ambari-logsearch* folders do not exist
     add b8cfbc4  AMBARI-22771. Ambari loads ambari.properties using ISO 8859-1 encoding (adoroszlai)
     add c1320ab  [AMBARI-22770] Bring jenkins job build script under version control (#98)
     add 0ee7e07  Fix trivial typos
     add 47c78e9  Merge pull request #63 from kinow/patch-2
     add 008a3c1  AMBARI-22637. Fix misuses of os.path.dirname(path) in yarn.py
     add 0e32150  AMBARI-22771. Fix broken unit test
     add 9862707  AMBARI-22783 Login page lost Ambari branding. (atkach)
     add b2a61ec  AMBARI-22668. Moving LDAP related properties to DB upon upgrade to 3.0.0
     add 0c61412  AMBARI-22668: implemented changes requested by reviewers
     add 1e5d726  AMBARI-22668: implemented changes requested by rlevas
     add 23e51fa  Merge pull request #106 from smolnar82/AMBARI-22668
     add 7be21c9  AMBARI-22779. Cannot scale cluster if Ambari Server restarted since blueprint cluster creation
     add 79704f5  AMBARI-22789. Fix Log Search / Log Feeder / Infra Manager start scripts
     add 2dbb455  AMBARI-22787 - Add new Ambari Infra Manager component to Ambari infra stack
     add b8c0393  Merge pull request #124 from kasakrisz/infra-manager-stack-code
     add 7235069  AMBARI-22667: fix commons-io version
     add 47c8d29  AMBARI-22767. Kerberos wizard. Advanced kerberos-env password properties should be visible only if the KDC type is 'Active Directory' (alexantonenko)
     add 199e866  Merge pull request #92 from hiveww/AMBARI-22767-trunk
     add 4653253  AMBARI-22793. Notification popover layout issues
     add 9804cb2  Merge pull request #127 from hiveww/AMBARI-22793-trunk
     add a2a45aa  AMBARI-22794 Opacity decreased and the shadow has been added to the sticky filter bar.
     add 90b1438  AMBARI-22785: added force_tcp option to KRB5 configuration template so that customers can choose TCP over UDP when communicating with Kerberos
     add ad9bcb6  Merge pull request #129 from smolnar82/AMBARI-22785
     add 90b7c14  AMBARI-22726. Fix dependent tests in BlueprintImplTest (#133)
     add 1a6548a  AMBARI-22792. Refactor agent-side kerberos code (echekanskiy)
     add 7460ceb  AMBARI-20907. Create Database Schema for Improved User Account Management (rlevas)
     add 103dfff  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add ebe3939  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add eaa2e0f  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add f09670d  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 5b9454e  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add d7bc588  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add f76c87a  AMBARI-21147. Update Database Access Layer to Support New Database Schema for Improved User Account Management (rlevas)
     add f5ca114  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 8f03fd0  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add b533387  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add ac5008d  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add f760516  AMBARI-21216. Add support for consecutive login failure accounting (rlevas)
     add fd32200  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 12ae259  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 0945f28  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 9951e8f  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add e5c1b24  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 07e50d8  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add d57bab5  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add ca8e9ee  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 7097109  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 7a0850b  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 3adbbad  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 903cd1a  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 317905e  AMBARI-20861. BE: Extend Ambari REST API to Support User Account Management Improvements (rlevas)
     add 3cefb74  AMBARI-21680. Prevent users from authenticating if they exceed a configured number of login failures (amagyar)
     add 17243c6  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add f36413f  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 45ca79b  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 9eb26a0  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add e1699b0  AMBARI-21220. Update Local Authentication process to work with improved user management facility (rlevas)
     add 77d4057  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 7bb4de1  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 553e4f9  AMBARI-21217. Update JWT Authentication process to work with improved user management facility (rlevas)
     add 06676d6  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add d57ebbc  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add d6b271e  AMBARI-21221.  Update Pam Authentication process to work with improved user management facility (rlevas)
     add 698465d  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 160a6ec  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add ceead22  AMBARI-21223. Update Kerberos Authentication process to work with improved user management facility (rlevas)
     add d173011   Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 167b482   Merge branch 'trunk' into branch-feature-AMBARI-20859
     add deb1800  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add d459d13  AMBARI-21222. Update LDAP sync process to work with improved user management facility. (rlevas)
     add 44ed90e  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add b6cf432  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add de4deaf   Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 637c521  AMBARI-21219. Update LDAP Authentication process to work with improved user management facility (rlevas)
     add 3c129fc  AMBARI-22585. Fix the wording on IPA integration requirements in the Enable Kerberos Wizard (rlevas)
     add a8a7c1d  Revert "AMBARI-22572. During cluster installation bower cannot resolve angularjs version (alexantonenko)"
     add c2e5d09  Revert "AMBARI-22566. Upgrade Angular for Ambari Admin View (alexantonenko)"
     add 6484948  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 4f75ece  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 364e39e  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 068b2fe  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 15d8d1a  AMBARI-22628 - YARN Shuffle Service Can't Be Found On Client-Only Nodes After New Cluster Install (jonathanhurley)
     add da6a201  AMBARI-22638. yarn.timeline-service property enabled overriding preset secure blueprint config for the same
     add e99867a  AMBARI-22635. Ambari should create a dummy core-site.xml for Ranger plugins when namenode is not installed. (Vishal Suvagia via swagle)
     add 4a668f0  AMBARI-22639. Log Feeder refactor: integrate with spring boot (oleewere)
     add ada1ea5  AMBARI-22651 Unable to add/change role for user. (atkach)
     add 67b0642  AMBARI-22648: zeppelin server keytab missing from zeppelin-site.xml (Bikas Saha via jluniya)
     add 35247b1  AMBARI-22635: Addendum fix Ambari should create a dummy core-site.xml for Ranger plugins when namenode is not installed.
     add bb21844  AMBARI-22657 Oozie service check failed during 4th digit PU (dgrinenko)
     add 72035ef  AMBARI-22659. unable to proceed with cluster install after component install fails. (mpapirkovskyy)
     add d5120aa  AMBARI-22661 Storm service check fails with StormAtlasHook CNF after cluster deploy (dgrinenko)
     add 2244d97  AMBARI-22663 Log Search UI: incorrect caption for graph gap in weeks. (ababiichuk)
     add 26a33e5  AMBARI-22647. Rafactor: Package Log Search and Log Feeder into jars + cleanup start scripts (oleewere)
     add 1071136  AMBARI-22640 - HBase Cannot Find LZO Classes After Being Patched (jonathanhurley)
     add 7749e65  AMBARI-22644 - Node Managers fail to start after Spark2 is patched due to CNF YarnShuffleService (jonathanhurley)
     add f4e1a2b  AMBARI-22655 - Livy/Livy2 Unable To Start Due to Address Already In Use (jonathanhurley)
     add 9e9f68f  AMBARI-22522 - Livy server fails to start during downgrade due to absence of 'conf' directory  (Dmitro Lisnichenko via jonathanhurley)
     add df19a69  AMBARI-22665 - Livy2 Does Not Start On HDP 2.6.0 to 2.6.3 (jonathanhurley)
     add 85ef611  AMBARI-22647. ADDENDUM -Rafactor: Package Log Search and Log Feeder into jars + cleanup start scripts (oleewere)
     add 297e5b9  AMBARI-22571. Handle passwords/sensitive data in Ambari configuration properties (Sandor Molnar via rlevas)
     add b171ae3  Updating Ambari docs for Ambari 2.6.1 and Ambari 2.6.0
     add 72657b6  AMBARI-22670 Ambari 3.0: Implement new design for Admin View: Integrate visual-search box. (atkach)
     add e077bd2  AMBARI-22672. Error on add version view in web admin (alexantonenko)
     add b74b05c  AMBARI-22675 LogSearch Title Bar Fixes. (Istvan Tobias via ababiichuk)
     add 7ff4a96  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 0eddba5  Merge remote-tracking branch 'apache/trunk' into branch-feature-AMBARI-20859
     add 14e8c22  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add bf2f09e  Merge pull request #83 from rlevas/branch-feature-AMBARI-20859
     add 4169f4d  Merge remote-tracking branch 'origin/trunk' into branch-feature-AMBARI-20859
     add 6714768  Merge pull request #110 from rlevas/branch-feature-AMBARI-20859
     add 05200de  Merge pull request #2 from apache/trunk
     add 84434f9  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 6737bba  Merge pull request #111 from rlevas/branch-feature-AMBARI-20859
     add 2c9fd2d  Merge remote-tracking branch 'upstream/trunk' into trunk
     add f6d569b  Merge branch 'trunk' into branch-feature-AMBARI-20859
     add 473df03  Merge pull request #120 from rlevas/branch-feature-AMBARI-20859
     add 6f4063b  Merge remote-tracking branch 'upstream/trunk' into branch-feature-AMBARI-20859
     add 5582d29  Merge remote-tracking branch 'upstream/trunk' into branch-feature-AMBARI-20859
     add 9d33096  Merge pull request #135 from rlevas/branch-feature-AMBARI-20859
     add 5ba3cd3  AMBARI-22577. Migrate user data for upgrade to improved user account management
     add 6ecbcbe  Merge pull request #136 from rlevas/AMBARI-22577
     add 1eca676  Merge pull request #147 from apache/branch-feature-AMBARI-20859
     add cd5fdaa  AMBARI-22812. Fix checkstyle error in UpgradeCatalog300Test (#148)
     add 74389dd  AMBARI-22792. Refactor agent-side kerberos code - import fix (echekanskiy)
     add 7e0eaa0  Merge pull request #144 from echekanskiy/AMBARI-22792-trunk-import-fix
     add b0b6106  AMBARI-22795 LogSearch Fixes for LogList Display. (Istvan Tobias via ababiichuk)
     add 8c870c3  AMBARI-22808 Ambari-Web: Fix randomly failing unit tests
     add 881b464  AMBARI-22788 Unsightly artifacts during Login. (atkach)
     add 76d9a32  [AMBARI-22725]  Expose Conditional Elements For Tasks on Upgrade
     add 5cd72ce  Merge pull request #151 from jonathan-hurley/AMBARI-22725-trunk-cherry-pick
     add b434663  AMBARI-22697. Throw exception when keytab creation fails due to wrong configuration of key encryption types
     add cdf3f62  [AMBARI-22798] Role authorization AMBARI.MANAGE_CONFIGURATION is not added to AMBARI.ADMINISTRATOR role during Ambari upgrade
     add a3f26e5  AMBARI-22818. Log Feeder: refactor - create plugin api
     add d54d340  [AMBARI-22820] Fix KerberosOperationHandlerTests due to changes from AMBARI-22697
     add f837a6c  AMBARI-22805. Blueprints do not handle some failures properly
     add c70de92  AMBARI-22716: zeppelin.livy.url is not getting updated after moving livy to a new host (prabhjyotsingh)
     add bf1e2ca  Merge pull request #161 from prabhjyotsingh/AMBARI-22716
     add e1ff339  AMBARI-22698: Custom zeppelin interpreter properties are getting removed after moving zeppelin to a different host (prabhjyotsingh)
     add a027d91  Merge pull request #162 from prabhjyotsingh/AMBARI-22698
     add 505dd21  AMBARI-22806.Unable to delete files from HDFS using Ambari File View when Ambari Views is accessed via Knox(Venkata Sairam)
     add 980bf24  Merge pull request #139 from venkatasairamlanka/AMBARI-22806-trunk
     add b275722  AMBARI-22696 Whitelist execute latency from Storm Ambari metrics
     add b0f03b2  AMBARI-22809. Tez shown in red in the left nav for no apparent reason (alexantonenko)
     add 367b7cb  Merge pull request #142 from hiveww/AMBARI-22809-trunk
     add a73d58b  AMBARI-22807. Admin View: Add/Delete Group succeeds, but the group table does not refresh automatically. (alexantonenko)
     add eed3a36  Merge pull request #140 from hiveww/AMBARI-22807-trunk
     add 5627a3f  AMBARI-22796. Widget menu goes out of bounds (alexantonenko)
     add 347f6fe  AMBARI-22796. Widget menu goes out of bounds. review (alexantonenko)
     add 2de9543  Merge pull request #130 from hiveww/AMBARI-22796-trunk
     new d2aee2e  Merge branch 'trunk' into branch-feature-AMBARI-14714
     new 687f54e  Fix compilation issues after trunk merge (mradhakrishnan)

The 2 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:
 .github/PULL_REQUEST_TEMPLATE.md                   |    10 +
 .../src/main/resources/ui/admin-web/app/index.html |     9 +-
 .../main/resources/ui/admin-web/app/scripts/app.js |     2 +-
 .../app/scripts/controllers/SideNavCtrl.js         |     6 +-
 .../controllers/ambariViews/ViewsListCtrl.js       |   220 +-
 .../remoteClusters/RemoteClustersListCtrl.js       |   110 +-
 .../stackVersions/StackVersionsCreateCtrl.js       |    28 +-
 .../stackVersions/StackVersionsEditCtrl.js         |     4 +-
 .../stackVersions/StackVersionsListCtrl.js         |   192 +-
 .../controllers/userManagement/GroupsListCtrl.js   |    92 +-
 .../controllers/userManagement/UsersListCtrl.js    |   132 +-
 .../app/scripts/directives/comboSearch.js          |   501 +
 .../ui/admin-web/app/scripts/services/Cluster.js   |     3 +-
 .../ui/admin-web/app/scripts/services/Filters.js   |    84 +
 .../ui/admin-web/app/scripts/services/Group.js     |    11 +-
 .../admin-web/app/scripts/services/Pagination.js   |    59 +
 .../app/scripts/services/RemoteCluster.js          |    10 +-
 .../ui/admin-web/app/scripts/services/Stack.js     |    34 +-
 .../ui/admin-web/app/scripts/services/User.js      |    22 +-
 .../admin-web/app/styles/cluster-information.css   |    29 +-
 .../ui/admin-web/app/styles/combo-search.css       |   164 +
 .../resources/ui/admin-web/app/styles/main.css     |    45 +
 .../ui/admin-web/app/styles/user-management.css    |     4 +
 .../ui/admin-web/app/views/ambariViews/edit.html   |     8 +-
 .../admin-web/app/views/ambariViews/viewsList.html |    52 +-
 .../app/views/clusters/clusterInformation.html     |     8 +-
 .../app/views/directives/comboSearch.html          |    63 +
 .../app/views/directives/editableList.html         |     2 +-
 .../app/views/modals/AddRepositoryModal.html       |     2 +-
 .../app/views/modals/RoleDetailsModal.html         |     2 +-
 .../admin-web/app/views/remoteClusters/list.html   |    37 +-
 .../ui/admin-web/app/views/stackVersions/list.html |    40 +-
 .../app/views/stackVersions/stackVersionPage.html  |     4 +-
 .../app/views/userManagement/groupEdit.html        |    14 +-
 .../app/views/userManagement/groupsList.html       |    55 +-
 .../userManagement/modals/changePassword.html      |     2 +-
 .../views/userManagement/modals/groupCreate.html   |     2 +-
 .../views/userManagement/modals/userCreate.html    |     3 +-
 .../app/views/userManagement/userEdit.html         |    18 +-
 .../app/views/userManagement/usersList.html        |    65 +-
 .../src/main/resources/ui/admin-web/package.json   |     4 +-
 .../controllers/ambariViews/ViewsListCtrl_test.js  |   111 +
 .../userManagement/GroupsListCtrl_test.js          |   100 +-
 .../userManagement/UsersListCtrl_test.js           |   306 -
 .../test/unit/directives/comboSearch_test.js       |   362 +
 .../admin-web/test/unit/services/Filters_test.js   |   161 +
 .../test/unit/services/Pagination_test.js          |    72 +
 .../src/main/python/ambari_agent/ActionQueue.py    |    21 +-
 .../main/python/ambari_agent/CommandStatusDict.py  |     2 +-
 .../src/main/python/ambari_agent/Controller.py     |    25 +-
 .../ambari_agent/CustomServiceOrchestrator.py      |     4 +-
 .../src/main/python/ambari_agent/DataCleaner.py    |     4 +-
 .../src/main/python/ambari_agent/Heartbeat.py      |    17 +-
 .../src/main/python/ambari_agent/LiveStatus.py     |     3 +-
 .../src/main/python/ambari_agent/PythonExecutor.py |    15 +-
 .../ambari_agent/PythonReflectiveExecutor.py       |     3 +-
 .../main/python/ambari_agent/RecoveryManager.py    |    17 +-
 .../python/ambari_agent/StatusCommandsExecutor.py  |     3 +-
 .../main/python/ambari_agent/alerts/ams_alert.py   |    12 +-
 .../main/python/ambari_agent/alerts/base_alert.py  |    47 +-
 .../python/ambari_agent/alerts/metric_alert.py     |     6 +-
 .../main/python/ambari_agent/alerts/port_alert.py  |     4 +-
 .../main/python/ambari_agent/alerts/web_alert.py   |     6 +-
 .../src/main/python/ambari_agent/security.py       |     8 +-
 .../src/test/python/ambari_agent/TestController.py |     8 +-
 .../ambari_agent/examples/ControllerTester.py      |     6 +-
 .../src/main/python/ambari_commons/inet_utils.py   |    46 +
 .../python/ambari_commons/kerberos/__init__.py     |    19 +
 .../ambari_commons/kerberos/kerberos_common.py     |   168 +
 .../main/python/ambari_commons/kerberos/utils.py   |   109 +
 .../src/main/python/ambari_commons/os_check.py     |     2 +
 .../core/providers/package/__init__.py             |    15 +
 .../core/providers/package/yumrpm.py               |   121 +-
 .../libraries/functions/conf_select.py             |     7 +
 .../libraries/functions/constants.py               |    11 +-
 .../libraries/functions/lzo_utils.py               |     6 +-
 .../libraries/functions/setup_atlas_hook.py        |    11 +-
 .../libraries/functions/setup_ranger_plugin_xml.py |    14 +-
 .../libraries/providers/hdfs_resource.py           |     2 +
 ambari-infra/ambari-infra-assembly/pom.xml         |    43 +-
 .../src/main/package/deb/manager/postinst          |     9 +-
 .../src/main/package/deb/manager/postrm            |     8 +
 .../src/main/package/rpm/manager/postinstall.sh    |    11 +-
 .../src/main/package/rpm/manager/postremove.sh     |    23 +
 ambari-infra/ambari-infra-manager-it/pom.xml       |   167 +
 .../java/org/apache/ambari/infra/InfraClient.java  |   114 +
 .../apache/ambari/infra/InfraManagerStories.java   |   108 +
 .../ambari/infra/OffsetDateTimeConverter.java      |    39 +
 .../ambari/infra/steps/AbstractInfraSteps.java     |   256 +
 .../apache/ambari/infra/steps/ExportJobsSteps.java |   199 +
 .../src/test/resources/log4j.properties            |     0
 .../test/resources/stories/infra_api_tests.story   |    57 +
 ambari-infra/ambari-infra-manager/.gitignore       |     5 +-
 ambari-infra/ambari-infra-manager/build.xml        |    11 +-
 .../ambari-infra-manager/docker/Dockerfile         |     6 +-
 .../ambari-infra-manager/docker/bin/start.sh       |     2 +-
 .../ambari-infra-manager/docker/docker-compose.yml |   102 +
 .../docker/infra-manager-docker-compose.sh         |   124 +
 ambari-infra/ambari-infra-manager/pom.xml          |    44 +-
 .../java/org/apache/ambari/infra/InfraManager.java |     2 +-
 .../apache/ambari/infra/job/CloseableIterator.java |    24 +
 .../org/apache/ambari/infra/job/JobProperties.java |    47 +
 .../apache/ambari/infra/job/JobPropertyMap.java    |    57 +
 .../org/apache/ambari/infra/job/ObjectSource.java  |    23 +
 .../org/apache/ambari/infra/job/PropertyMap.java   |    25 +
 .../org/apache/ambari/infra/job/SolrDAOBase.java   |    65 +
 .../infra/job/archive/AbstractFileAction.java      |    38 +
 .../infra/job/archive/CompositeFileAction.java     |     3 +-
 .../apache/ambari/infra/job/archive/Document.java  |     3 +-
 .../archive/DocumentArchivingConfiguration.java    |   176 +
 .../job/archive/DocumentArchivingProperties.java   |   264 +
 .../job/archive/DocumentArchivingPropertyMap.java  |    44 +
 .../job/archive/DocumentExportConfiguration.java   |   118 -
 .../job/archive/DocumentExportJobListener.java     |    35 -
 .../job/archive/DocumentExportProperties.java      |   112 -
 .../job/archive/DocumentExportStepListener.java    |    47 -
 .../infra/job/archive/DocumentItemReader.java      |     8 +-
 .../ambari/infra/job/archive/DocumentIterator.java |    25 -
 .../ambari/infra/job/archive/DocumentSource.java   |    24 -
 .../ambari/infra/job/archive/DocumentWiper.java    |    23 +
 .../infra/job/archive/ExportDestination.java       |    25 +
 .../infra/job/archive/FileNameSuffixFormatter.java |    63 +
 .../ambari/infra/job/archive/HdfsUploader.java     |    55 +
 .../infra/job/archive/ItemWriterListener.java      |    23 +
 .../infra/job/archive/LocalDocumentItemWriter.java |    23 +-
 .../infra/job/archive/LocalItemWriterListener.java |    36 +
 .../ambari/infra/job/archive/S3Properties.java     |    64 +-
 .../ambari/infra/job/archive/S3Uploader.java       |    25 +-
 .../apache/ambari/infra/job/archive/SolrDAO.java   |    68 +
 .../infra/job/archive/SolrDocumentIterator.java    |     6 +-
 .../infra/job/archive/SolrDocumentSource.java      |    57 +-
 .../infra/job/archive/SolrParametrizedString.java  |    77 +
 .../ambari/infra/job/archive/SolrProperties.java   |   117 +
 .../ambari/infra/job/archive/SolrQueryBuilder.java |    59 +-
 .../infra/job/archive/SolrQueryProperties.java     |    40 +-
 .../ambari/infra/job/archive/TarGzCompressor.java  |     4 +-
 .../infra/job/archive/WriteCompletedEvent.java     |    45 +
 .../deleting/DocumentDeletingConfiguration.java    |    93 +
 .../job/deleting/DocumentDeletingProperties.java   |    77 +
 .../job/deleting/DocumentDeletingPropertyMap.java  |    44 +
 .../infra/job/deleting/DocumentWiperTasklet.java   |    49 +
 .../infra/model/JobExecutionRestartRequest.java    |    10 +
 .../src/main/resources/infra-manager-env.sh        |    24 +-
 .../src/main/resources/infra-manager.properties    |    58 +-
 .../src/main/resources/infraManager.sh             |   258 +-
 .../apache/ambari/infra/job/JobPropertiesTest.java |    56 +
 .../infra/job/archive/DocumentItemReaderTest.java  |     8 +-
 .../job/archive/FileNameSuffixFormatterTest.java   |    58 +
 .../job/archive/LocalDocumentItemWriterTest.java   |    27 +-
 .../job/archive/SolrParametrizedStringTest.java    |    57 +
 .../infra/job/archive/SolrPropertiesTest.java      |    54 +
 .../infra/job/archive/SolrQueryBuilderTest.java    |    55 +-
 .../infra/job/archive/SolrQueryPropertiesTest.java |    54 +
 .../vagrant-infra-manager.properties.sample        |    37 +
 ambari-infra/pom.xml                               |     6 +-
 ambari-logsearch/ambari-logsearch-assembly/pom.xml |   117 +-
 .../src/main/package/deb/logfeeder/postinst        |    22 +
 .../src/main/package/deb/logfeeder/postrm          |     6 +
 .../src/main/package/deb/logfeeder/posttrm         |    15 -
 .../src/main/package/deb/logfeeder/preinst         |    13 +
 .../src/main/package/deb/portal/postinst           |    19 +
 .../src/main/package/deb/portal/postrm             |     6 +
 .../src/main/package/deb/portal/preinst            |    13 +
 .../src/main/package/rpm/logfeeder/postinstall.sh  |    40 +
 .../src/main/package/rpm/logfeeder/postremove.sh   |    23 +
 .../main/package/rpm/logfeeder/postremove.sh~HEAD  |    21 +
 .../main/package/rpm/logfeeder/postremove.sh~trunk |    21 +
 .../src/main/package/rpm/logfeeder/preinstall.sh   |    28 +
 .../src/main/package/rpm/portal/postinstall.sh     |    37 +
 .../src/main/package/rpm/portal/postremove.sh      |    23 +
 .../src/main/package/rpm/portal/postremove.sh~HEAD |    21 +
 .../main/package/rpm/portal/postremove.sh~trunk    |    21 +
 .../src/main/package/rpm/portal/preinstall.sh      |    28 +
 .../config/api/LogSearchConfigFactory.java         |    49 +-
 .../config/api/LogSearchConfigLogFeeder.java       |     3 +-
 .../api/model/inputconfig/CustomDescriptor.java    |    31 +
 .../model/inputconfig/InputCustomDescriptor.java   |    22 +
 .../api/model/inputconfig/MapCustomDescriptor.java |    22 +
 .../model/inputconfig/impl/InputAdapter.java       |     4 +-
 .../impl/InputCustomDescriptorImpl.java            |    71 +
 .../inputconfig/impl/InputDescriptorImpl.java      |     2 +
 .../inputconfig/impl/MapCustomDescriptorImpl.java  |    81 +
 .../inputconfig/impl/PostMapValuesAdapter.java     |    12 +-
 .../ambari-logsearch-logfeeder-plugin-api/pom.xml  |    76 +
 .../ambari/logfeeder/plugin/common/AliasUtil.java  |   129 +
 .../ambari/logfeeder/plugin/common/ConfigItem.java |   191 +
 .../plugin/common/LogFeederProperties.java         |    32 +
 .../ambari/logfeeder/plugin/common/MetricData.java |    37 +
 .../ambari/logfeeder/plugin/filter/Filter.java     |   187 +
 .../logfeeder/plugin/filter/mapper/Mapper.java     |    74 +
 .../ambari/logfeeder/plugin/input/Input.java       |   340 +
 .../ambari/logfeeder/plugin/input/InputMarker.java |    29 +
 .../logfeeder/plugin/input/cache/LRUCache.java     |    99 +
 .../logfeeder/plugin/manager/BlockManager.java     |    35 +
 .../logfeeder/plugin/manager/InputManager.java     |    46 +
 .../logfeeder/plugin/manager/OutputManager.java    |    43 +
 .../ambari/logfeeder/plugin/output/Output.java     |   132 +
 .../ambari-logsearch-logfeeder/.gitignore          |     1 +
 .../ambari-logsearch-logfeeder/README.md           |     4 +-
 .../ambari-logsearch-logfeeder/build.properties    |    18 -
 .../ambari-logsearch-logfeeder/build.xml           |    28 +-
 .../ambari-logsearch-logfeeder/pom.xml             |    79 +-
 ambari-logsearch/ambari-logsearch-logfeeder/run.sh |     4 +-
 .../org/apache/ambari/logfeeder/LogFeeder.java     |   180 +-
 .../ambari/logfeeder/LogFeederCommandLine.java     |    81 +-
 .../ambari/logfeeder/common/ConfigBlock.java       |   153 -
 .../ambari/logfeeder/common/ConfigHandler.java     |   161 +-
 .../apache/ambari/logfeeder/common/ConfigItem.java |    97 -
 .../logfeeder/common/LogEntryParseTester.java      |    54 +-
 .../logfeeder/common/LogFeederConstants.java       |    50 +
 .../ambari/logfeeder/conf/ApplicationConfig.java   |   110 +
 .../ambari/logfeeder/conf/InputSimulateConfig.java |   154 +
 .../ambari/logfeeder/conf/LogEntryCacheConfig.java |   118 +
 .../ambari/logfeeder/conf/LogFeederProps.java      |   227 +
 .../logfeeder/conf/LogFeederSecurityConfig.java    |   191 +
 .../logfeeder/conf/MetricsCollectorConfig.java     |   113 +
 .../org/apache/ambari/logfeeder/filter/Filter.java |   188 -
 .../apache/ambari/logfeeder/filter/FilterGrok.java |    53 +-
 .../apache/ambari/logfeeder/filter/FilterJSON.java |    24 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java    |    41 +-
 .../ambari/logfeeder/input/AbstractInputFile.java  |   326 -
 .../org/apache/ambari/logfeeder/input/Input.java   |   352 -
 .../logfeeder/input/InputConfigUploader.java       |    92 +-
 .../apache/ambari/logfeeder/input/InputFile.java   |   277 +-
 .../ambari/logfeeder/input/InputFileMarker.java    |    60 +
 .../ambari/logfeeder/input/InputManager.java       |   422 -
 .../ambari/logfeeder/input/InputManagerImpl.java   |   444 +
 .../apache/ambari/logfeeder/input/InputMarker.java |    40 -
 .../apache/ambari/logfeeder/input/InputS3File.java |    61 +-
 .../ambari/logfeeder/input/InputSimulate.java      |   121 +-
 .../ambari/logfeeder/input/cache/LRUCache.java     |    99 -
 .../logfeeder/input/file/FileCheckInHelper.java    |    93 +
 .../logfeeder/input/file/ProcessFileHelper.java    |   143 +
 .../input/file/ResumeLineNumberHelper.java         |    91 +
 .../ambari/logfeeder/input/reader/GZIPReader.java  |     4 +-
 .../input/reader/LogsearchReaderFactory.java       |     4 +-
 .../logfeeder/loglevelfilter/FilterLogData.java    |    73 -
 .../loglevelfilter/LogLevelFilterHandler.java      |   113 +-
 .../org/apache/ambari/logfeeder/mapper/Mapper.java |    45 -
 .../ambari/logfeeder/mapper/MapperAnonymize.java   |    11 +-
 .../apache/ambari/logfeeder/mapper/MapperDate.java |    32 +-
 .../ambari/logfeeder/mapper/MapperFieldCopy.java   |     8 +-
 .../ambari/logfeeder/mapper/MapperFieldName.java   |    10 +-
 .../ambari/logfeeder/mapper/MapperFieldValue.java  |    10 +-
 .../logfeeder/metrics/LogFeederAMSClient.java      |    22 +-
 .../ambari/logfeeder/metrics/MetricData.java       |    46 -
 .../ambari/logfeeder/metrics/MetricsManager.java   |    17 +-
 .../ambari/logfeeder/metrics/StatsLogger.java      |    84 +
 .../org/apache/ambari/logfeeder/output/Output.java |   137 -
 .../apache/ambari/logfeeder/output/OutputData.java |     4 +-
 .../ambari/logfeeder/output/OutputDevNull.java     |    48 +-
 .../apache/ambari/logfeeder/output/OutputFile.java |    56 +-
 .../ambari/logfeeder/output/OutputHDFSFile.java    |    47 +-
 .../ambari/logfeeder/output/OutputKafka.java       |    55 +-
 .../ambari/logfeeder/output/OutputLineFilter.java  |     4 +-
 .../ambari/logfeeder/output/OutputManager.java     |   258 -
 .../ambari/logfeeder/output/OutputManagerImpl.java |   293 +
 .../ambari/logfeeder/output/OutputS3File.java      |    38 +-
 .../apache/ambari/logfeeder/output/OutputSolr.java |    62 +-
 .../logfeeder/output/S3OutputConfiguration.java    |    12 +-
 .../apache/ambari/logfeeder/output/S3Uploader.java |     1 -
 .../ambari/logfeeder/output/spool/LogSpooler.java  |    13 +-
 .../apache/ambari/logfeeder/util/AliasUtil.java    |   114 -
 .../logfeeder/util/LogFeederPropertiesUtil.java    |   498 -
 .../ambari/logfeeder/util/LogFeederUtil.java       |    37 +-
 .../org/apache/ambari/logfeeder/util/SSLUtil.java  |   134 -
 .../src/main/package/deb/control/control           |    22 -
 .../src/main/package/deb/control/postinst          |    15 -
 .../src/main/package/deb/control/postrm            |    15 -
 .../src/main/package/deb/control/preinst           |    15 -
 .../src/main/package/deb/control/prerm             |    15 -
 .../shipper-conf/input.config-sample.json          |     2 +-
 .../src/main/resources/log4j.xml                   |    15 +-
 .../src/main/resources/logfeeder.properties        |    21 +-
 .../src/main/scripts/logfeeder-env.sh              |    40 +
 .../src/main/scripts/logfeeder-env.sh~HEAD         |    40 +
 .../src/main/scripts/logfeeder-env.sh~trunk        |    40 +
 .../src/main/scripts/logfeeder.sh                  |   291 +
 .../src/main/scripts/run.sh                        |   103 -
 .../ambari/logfeeder/filter/FilterGrokTest.java    |    29 +-
 .../ambari/logfeeder/filter/FilterJSONTest.java    |    21 +-
 .../logfeeder/filter/FilterKeyValueTest.java       |    23 +-
 .../ambari/logfeeder/input/InputFileTest.java      |    57 +-
 .../ambari/logfeeder/input/InputManagerTest.java   |    37 +-
 .../ambari/logfeeder/input/cache/LRUCacheTest.java |     1 +
 .../logfeeder/logconfig/LogConfigHandlerTest.java  |   148 -
 .../logfeeder/metrics/MetricsManagerTest.java      |     9 +-
 .../ambari/logfeeder/output/OutputKafkaTest.java   |    13 +-
 .../logfeeder/output/OutputLineFilterTest.java     |     4 +-
 .../ambari/logfeeder/output/OutputManagerTest.java |    67 +-
 .../ambari/logfeeder/output/OutputS3FileTest.java  |   110 +-
 .../ambari/logfeeder/output/OutputSolrTest.java    |   177 -
 ambari-logsearch/ambari-logsearch-server/README.md |     2 +-
 ambari-logsearch/ambari-logsearch-server/build.xml |    36 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   |    11 -
 ambari-logsearch/ambari-logsearch-server/run.sh    |     2 +-
 .../org/apache/ambari/logsearch/LogSearch.java     |     2 +-
 .../src/main/scripts/logsearch-env.sh              |    40 +
 .../src/main/scripts/logsearch-env.sh~HEAD         |    40 +
 .../src/main/scripts/logsearch-env.sh~trunk        |    40 +
 .../src/main/scripts/logsearch.sh                  |   273 +
 .../src/main/scripts/run.sh                        |    99 -
 .../src/main/scripts/stop.sh                       |    44 -
 ...chExternalServerAuthenticationProviderTest.java |     1 -
 ambari-logsearch/ambari-logsearch-web/package.json |     6 +-
 .../ambari-logsearch-web/src/app/app.module.ts     |    30 +-
 .../classes/components/graph/graph.component.less  |    49 +
 .../classes/components/graph/graph.component.ts    |   457 +
 .../components/graph/time-graph.component.less     |    48 +
 .../components/graph/time-graph.component.ts       |   250 +
 .../{ => logs-table}/logs-table-component.spec.ts  |     0
 .../{ => logs-table}/logs-table-component.ts       |     0
 .../src/app/classes/filtering.ts                   |     2 +-
 .../ambari-logsearch-web/src/app/classes/graph.ts  |    66 +
 .../src/app/classes/histogram-options.ts           |    36 -
 .../src/app/classes/models/store.ts                |     1 +
 .../src/app/classes/models/tab.ts                  |     7 +-
 .../ambari-logsearch-web/src/app/classes/object.ts |    19 +
 .../queries/audit-logs-graph-query-params.spec.ts  |   203 +
 .../queries/audit-logs-graph-query-params.ts       |    69 +
 .../app/classes/queries/audit-logs-query-params.ts |    19 +-
 .../audit-logs-top-resources-query-params.ts       |    23 +
 .../service-logs-histogram-query-params.spec.ts    |   203 -
 .../queries/service-logs-histogram-query-params.ts |    50 +-
 .../classes/queries/service-logs-query-params.ts   |     4 +-
 .../src/app/classes/service-injector.ts            |    23 +
 .../src/app/components/app.component.html          |    11 +-
 .../src/app/components/app.component.less          |     4 +-
 .../audit-logs-entries.component.html              |    36 +
 .../audit-logs-entries.component.spec.ts           |   113 +
 .../audit-logs-entries.component.ts                |   133 +
 .../audit-logs-table.component.spec.ts             |     7 +-
 .../audit-logs-table/audit-logs-table.component.ts |     2 +-
 .../collapsible-panel.component.html               |     8 +-
 .../collapsible-panel.component.spec.ts            |     4 +-
 .../collapsible-panel.component.ts                 |     8 +-
 .../context-menu/context-menu.component.html       |    19 +
 .../context-menu/context-menu.component.less       |    21 +
 .../context-menu/context-menu.component.spec.ts    |   123 +
 .../context-menu/context-menu.component.ts         |    72 +
 .../dropdown-button.component.spec.ts              |    17 +-
 .../dropdown-button/dropdown-button.component.ts   |     6 +-
 .../dropdown-list/dropdown-list.component.html     |     3 +-
 .../dropdown-list/dropdown-list.component.less     |    24 +-
 .../dropdown-list/dropdown-list.component.spec.ts  |     7 +-
 .../filter-button/filter-button.component.spec.ts  |    17 +-
 .../filter-button/filter-button.component.ts       |     7 +-
 .../filter-dropdown.component.spec.ts              |    17 +-
 .../filter-dropdown/filter-dropdown.component.ts   |     5 +-
 .../filters-panel/filters-panel.component.html     |     5 +-
 .../filters-panel/filters-panel.component.spec.ts  |     7 +-
 .../filters-panel/filters-panel.component.ts       |    30 +-
 .../graph-legend-item.component.html               |    19 +
 .../graph-legend-item.component.less               |    27 +
 .../graph-legend-item.component.spec.ts            |    42 +
 .../graph-legend-item.component.ts                 |    37 +
 .../graph-legend/graph-legend.component.html       |    19 +
 .../graph-legend/graph-legend.component.spec.ts    |    50 +
 .../graph-legend/graph-legend.component.ts         |    32 +
 .../graph-tooltip/graph-tooltip.component.html     |    22 +
 .../graph-tooltip/graph-tooltip.component.less     |    69 +
 .../graph-tooltip/graph-tooltip.component.spec.ts  |    50 +
 .../graph-tooltip/graph-tooltip.component.ts       |    36 +
 .../horizontal-histogram.component.html            |    22 +
 .../horizontal-histogram.component.less            |    22 +
 .../horizontal-histogram.component.spec.ts         |    61 +
 .../horizontal-histogram.component.ts              |   114 +
 .../log-context/log-context.component.spec.ts      |     7 +-
 .../log-message/log-message.component.html         |     2 +-
 .../log-message/log-message.component.less         |    27 +-
 .../log-message/log-message.component.spec.ts      |    14 +
 .../log-message/log-message.component.ts           |    24 +-
 .../logs-container/logs-container.component.html   |    36 +-
 .../logs-container/logs-container.component.less   |    23 +-
 .../logs-container.component.spec.ts               |     7 +-
 .../logs-container/logs-container.component.ts     |    71 +-
 .../main-container/main-container.component.html   |     1 -
 .../main-container/main-container.component.less   |     1 -
 .../main-container/main-container.component.ts     |     5 +-
 .../menu-button/menu-button.component.spec.ts      |    17 +-
 .../menu-button/menu-button.component.ts           |     6 +-
 .../src/app/components/mixins.less                 |    35 +-
 .../search-box/search-box.component.html           |    28 +-
 .../search-box/search-box.component.less           |    30 +-
 .../search-box/search-box.component.spec.ts        |    79 +
 .../components/search-box/search-box.component.ts  |   215 +-
 .../service-logs-table.component.html              |   188 +-
 .../service-logs-table.component.less              |   216 +-
 .../service-logs-table.component.spec.ts           |    24 +-
 .../service-logs-table.component.ts                |   200 +-
 .../src/app/components/tabs/tabs.component.spec.ts |     4 -
 .../src/app/components/tabs/tabs.component.ts      |     1 +
 .../time-histogram/time-histogram.component.html   |    21 +-
 .../time-histogram/time-histogram.component.less   |    23 +-
 .../time-histogram.component.spec.ts               |   157 +-
 .../time-histogram/time-histogram.component.ts     |   230 +-
 .../time-line-graph/time-line-graph.component.html |    27 +
 .../time-line-graph/time-line-graph.component.less |    42 +
 .../time-line-graph.component.spec.ts              |    69 +
 .../time-line-graph/time-line-graph.component.ts   |   111 +
 .../time-range-picker.component.spec.ts            |     7 +-
 .../timezone-picker.component.spec.ts              |     7 +-
 .../components/top-menu/top-menu.component.spec.ts |     3 +
 .../app/components/top-menu/top-menu.component.ts  |     3 +-
 .../src/app/components/variables.less              |    10 +
 .../ambari-logsearch-web/src/app/mock-data.ts      |   174 +-
 .../app/services/component-actions.service.spec.ts |     7 +-
 .../src/app/services/component-actions.service.ts  |    10 +-
 .../services/component-generator.service.spec.ts   |     7 +-
 .../src/app/services/http-client.service.ts        |    44 +-
 .../app/services/logs-container.service.spec.ts    |     7 +-
 .../src/app/services/logs-container.service.ts     |   159 +-
 .../storage/audit-logs-graph-data.service.ts       |    32 +
 .../src/app/services/storage/reducers.service.ts   |     2 +
 .../src/app/services/utils.service.spec.ts         |   117 +
 .../src/app/services/utils.service.ts              |    12 +
 .../ambari-logsearch-web/src/assets/i18n/en.json   |    26 +-
 .../ambari-logsearch-web/src/styles.less           |     4 +
 .../src/vendor/css/bootstrap-logsearch.min.css     |     2 +-
 .../src/vendor/js/bootstrap-logsearch.min.js       |     2 +-
 ambari-logsearch/ambari-logsearch-web/yarn.lock    |    20 +-
 ambari-logsearch/docker/Dockerfile                 |     6 +-
 ambari-logsearch/docker/all.yml                    |     6 +-
 ambari-logsearch/docker/bin/start.sh               |    37 +-
 ambari-logsearch/docker/docker-compose.yml         |     2 -
 ambari-logsearch/docker/logsearch-logfeeder.yml    |     1 -
 ambari-logsearch/docker/logsearch-server.yml       |     1 -
 .../docker/test-config/logfeeder/logfeeder-env.sh  |     5 +-
 .../test-config/logfeeder/logfeeder.properties     |     2 +-
 .../docker/test-config/logsearch/logsearch-env.sh  |     5 +-
 .../logsearch/logsearch-https.properties           |     4 +-
 .../test-config/logsearch/logsearch.properties     |     4 +-
 ambari-logsearch/pom.xml                           |     1 +
 ambari-project/pom.xml                             |     2 +-
 ambari-server/docs/api/generated/index.html        | 30360 +++++++++++--------
 ambari-server/docs/api/generated/swagger.json      |  4906 +--
 .../docs/api/v1/authentication-source-create.md    |    86 +
 .../docs/api/v1/authentication-source-delete.md    |    49 +
 .../docs/api/v1/authentication-source-get.md       |    93 +
 .../docs/api/v1/authentication-source-list.md      |   116 +
 .../docs/api/v1/authentication-source-resources.md |   117 +
 .../docs/api/v1/authentication-source-update.md    |   104 +
 ambari-server/docs/api/v1/index.md                 |    12 +
 ambari-server/docs/api/v1/user-create.md           |   107 +
 ambari-server/docs/api/v1/user-delete.md           |    48 +
 ambari-server/docs/api/v1/user-get.md              |    97 +
 ambari-server/docs/api/v1/user-list.md             |    98 +
 ambari-server/docs/api/v1/user-resources.md        |   175 +
 ambari-server/docs/api/v1/user-update.md           |   115 +
 ambari-server/docs/configuration/index.md          |    11 +-
 ambari-server/pom.xml                              |     1 -
 ambari-server/sbin/ambari-server                   |     1 -
 .../ambari/server/agent/ExecutionCommand.java      |    37 +-
 .../ambari/server/agent/HeartBeatHandler.java      |   122 +-
 .../ambari/server/agent/HeartbeatProcessor.java    |    33 +-
 .../ambari/server/alerts/JmxServerSideAlert.java   |    98 +
 .../org/apache/ambari/server/alerts/Threshold.java |    73 +
 .../ambari/server/api/AmbariErrorHandler.java      |     2 +-
 .../api/resources/ResourceInstanceFactoryImpl.java |     4 +
 .../api/resources/UserResourceDefinition.java      |     1 +
 .../ambari/server/api/services/AmbariMetaInfo.java |   126 +-
 .../ambari/server/api/services/BaseService.java    |     1 -
 .../RootServiceComponentConfiguration.java         |    73 +
 .../users/UserAuthenticationSourceService.java     |   223 +
 .../server/api/services/users/UserService.java     |   132 +-
 .../ambari/server/audit/event/LoginAuditEvent.java |    20 +
 .../checks/RequiredServicesInRepositoryCheck.java  |    18 +-
 .../configuration/ComponentSSLConfiguration.java   |     4 +-
 .../ambari/server/configuration/Configuration.java |   596 +-
 .../configuration/ConfigurationPropertyType.java   |    22 +
 .../LdapUsernameCollisionHandlingBehavior.java     |    29 +
 .../controller/AmbariManagementController.java     |    39 -
 .../controller/AmbariManagementControllerImpl.java |   219 +-
 .../ambari/server/controller/AmbariServer.java     |    32 +-
 .../ambari/server/controller/ControllerModule.java |     7 +
 .../server/controller/DeleteIdentityHandler.java   |     5 +-
 .../ambari/server/controller/KerberosHelper.java   |     2 +-
 .../server/controller/KerberosHelperImpl.java      |  1113 +-
 .../server/controller/ResourceProviderFactory.java |    24 +-
 .../controller/StackServiceComponentResponse.java  |    10 +
 .../UserAuthenticationSourceRequest.java           |    82 +
 ...erAuthenticationSourceRequestCreateSwagger.java |    40 +
 ...erAuthenticationSourceRequestUpdateSwagger.java |    40 +
 .../UserAuthenticationSourceResponse.java          |   127 +
 .../ambari/server/controller/UserRequest.java      |    50 +-
 .../controller/UserRequestCreateUserSwagger.java   |    49 +
 .../controller/UserRequestCreateUsersSwagger.java  |    52 +
 .../controller/UserRequestUpdateUserSwagger.java   |    52 +
 .../ambari/server/controller/UserResponse.java     |    87 +-
 .../AbstractAuthorizedResourceProvider.java        |    12 +-
 .../AbstractControllerResourceProvider.java        |    83 +-
 .../internal/AbstractDRResourceProvider.java       |     9 +-
 .../internal/AbstractResourceProvider.java         |     2 +-
 .../internal/ActionResourceProvider.java           |    34 +-
 .../ActiveWidgetLayoutResourceProvider.java        |     4 +-
 .../internal/AlertDefinitionResourceProvider.java  |     2 +-
 .../internal/AlertGroupResourceProvider.java       |     2 +-
 .../internal/AlertHistoryResourceProvider.java     |     2 +-
 .../internal/AlertNoticeResourceProvider.java      |     2 +-
 .../controller/internal/AlertResourceProvider.java |     2 +-
 .../internal/AlertTargetResourceProvider.java      |     2 +-
 .../internal/AmbariPrivilegeResourceProvider.java  |    36 +-
 .../internal/AmbariServerConfigurationHandler.java |   102 +-
 .../internal/AmbariServerConfigurationUtils.java   |    78 +
 .../AmbariServerLDAPConfigurationHandler.java      |     9 +-
 .../internal/BlueprintResourceProvider.java        |    37 +-
 .../controller/internal/CalculatedStatus.java      |     7 +-
 .../internal/ClientConfigResourceProvider.java     |    33 +-
 .../ClusterKerberosDescriptorResourceProvider.java |     2 +-
 .../internal/ClusterPrivilegeResourceProvider.java |    31 +-
 .../internal/ClusterResourceProvider.java          |    23 +-
 .../ClusterStackVersionResourceProvider.java       |    16 +-
 .../internal/ConfigGroupResourceProvider.java      |    39 +-
 .../internal/ConfigurationResourceProvider.java    |     2 +-
 .../internal/CredentialResourceProvider.java       |     2 +-
 .../controller/internal/DefaultProviderModule.java |    17 +-
 .../internal/ExtensionLinkResourceProvider.java    |    33 +-
 .../internal/ExtensionResourceProvider.java        |    27 +-
 .../internal/ExtensionVersionResourceProvider.java |    32 +-
 .../controller/internal/FeedResourceProvider.java  |    41 +-
 .../internal/GroupPrivilegeResourceProvider.java   |    42 +-
 .../controller/internal/GroupResourceProvider.java |    32 +-
 .../HostComponentProcessResourceProvider.java      |    38 +-
 .../internal/HostComponentResourceProvider.java    |    84 +-
 .../HostKerberosIdentityResourceProvider.java      |    17 +-
 .../controller/internal/HostResourceProvider.java  |    53 +-
 .../internal/HostStackVersionResourceProvider.java |     2 +-
 .../internal/InstanceResourceProvider.java         |    35 +-
 .../controller/internal/JobResourceProvider.java   |    57 +-
 .../KerberosDescriptorResourceProvider.java        |    20 +-
 .../internal/LdapSyncEventResourceProvider.java    |    47 +-
 .../internal/LoggingResourceProvider.java          |     9 +-
 .../internal/MemberResourceProvider.java           |    29 +-
 .../controller/internal/MpackResourceProvider.java |     2 +-
 .../internal/OperatingSystemResourceProvider.java  |     2 +-
 .../internal/OverriddenMetricsHostProvider.java    |   101 +
 .../internal/PermissionResourceProvider.java       |    25 +-
 .../internal/PrivilegeResourceProvider.java        |     2 +-
 .../QuickLinkArtifactResourceProvider.java         |     2 +-
 .../internal/ReadOnlyResourceProvider.java         |     7 -
 .../internal/RecommendationResourceProvider.java   |    65 +-
 .../internal/RegistryAdvisorResourceProvider.java  |     2 +-
 .../internal/RegistryMpackResourceProvider.java    |     2 +-
 .../RegistryMpackVersionResourceProvider.java      |     2 +-
 .../internal/RegistryResourceProvider.java         |     2 +-
 .../internal/RegistryScenarioResourceProvider.java |     2 +-
 .../internal/RemoteClusterResourceProvider.java    |    28 +-
 .../internal/RepositoryResourceProvider.java       |    14 +-
 .../internal/RequestResourceProvider.java          |    52 +-
 .../internal/RequestScheduleResourceProvider.java  |    55 +-
 .../RoleAuthorizationResourceProvider.java         |     2 +-
 .../RootClusterSettingsResourceProvider.java       |     2 +-
 .../RootServiceComponentConfigurationHandler.java  |     7 +-
 ...viceComponentConfigurationResourceProvider.java |    20 +-
 .../RootServiceComponentResourceProvider.java      |    31 +-
 .../RootServiceHostComponentResourceProvider.java  |    34 +-
 .../internal/RootServiceResourceProvider.java      |    26 +-
 .../controller/internal/ScaleClusterRequest.java   |    17 +-
 .../ServiceConfigVersionResourceProvider.java      |     2 +-
 .../internal/SettingResourceProvider.java          |     2 +-
 .../ambari/server/controller/internal/Stack.java   |    14 +
 .../internal/StackAdvisorResourceProvider.java     |     7 +-
 .../internal/StackArtifactResourceProvider.java    |     2 +-
 ...ackConfigurationDependencyResourceProvider.java |    40 +-
 .../StackConfigurationResourceProvider.java        |    42 +-
 .../internal/StackDefinedPropertyProvider.java     |     9 +-
 .../internal/StackDependencyResourceProvider.java  |    41 +-
 .../StackLevelConfigurationResourceProvider.java   |    40 +-
 .../controller/internal/StackResourceProvider.java |    28 +-
 .../StackServiceComponentResourceProvider.java     |    59 +-
 .../internal/StackServiceResourceProvider.java     |    45 +-
 .../internal/StackVersionResourceProvider.java     |     5 +-
 .../controller/internal/StageResourceProvider.java |     2 +-
 .../internal/TargetClusterResourceProvider.java    |    31 +-
 .../internal/TaskAttemptResourceProvider.java      |    53 +-
 .../controller/internal/TaskResourceProvider.java  |    27 +-
 .../internal/ThemeArtifactResourceProvider.java    |     2 +-
 .../internal/UpgradeGroupResourceProvider.java     |     2 +-
 .../internal/UpgradeItemResourceProvider.java      |     2 +-
 .../internal/UpgradeResourceProvider.java          |    29 +-
 .../internal/UpgradeSummaryResourceProvider.java   |     2 +-
 .../UserAuthenticationSourceResourceProvider.java  |   417 +
 .../UserAuthorizationResourceProvider.java         |     2 +-
 .../internal/UserPrivilegeResourceProvider.java    |    59 +-
 .../controller/internal/UserResourceProvider.java  |   501 +-
 .../internal/ValidationResourceProvider.java       |    86 +-
 .../VersionDefinitionResourceProvider.java         |     2 +-
 .../internal/ViewInstanceResourceProvider.java     |    55 +-
 .../internal/ViewPermissionResourceProvider.java   |    29 +-
 .../internal/ViewPrivilegeResourceProvider.java    |    36 +-
 .../controller/internal/ViewResourceProvider.java  |    19 +-
 .../internal/ViewURLResourceProvider.java          |    25 +-
 .../internal/ViewVersionResourceProvider.java      |    45 +-
 .../internal/WidgetLayoutResourceProvider.java     |     2 +-
 .../internal/WidgetResourceProvider.java           |     2 +-
 .../internal/WorkflowResourceProvider.java         |    54 +-
 .../server/controller/jmx/JMXMetricHolder.java     |    64 +
 .../controller/metrics/MetricHostProvider.java     |     9 +
 .../timeline/AMSComponentPropertyProvider.java     |     4 +-
 .../ambari/server/controller/spi/Resource.java     |     2 +
 .../controller/utilities/PropertyHelper.java       |     6 +-
 .../apache/ambari/server/events/AmbariEvent.java   |     7 +-
 .../ambari/server/events/JpaInitializedEvent.java  |    34 +
 .../upgrade/HostVersionOutOfSyncListener.java      |    24 +
 .../ldap/domain/AmbariLdapConfiguration.java       |   176 +-
 .../ldap/domain/AmbariLdapConfigurationKeys.java   |   121 +-
 .../service/AmbariLdapConfigurationProvider.java   |    29 +-
 .../metrics/system/impl/AmbariMetricSinkImpl.java  |     2 -
 .../server/orm/AmbariLocalSessionInterceptor.java  |     2 +-
 .../org/apache/ambari/server/orm/DBAccessor.java   |    29 +
 .../apache/ambari/server/orm/DBAccessorImpl.java   |     3 +
 .../ambari/server/orm/GuiceJpaInitializer.java     |     8 +-
 .../ambari/server/orm/dao/HostVersionDAO.java      |    15 +
 .../ambari/server/orm/dao/KerberosKeytabDAO.java   |   154 +-
 .../server/orm/dao/KerberosKeytabPrincipalDAO.java |   309 +
 .../server/orm/dao/KerberosPrincipalDAO.java       |     9 -
 .../server/orm/dao/KerberosPrincipalHostDAO.java   |   252 -
 .../server/orm/dao/UserAuthenticationDAO.java      |   116 +
 .../org/apache/ambari/server/orm/dao/UserDAO.java  |    95 +-
 .../orm/entities/AmbariConfigurationEntity.java    |     2 +-
 .../orm/entities/HostGroupComponentEntityPK.java   |     4 +-
 .../server/orm/entities/HostVersionEntity.java     |     5 +
 .../server/orm/entities/KerberosKeytabEntity.java  |   152 +-
 .../entities/KerberosKeytabPrincipalEntity.java    |   236 +
 .../KerberosKeytabServiceMappingEntity.java        |    88 +
 .../orm/entities/KerberosPrincipalEntity.java      |    25 -
 .../orm/entities/KerberosPrincipalHostEntity.java  |   213 -
 .../entities/KerberosPrincipalHostEntityPK.java    |   115 -
 .../orm/entities/RepositoryVersionEntity.java      |     5 +
 .../orm/entities/TopologyHostRequestEntity.java    |    27 +
 .../orm/entities/UserAuthenticationEntity.java     |   189 +
 .../ambari/server/orm/entities/UserEntity.java     |   253 +-
 .../authentication/AccountDisabledException.java   |    27 +
 .../AmbariAuthenticationEventHandler.java          |    64 +
 .../AmbariAuthenticationEventHandlerImpl.java      |   168 +
 .../AmbariAuthenticationException.java             |    56 +
 .../authentication/AmbariAuthenticationFilter.java |    10 +
 .../AmbariAuthenticationProvider.java              |   117 +
 .../AmbariBasicAuthenticationFilter.java           |    97 +-
 .../AmbariJWTAuthenticationFilter.java             |   140 -
 .../AmbariLocalAuthenticationProvider.java         |   113 +
 .../authentication/AmbariUserAuthentication.java   |    79 +
 .../AuthenticationMethodNotAllowedException.java   |    65 +
 ...nvalidUsernamePasswordCombinationException.java |    40 +
 .../TooManyLoginFailuresException.java             |    27 +
 .../authentication/UserNotFoundException.java      |    43 +
 .../jwt/AmbariJwtAuthenticationFilter.java         |   419 +
 .../jwt/AmbariJwtAuthenticationProvider.java       |   136 +
 .../jwt/JwtAuthenticationProperties.java           |    87 +
 .../authentication/jwt/JwtAuthenticationToken.java |    55 +
 .../AmbariAuthToLocalUserDetailsService.java       |   163 +-
 .../AmbariKerberosAuthenticationFilter.java        |    76 +-
 .../AmbariKerberosAuthenticationProperties.java    |    26 +-
 .../pam/AmbariPamAuthenticationProvider.java       |   302 +
 .../pam/PamAuthenticationFactory.java              |    21 +-
 .../authorization/AmbariAuthentication.java        |   229 -
 .../authorization/AmbariAuthorizationFilter.java   |     4 +-
 .../AmbariLdapAuthenticationProvider.java          |   183 +-
 .../AmbariLdapAuthoritiesPopulator.java            |     5 +-
 .../authorization/AmbariLdapBindAuthenticator.java |    13 +-
 .../authorization/AmbariLocalUserProvider.java     |   107 -
 .../AmbariPamAuthenticationProvider.java           |   252 -
 .../authorization/AmbariUserAuthentication.java    |    76 -
 .../AmbariUserAuthorizationFilter.java             |    12 +-
 .../authorization/AuthenticationMethod.java        |    37 +
 .../authorization/AuthorizationHelper.java         |     4 +-
 ...nvalidUsernamePasswordCombinationException.java |    34 -
 .../authorization/LdapServerProperties.java        |    99 +-
 .../authorization/PamAuthenticationException.java  |    36 -
 .../ambari/server/security/authorization/User.java |    61 +-
 .../authorization/UserAuthenticationType.java      |    26 +
 .../server/security/authorization/UserType.java    |    25 -
 .../server/security/authorization/Users.java       |  1259 +-
 .../AmbariInternalAuthenticationProvider.java      |     4 +-
 .../AuthenticationJwtUserNotFoundException.java    |    43 -
 .../authorization/jwt/JwtAuthentication.java       |    34 -
 .../authorization/jwt/JwtAuthenticationFilter.java |   423 -
 .../jwt/JwtAuthenticationProperties.java           |    87 -
 .../security/ldap/AmbariLdapDataPopulator.java     |    91 +-
 .../ambari/server/security/ldap/LdapBatchDto.java  |    32 +-
 .../AbstractPrepareKerberosServerAction.java       |    31 +-
 .../serveraction/kerberos/CleanupServerAction.java |     6 +-
 .../ConfigureAmbariIdentitiesServerAction.java     |   143 +-
 .../kerberos/CreateKeytabFilesServerAction.java    |   112 +-
 .../kerberos/CreatePrincipalsServerAction.java     |    47 +-
 .../kerberos/DestroyPrincipalsServerAction.java    |    62 +-
 .../kerberos/FinalizeKerberosServerAction.java     |    24 +-
 .../kerberos/KerberosOperationHandler.java         |    14 +-
 .../kerberos/KerberosServerAction.java             |   291 +-
 .../PrepareEnableKerberosServerAction.java         |    16 +-
 .../PrepareKerberosIdentitiesServerAction.java     |     9 -
 .../stageutils/KerberosKeytabController.java       |   213 +
 .../stageutils/ResolvedKerberosKeytab.java         |   117 +-
 .../stageutils/ResolvedKerberosPrincipal.java      |   169 +
 .../serveraction/upgrades/ConfigureAction.java     |    51 +-
 .../upgrades/PreconfigureKerberosAction.java       |    12 +-
 .../java/org/apache/ambari/server/state/Alert.java |     1 +
 .../org/apache/ambari/server/state/Cluster.java    |     9 +
 .../apache/ambari/server/state/ComponentInfo.java  |    15 +
 .../apache/ambari/server/state/ConfigHelper.java   |     5 +
 .../apache/ambari/server/state/UpgradeContext.java |    14 +
 .../ambari/server/state/alert/AlertDefinition.java |    13 +
 .../server/state/alert/AlertDefinitionFactory.java |    31 +-
 .../apache/ambari/server/state/alert/AlertUri.java |    41 +
 .../ambari/server/state/alert/MetricSource.java    |    66 +-
 .../ambari/server/state/alert/Reporting.java       |    38 +
 .../ambari/server/state/alert/ScriptSource.java    |     4 +
 .../ambari/server/state/alert/ServerSource.java    |    15 +
 .../ambari/server/state/cluster/ClusterImpl.java   |    50 +-
 .../ambari/server/state/cluster/ClustersImpl.java  |     8 +-
 .../ambari/server/state/quicklinks/Host.java       |    75 +
 .../ambari/server/state/quicklinks/Link.java       |    13 +
 .../state/repository/VersionDefinitionXml.java     |    59 +-
 .../state/services/AmbariServerAlertService.java   |     7 +-
 .../state/services/MetricsRetrievalService.java    |     8 +-
 .../server/state/stack/MetricDefinition.java       |     9 +-
 .../state/stack/upgrade/ClusterGrouping.java       |     9 +
 .../state/stack/upgrade/StageWrapperBuilder.java   |    10 +-
 .../ambari/server/state/stack/upgrade/Task.java    |     7 +
 .../ambari/server/topology/AmbariContext.java      |     7 +-
 .../server/topology/AsyncCallableService.java      |    16 +-
 .../ambari/server/topology/HostOfferResponse.java  |    23 +-
 .../apache/ambari/server/topology/HostRequest.java |    52 +-
 .../ambari/server/topology/LogicalRequest.java     |    44 +
 .../ambari/server/topology/PersistedState.java     |     5 +
 .../ambari/server/topology/PersistedStateImpl.java |    11 +
 .../ambari/server/topology/TopologyManager.java    |    59 +-
 .../server/topology/tasks/TopologyHostTask.java    |     4 +
 .../ambari/server/topology/tasks/TopologyTask.java |    20 +-
 .../upgrade/AbstractFinalUpgradeCatalog.java       |    58 +
 .../ambari/server/upgrade/FinalUpgradeCatalog.java |    28 +-
 .../ambari/server/upgrade/SchemaUpgradeHelper.java |     2 +
 .../server/upgrade/UpdateAlertScriptPaths.java     |    48 +
 .../ambari/server/upgrade/UpgradeCatalog252.java   |     7 +-
 .../ambari/server/upgrade/UpgradeCatalog260.java   |     3 +
 .../ambari/server/upgrade/UpgradeCatalog262.java   |    70 +
 .../ambari/server/upgrade/UpgradeCatalog300.java   |   486 +
 .../apache/ambari/server/utils/PasswordUtils.java  |   183 +
 ambari-server/src/main/python/ambari-server.py     |     6 +-
 .../python/ambari_server/dbConfiguration_linux.py  |    26 +-
 .../main/python/ambari_server/kerberos_setup.py    |     2 -
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |    69 +-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |    70 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |    70 +-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |    69 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |    69 +-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |    71 +-
 .../src/main/resources/META-INF/persistence.xml    |     4 +-
 .../HBASE/0.96.0.2.0/package/scripts/hbase.py      |    26 +-
 .../HBASE/2.0.0.3.0/package/scripts/hbase.py       |    39 +-
 .../2.0.0.3.0/package/scripts/status_params.py     |     2 +-
 .../common-services/HDFS/2.1.0.2.0/metainfo.xml    |     1 +
 .../common-services/HDFS/3.0.0.3.0/metainfo.xml    |     1 +
 .../3.0.0.3.0/package/scripts/status_params.py     |     2 +-
 .../HIVE/0.12.0.2.0/configuration/hive-env.xml     |     1 +
 .../HIVE/0.12.0.2.0/package/scripts/hive.py        |    10 +-
 .../0.12.0.2.0/package/scripts/params_linux.py     |     2 +
 .../HIVE/2.1.0.3.0/configuration/hive-env.xml      |     1 +
 .../HIVE/2.1.0.3.0/package/scripts/hive.py         |    10 +-
 .../HIVE/2.1.0.3.0/package/scripts/params_linux.py |     1 +
 .../package/scripts/setup_ranger_kafka.py          |    14 +-
 .../KAFKA/0.10.0/configuration/kafka-broker.xml    |     2 +-
 .../KAFKA/0.8.1/package/scripts/params.py          |     6 +-
 .../0.8.1/package/scripts/setup_ranger_kafka.py    |    15 +-
 .../1.10.3-10/configuration/kerberos-env.xml       |     4 +-
 .../KERBEROS/1.10.3-10/configuration/krb5-conf.xml |    11 +
 .../1.10.3-10/package/scripts/kerberos_client.py   |    57 +-
 .../1.10.3-10/package/scripts/kerberos_common.py   |   493 -
 .../KERBEROS/1.10.3-10/package/scripts/params.py   |     6 +-
 .../1.10.3-10/package/scripts/service_check.py     |    32 +-
 .../KERBEROS/1.10.3-10/package/scripts/utils.py    |   105 -
 .../KERBEROS/1.10.3-10/properties/krb5_conf.j2     |     3 +
 .../1.10.3-30/configuration/kerberos-env.xml       |     4 +-
 .../KERBEROS/1.10.3-30/configuration/krb5-conf.xml |    11 +
 .../1.10.3-30/package/scripts/kerberos_client.py   |    57 +-
 .../1.10.3-30/package/scripts/kerberos_common.py   |   493 -
 .../KERBEROS/1.10.3-30/package/scripts/params.py   |     7 +-
 .../1.10.3-30/package/scripts/service_check.py     |    32 +-
 .../KERBEROS/1.10.3-30/package/scripts/utils.py    |   105 -
 .../KERBEROS/1.10.3-30/properties/krb5_conf.j2     |     3 +
 .../0.5.0.2.2/package/scripts/setup_ranger_knox.py |    16 +-
 .../0.5.0.3.0/package/scripts/setup_ranger_knox.py |    16 +-
 .../0.5.0/configuration/logfeeder-env.xml          |     2 +-
 .../0.5.0/configuration/logfeeder-properties.xml   |     2 +-
 .../0.5.0/configuration/logsearch-env.xml          |     6 +-
 .../LOGSEARCH/0.5.0/package/scripts/logfeeder.py   |     7 +-
 .../LOGSEARCH/0.5.0/package/scripts/logsearch.py   |     8 +-
 .../0.5.0/package/scripts/logsearch_common.py      |    54 -
 .../LOGSEARCH/0.5.0/package/scripts/params.py      |     8 +-
 .../0.5.0/package/scripts/setup_logfeeder.py       |     2 +-
 .../0.5.0/package/scripts/setup_logsearch.py       |     2 +-
 .../LOGSEARCH/0.5.0/properties/logfeeder-env.sh.j2 |     5 +-
 .../LOGSEARCH/0.5.0/properties/logsearch-env.sh.j2 |     5 +-
 .../MAHOUT/1.0.0.2.3/package/scripts/mahout.py     |    12 +-
 .../OOZIE/4.0.0.2.0/configuration/oozie-env.xml    |     1 +
 .../package/scripts/oozie_server_upgrade.py        |    24 +-
 .../OOZIE/4.2.0.3.0/configuration/oozie-env.xml    |     1 +
 .../package/scripts/oozie_server_upgrade.py        |    50 +-
 .../PIG/0.12.0.2.0/package/scripts/pig.py          |    16 +-
 .../PIG/0.16.1.3.0/package/scripts/pig.py          |    16 +-
 .../RANGER/0.4.0/package/scripts/params.py         |     4 +-
 .../RANGER/0.4.0/package/scripts/ranger_admin.py   |    10 +-
 .../0.4.0/package/scripts/setup_ranger_xml.py      |    19 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py    |    13 +-
 .../0.5.0.2.3/package/scripts/kms_server.py        |     6 +-
 .../common-services/SPARK/1.2.1/alerts.json        |     2 +-
 .../SPARK/1.2.1/package/scripts/livy_service.py    |    24 +-
 .../SPARK/1.2.1/package/scripts/params.py          |     2 +
 .../SPARK/1.2.1/package/scripts/setup_spark.py     |    20 +-
 .../SPARK/2.2.0/package/scripts/livy_service.py    |    24 +-
 .../SPARK/2.2.0/package/scripts/params.py          |     2 +
 .../SPARK/2.2.0/package/scripts/setup_spark.py     |    25 +-
 .../common-services/SPARK2/2.0.0/alerts.json       |     2 +-
 .../SPARK2/2.0.0/package/scripts/livy2_service.py  |    24 +-
 .../SPARK2/2.0.0/package/scripts/params.py         |     2 +
 .../SPARK2/2.0.0/package/scripts/setup_livy2.py    |     2 +
 .../SPARK2/2.0.0/package/scripts/setup_spark.py    |    22 +-
 .../0.9.1/package/scripts/setup_ranger_storm.py    |    15 +-
 .../STORM/1.0.1.3.0/configuration/storm-site.xml   |     2 +-
 .../package/scripts/setup_ranger_storm.py          |    15 +-
 .../STORM/1.0.1.3.0/service_advisor.py             |     1 +
 .../STORM/1.0.1/configuration/storm-site.xml       |     2 +-
 .../common-services/SUPERSET/0.15.0/metainfo.xml   |     2 +-
 .../2.1.0.2.0/configuration-mapred/mapred-site.xml |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/params_linux.py |    46 +-
 .../YARN/2.1.0.2.0/package/scripts/yarn.py         |     4 +-
 .../3.0.0.3.0/configuration-mapred/mapred-site.xml |     2 +-
 .../common-services/YARN/3.0.0.3.0/kerberos.json   |     4 +-
 .../YARN/3.0.0.3.0/package/scripts/params_linux.py |    47 +-
 .../YARN/3.0.0.3.0/package/scripts/yarn.py         |     4 +-
 .../package/scripts/interpreter_json_template.py   |   154 +-
 .../0.7.0/package/scripts/livy2_config_template.py |   112 -
 .../ZEPPELIN/0.7.0/package/scripts/master.py       |   109 +-
 .../package/scripts/spark2_config_template.py      |    84 -
 .../custom_actions/scripts/install_packages.py     |    59 +-
 .../stack-hooks/after-INSTALL/scripts/params.py    |     2 +-
 .../HDP/2.0.6/properties/stack_features.json       |     6 +
 .../HDP/2.0.6/properties/stack_packages.json       |   143 +-
 .../2.2/services/TEZ/configuration/tez-site.xml    |     4 +-
 .../YARN/configuration-mapred/mapred-site.xml      |     2 +-
 .../2.3/services/HIVE/configuration/hive-env.xml   |     1 +
 .../2.3/services/OOZIE/configuration/oozie-env.xml |     1 +
 .../stacks/HDP/2.3/services/stack_advisor.py       |     9 +-
 .../2.5/services/YARN/configuration/yarn-site.xml  |     4 +-
 .../stacks/HDP/2.5/services/stack_advisor.py       |     1 +
 .../2.6/services/TEZ/configuration/tez-site.xml    |     8 +
 .../stacks/HDP/2.6/upgrades/config-upgrade.xml     |     8 +-
 .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml    |     2 +-
 .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml        |     2 +-
 .../stacks/HDP/3.0/properties/stack_features.json  |     6 +
 .../stacks/HDP/3.0/properties/stack_packages.json  |    20 +-
 .../3.0/services/YARN/configuration/yarn-site.xml  |     4 +-
 .../KERBEROS/configuration/kerberos-env.xml        |     4 +-
 .../services/KERBEROS/configuration/krb5-conf.xml  |    11 +
 .../services/KERBEROS/package/scripts/params.py    |     2 +
 .../1.0/services/KERBEROS/properties/krb5_conf.j2  |     3 +
 ambari-server/src/main/resources/upgrade-pack.xsd  |     1 +
 .../resources/webapp/WEB-INF/spring-security.xml   |    13 +-
 ambari-server/src/main/windows/ambari-server.ps1   |     2 -
 .../actionmanager/ExecutionCommandWrapperTest.java |     5 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |    79 +-
 .../apache/ambari/server/alerts/ThresholdTest.java |    90 +
 .../api/query/render/MinimalRendererTest.java      |     6 +
 .../api/resources/UserResourceDefinitionTest.java  |    13 +-
 .../server/api/services/AmbariMetaInfoTest.java    |    91 +-
 .../ambari/server/audit/LoginAuditEventTest.java   |    36 +-
 .../RequiredServicesInRepositoryCheckTest.java     |     6 +-
 .../server/configuration/ConfigurationTest.java    |   225 +-
 .../AmbariCustomCommandExecutionHelperTest.java    |    46 +
 .../AmbariManagementControllerImplTest.java        |    46 +-
 .../controller/AmbariManagementControllerTest.java |    73 -
 .../server/controller/KerberosHelperTest.java      |    47 +-
 .../controller/RootServiceResponseFactoryTest.java |   145 +-
 .../AbstractControllerResourceProviderTest.java    |    10 +-
 .../internal/AbstractDRResourceProviderTest.java   |     2 -
 .../AbstractPrivilegeResourceProviderTest.java     |    38 -
 .../internal/AbstractResourceProviderTest.java     |    26 +-
 .../internal/ActionResourceProviderTest.java       |     4 -
 .../ActiveWidgetLayoutResourceProviderTest.java    |     6 +-
 .../AlertDefinitionResourceProviderTest.java       |     4 +-
 .../internal/BlueprintResourceProviderTest.java    |    21 +-
 .../internal/ClientConfigResourceProviderTest.java |    10 -
 .../internal/ClusterControllerImplTest.java        |    14 +-
 ...sterKerberosDescriptorResourceProviderTest.java |    17 -
 .../internal/ClusterResourceProviderTest.java      |    14 -
 .../ClusterStackVersionResourceProviderTest.java   |    12 +-
 .../internal/ConfigGroupResourceProviderTest.java  |     2 -
 .../ConfigurationResourceProviderTest.java         |     6 -
 .../internal/CredentialResourceProviderTest.java   |    23 -
 .../internal/ExtensionResourceProviderTest.java    |     2 -
 .../internal/FeedResourceProviderTest.java         |    29 +-
 .../GroupPrivilegeResourceProviderTest.java        |    46 +-
 .../internal/GroupResourceProviderTest.java        |     8 -
 .../HostComponentProcessResourceProviderTest.java  |     2 -
 .../HostComponentResourceProviderTest.java         |    49 +-
 .../HostKerberosIdentityResourceProviderTest.java  |    15 +-
 .../internal/HostResourceProviderTest.java         |    53 +-
 .../HostStackVersionResourceProviderTest.java      |    14 +-
 .../internal/InstanceResourceProviderTest.java     |    29 +-
 .../controller/internal/JMXHostProviderTest.java   |     5 +-
 .../internal/JobResourceProviderTest.java          |    37 +-
 .../KerberosDescriptorResourceProviderTest.java    |     6 +-
 .../internal/MemberResourceProviderTest.java       |    25 +-
 .../OverriddenMetricsHostProviderTest.java         |    95 +
 .../internal/RepositoryResourceProviderTest.java   |     2 +
 .../RepositoryVersionResourceProviderTest.java     |     5 +-
 .../controller/internal/RequestImplTest.java       |     7 -
 .../internal/RequestResourceProviderTest.java      |   265 +-
 .../RequestScheduleResourceProviderTest.java       |     2 -
 ...ComponentConfigurationResourceProviderTest.java |   192 +-
 .../RootServiceComponentResourceProviderTest.java  |     2 -
 ...otServiceHostComponentResourceProviderTest.java |     2 -
 .../internal/RootServiceResourceProviderTest.java  |     2 -
 .../internal/ScaleClusterRequestTest.java          |    38 +-
 .../internal/StackAdvisorResourceProviderTest.java |    12 +-
 .../StackArtifactResourceProviderTest.java         |     2 -
 ...onfigurationDependencyResourceProviderTest.java |     2 -
 .../StackConfigurationResourceProviderTest.java    |     4 -
 .../StackDependencyResourceProviderTest.java       |     5 +-
 ...tackLevelConfigurationResourceProviderTest.java |     4 -
 .../internal/StackResourceProviderTest.java        |     2 -
 .../internal/StackServiceResourceProviderTest.java |     4 -
 .../TargetClusterResourceProviderTest.java         |    28 +-
 .../internal/TaskAttemptResourceProviderTest.java  |     2 +-
 .../internal/TaskResourceProviderTest.java         |    22 +-
 .../internal/TestIvoryProviderModule.java          |     6 +-
 .../internal/UpgradeResourceProviderTest.java      |     4 +-
 ...erAuthenticationSourceResourceProviderTest.java |   448 +
 .../UserPrivilegeResourceProviderTest.java         |   109 +-
 .../internal/UserResourceProviderDBTest.java       |   438 +-
 .../internal/UserResourceProviderTest.java         |   749 +-
 .../internal/ValidationResourceProviderTest.java   |     3 +-
 .../VersionDefinitionResourceProviderTest.java     |     2 +-
 .../internal/WorkflowResourceProviderTest.java     |    30 +-
 .../server/controller/jmx/JMXMetricHolderTest.java |    75 +
 .../server/ldap/AmbariLdapConfigurationTest.java   |   143 +
 .../ambari/server/orm/DBAccessorImplTest.java      |    30 +
 .../apache/ambari/server/orm/OrmTestHelper.java    |    10 +-
 .../ambari/server/orm/dao/HostVersionDAOTest.java  |    12 +
 .../apache/ambari/server/orm/dao/UserDAOTest.java  |    53 +-
 .../org/apache/ambari/server/orm/db/DDLTests.java  |     2 +-
 .../server/security/SecurityHelperImplTest.java    |     7 +-
 .../server/security/TestAuthenticationFactory.java |    26 +-
 .../AbstractAuthenticationProviderTest.java        |   217 +
 .../AmbariBasicAuthenticationFilterTest.java       |   136 +-
 .../AmbariJWTAuthenticationFilterTest.java         |   191 -
 .../AmbariLocalAuthenticationProviderTest.java     |    90 +
 .../jwt/AmbariJwtAuthenticationFilterTest.java     |   493 +
 .../jwt/JwtAuthenticationPropertiesTest.java       |    51 +
 .../AmbariAuthToLocalUserDetailsServiceTest.java   |    33 +-
 .../AmbariKerberosAuthenticationFilterTest.java    |   183 +-
 ...AmbariKerberosAuthenticationPropertiesTest.java |    16 -
 .../pam/AmbariPamAuthenticationProviderTest.java   |   285 +
 .../authorization/AmbariAuthenticationTest.java    |   334 -
 .../AmbariAuthorizationFilterTest.java             |     5 +-
 ...AmbariAuthorizationProviderDisableUserTest.java |    99 -
 ...apAuthenticationProviderForDNWithSpaceTest.java |    34 +-
 ...AuthenticationProviderForDuplicateUserTest.java |    21 +-
 .../AmbariLdapAuthenticationProviderTest.java      |    54 +-
 .../AmbariLdapBindAuthenticatorTest.java           |    91 +-
 .../authorization/AmbariLocalUserProviderTest.java |   166 -
 .../AmbariPamAuthenticationProviderTest.java       |   151 -
 .../AmbariUserAuthenticationFilterTest.java        |    20 +-
 .../authorization/AuthorizationHelperTest.java     |    24 +-
 .../authorization/AuthorizationTestModule.java     |     3 +-
 .../AuthorizationTestModuleForLdapDNWithSpace.java |     5 +-
 .../authorization/LdapServerPropertiesTest.java    |    20 +-
 .../TestAmbariLdapAuthoritiesPopulator.java        |     4 +-
 .../server/security/authorization/TestUsers.java   |   320 +-
 .../server/security/authorization/UsersTest.java   |    17 +-
 .../jwt/JwtAuthenticationFilterTest.java           |   373 -
 .../jwt/JwtAuthenticationPropertiesTest.java       |    51 -
 .../security/ldap/AmbariLdapDataPopulatorTest.java |   331 +-
 .../server/security/ldap/LdapPerformanceTest.java  |    28 +-
 .../kerberos/ADKerberosOperationHandlerTest.java   |    15 +-
 .../ConfigureAmbariIdentitiesServerActionTest.java |    36 +-
 .../kerberos/FinalizeKerberosServerActionTest.java |     5 +-
 .../kerberos/IPAKerberosOperationHandlerTest.java  |    19 +-
 .../kerberos/KerberosOperationHandlerTest.java     |    16 +
 .../kerberos/KerberosServerActionTest.java         |    26 +-
 .../kerberos/MITKerberosOperationHandlerTest.java  |    19 +-
 .../upgrades/PreconfigureKerberosActionTest.java   |    16 +-
 .../stack/QuickLinksConfigurationModuleTest.java   |     3 +
 .../ambari/server/state/UpgradeHelperTest.java     |    14 +-
 .../ambari/server/state/alert/AlertUriTest.java    |    60 +
 .../ambari/server/state/alert/JmxInfoTest.java     |    85 +
 .../ambari/server/state/cluster/ClusterTest.java   |     4 +
 .../state/repository/VersionDefinitionTest.java    |    55 +
 .../state/stack/ConfigUpgradeValidityTest.java     |    41 +-
 .../ambari/server/topology/AmbariContextTest.java  |     5 +-
 .../server/topology/AsyncCallableServiceTest.java  |    29 +-
 .../ambari/server/topology/BlueprintImplTest.java  |    26 +-
 .../server/topology/ConfigureClusterTaskTest.java  |     2 +-
 .../server/topology/TopologyManagerTest.java       |     7 +
 .../server/upgrade/UpgradeCatalog260Test.java      |     1 +
 .../server/upgrade/UpgradeCatalog300Test.java      |   362 +-
 .../ambari/server/utils/PasswordUtilsTest.java     |   126 +
 ambari-server/src/test/python/TestAmbariServer.py  |     4 +-
 .../python/stacks/2.0.6/OOZIE/test_oozie_server.py |    24 +-
 .../hooks/after-INSTALL/test_after_install.py      |     8 +-
 .../stacks/2.2/KERBEROS/test_kerberos_client.py    |     2 +-
 .../python/stacks/2.3/common/test_stack_advisor.py |    17 +
 .../python/stacks/2.4/LOGSEARCH/test_logfeeder.py  |    34 +-
 .../python/stacks/2.4/LOGSEARCH/test_logsearch.py  |    31 +-
 .../test/python/stacks/2.4/configs/default.json    |     2 +-
 .../python/stacks/2.5/SPARK/test_spark_livy.py     |     3 +-
 .../python/stacks/2.5/common/test_stack_advisor.py |     1 +
 .../2.6/KAFKA/test_kafka_broker_other_sasl.py      |    16 +
 .../python/stacks/2.6/RANGER/test_ranger_admin.py  |    10 +-
 .../python/stacks/2.6/SPARK2/test_spark_livy2.py   |     5 +-
 .../2.6/ZEPPELIN/interpreter_json_generated.py     |     8 +-
 .../stacks/2.6/ZEPPELIN/test_zeppelin_070.py       |    47 +
 .../test/python/stacks/2.6/configs/default.json    |     2 +
 .../stacks/2.6/configs/secure_kafka_sasl_ssl.json  |   632 +
 ambari-server/src/test/resources/ambari.properties |     4 +-
 .../resources/child_quicklinks_to_override.json    |     4 +
 .../HDP/2.2.0/upgrades/upgrade_test_conditions.xml |    22 +-
 ambari-web/app/assets/img/install-box.svg          |    28 +
 ambari-web/app/assets/test/tests.js                |     3 +-
 ambari-web/app/controllers/installer.js            |    44 +-
 .../hawq/addStandby/step3_controller.js            |     3 +-
 .../main/admin/kerberos/step1_controller.js        |   105 +-
 .../main/admin/kerberos/step2_controller.js        |     4 +-
 .../main/admin/kerberos/wizard_controller.js       |    18 +-
 .../main/admin/stack_and_upgrade_controller.js     |     3 +-
 .../main/host/bulk_operations_controller.js        |   369 +-
 ambari-web/app/controllers/main/host/details.js    |    46 +-
 .../app/controllers/main/service/info/configs.js   |    41 +-
 .../app/controllers/main/service/info/metric.js    |    13 +
 ambari-web/app/controllers/main/service/item.js    |    33 +-
 .../app/controllers/wizard/step3_controller.js     |     2 +-
 .../app/controllers/wizard/step4_controller.js     |   128 +-
 .../app/controllers/wizard/step6_controller.js     |    12 -
 .../app/controllers/wizard/step8_controller.js     |    10 +-
 ambari-web/app/data/db_properties_info.js          |    15 +-
 ambari-web/app/mappers/stack_service_mapper.js     |     4 +
 ambari-web/app/messages.js                         |    74 +-
 .../mixins/common/configs/configs_comparator.js    |     5 +-
 .../app/mixins/common/configs/configs_loader.js    |     8 +-
 .../app/mixins/common/widgets/widget_mixin.js      |     1 +
 .../configs/component_actions_by_configs.js        |     4 +-
 ambari-web/app/models/configs/config_group.js      |     8 +
 ambari-web/app/models/host_component.js            |     6 +
 ambari-web/app/models/repository.js                |     3 +-
 ambari-web/app/models/stack_service.js             |   103 +
 ambari-web/app/models/stack_service_component.js   |    33 +
 ambari-web/app/styles/application.less             |   321 +-
 ambari-web/app/styles/bootstrap_overrides.less     |     6 +-
 ambari-web/app/styles/common.less                  |     2 +
 ambari-web/app/styles/config_history_flow.less     |   414 -
 ambari-web/app/styles/config_versions_control.less |   148 +
 .../app/styles/enhanced_service_dashboard.less     |    31 +-
 ambari-web/app/styles/hosts.less                   |     5 +
 ambari-web/app/styles/modal_popups.less            |    27 +-
 ambari-web/app/styles/service_configurations.less  |   297 +
 ambari-web/app/styles/theme/bootstrap-ambari.css   |     7 +-
 ambari-web/app/styles/widgets.less                 |    14 +-
 ambari-web/app/styles/wizard.less                  |    54 +-
 ambari-web/app/templates.js                        |     2 +
 ambari-web/app/templates/application.hbs           |   135 +-
 .../templates/common/assign_master_components.hbs  |    24 +-
 .../templates/common/configs/compare_property.hbs  |    38 -
 .../common/configs/config_history_dropdown_row.hbs |    24 -
 .../common/configs/config_history_flow.hbs         |   148 -
 .../common/configs/config_versions_control.hbs     |    42 +
 .../common/configs/config_versions_dropdown.hbs    |    69 +
 .../common/configs/configs_comparison_cell.hbs     |    26 +
 .../common/configs/configs_comparison_row.hbs      |    79 +
 .../app/templates/common/configs/controls.hbs      |    12 +-
 .../templates/common/configs/service_config.hbs    |   125 +-
 .../common/configs/service_config_category.hbs     |   120 +-
 .../configs/service_config_layout_tab_compare.hbs  |    80 +
 .../common/configs/service_config_wizard.hbs       |     8 +-
 .../comparison/config_widget_comparison.hbs        |    37 -
 .../templates/common/configs/widgets/controls.hbs  |    15 -
 .../templates/common/filter_combo_cleanable.hbs    |     7 +-
 .../app/templates/common/host_progress_popup.hbs   |   115 +-
 .../common/modal_popups/widget_browser_footer.hbs  |     1 -
 .../app/templates/common/widget/gauge_widget.hbs   |     2 +-
 .../app/templates/common/widget/graph_widget.hbs   |     2 +-
 .../app/templates/common/widget/number_widget.hbs  |     2 +-
 .../templates/common/widget/template_widget.hbs    |     2 +-
 .../app/templates/main/admin/kerberos/step1.hbs    |    14 +-
 .../main/alerts/alert_notifications_popup.hbs      |    30 +-
 .../app/templates/main/dashboard/widgets.hbs       |     2 +-
 .../main/host/bulk_add_delete_confirm_popup.hbs    |    40 +
 .../app/templates/main/host/configs_service.hbs    |     2 +-
 .../main/host/delete_hosts_dry_run_popup.hbs       |    32 -
 .../app/templates/main/host/delete_hosts_popup.hbs |    21 +-
 .../main/host/delete_hosts_result_popup.hbs        |     4 +-
 .../app/templates/main/service/info/configs.hbs    |     2 +-
 .../app/templates/main/service/menu_item.hbs       |     8 +-
 ambari-web/app/templates/wizard/step3.hbs          |    12 +-
 ambari-web/app/templates/wizard/step4.hbs          |    58 +-
 ambari-web/app/templates/wizard/step6.hbs          |    30 +-
 .../templates/wizard/step6/step6_issues_popup.hbs  |    43 -
 ambari-web/app/utils/ajax/ajax.js                  |    36 +-
 ambari-web/app/views.js                            |     6 +-
 .../views/common/assign_master_components_view.js  |     4 +-
 ambari-web/app/views/common/breadcrumbs_view.js    |     4 +-
 .../views/common/configs/compare_property_view.js  |    25 -
 .../views/common/configs/config_history_flow.js    |   644 -
 .../common/configs/config_versions_control_view.js |   224 +
 .../configs/config_versions_dropdown_view.js       |    63 +
 .../common/configs/overriddenPropertyRow_view.js   |    31 -
 .../service_config_layout_tab_compare_view.js      |    41 +
 .../views/common/configs/service_config_view.js    |    69 +
 .../configs/service_configs_by_category_view.js    |    17 +-
 .../configs/widgets/combo_config_widget_view.js    |     8 +
 .../comparison/config_widget_comparison_view.js    |    23 -
 ambari-web/app/views/common/controls_view.js       |     7 +-
 .../app/views/common/filter_combo_cleanable.js     |     6 +-
 .../common/form/manage_credentials_form_view.js    |     3 +-
 .../views/common/host_progress_popup_body_view.js  |    12 +
 .../common/modal_popups/confirmation_popup.js      |    11 +-
 .../app/views/common/quick_view_link_view.js       |    64 +-
 .../stack_upgrade/upgrade_version_column_view.js   |    11 +-
 ambari-web/app/views/main/host/details.js          |     4 +
 ambari-web/app/views/main/menu.js                  |     4 +
 ambari-web/app/views/main/service/item.js          |     4 +
 .../main/service/widgets/create/wizard_view.js     |     2 +-
 .../nameNode/step3_controller_test.js              |    23 +-
 .../kerberos/kerberos_wizard_controler_test.js     |     8 +-
 .../main/admin/kerberos/step2_controller_test.js   |     2 +-
 .../test/controllers/main/host/details_test.js     |    23 +-
 ambari-web/test/controllers/wizard/step4_test.js   |    45 +-
 ambari-web/test/controllers/wizard/step8_test.js   |    41 +-
 .../common/configs/configs_comparator_test.js      |     5 -
 ambari-web/test/utils/date/timezone_test.js        |     2 +-
 .../test/views/common/breadcrumbs_view_test.js     |     5 +
 .../test/views/common/chart/linear_time_test.js    |    10 +-
 .../common/configs/config_history_flow_test.js     |   756 -
 .../configs/config_versions_control_view_test.js   |   151 +
 .../configs/config_versions_dropdown_view_test.js  |    82 +
 .../common/configs/overriddenProperty_view_test.js |    42 -
 .../common/configs/service_config_view_test.js     |    52 +-
 .../service_configs_by_category_view_test.js       |    18 +-
 ambari-web/test/views/common/controls_view_test.js |    64 +-
 .../common/host_progress_popup_body_view_test.js   |    99 +-
 .../test/views/common/quick_link_view_test.js      |    15 +-
 .../.gitignore                                     |     0
 .../management-packs/isilon-onefs-mpack/pom.xml    |   133 +
 .../src/main/assemblies/isilon-onefs-mpack.xml     |    40 +
 .../addon-services/ONEFS/1.0.0/alerts.json         |   122 +
 .../ONEFS/1.0.0/configuration/core-site.xml        |   100 +
 .../ONEFS/1.0.0/configuration/hadoop-env.xml       |   404 +
 .../ONEFS/1.0.0/configuration/hdfs-site.xml        |    65 +
 .../ONEFS/1.0.0/configuration/onefs.xml            |    30 +
 .../addon-services/ONEFS/1.0.0/kerberos.json       |    73 +
 .../addon-services/ONEFS/1.0.0/metainfo.xml        |   111 +
 .../addon-services/ONEFS/1.0.0/metrics.json        |   230 +
 .../ONEFS/1.0.0}/package/scripts/__init__.py       |     0
 .../ONEFS/1.0.0/package/scripts/onefs_client.py    |    63 +
 .../ONEFS/1.0.0}/package/scripts/params.py         |     0
 .../ONEFS/1.0.0/package/scripts/params_linux.py    |    70 +
 .../ONEFS/1.0.0/package/scripts/params_windows.py  |    83 +
 .../ONEFS/1.0.0/package/scripts/service_check.py   |    59 +
 .../ONEFS/1.0.0}/package/scripts/status_params.py  |     0
 .../ONEFS/1.0.0/quicklinks/quicklinks.json         |    31 +
 .../addon-services/ONEFS/1.0.0/service_advisor.py  |   122 +
 .../addon-services/ONEFS/1.0.0/themes/theme.json   |    60 +
 .../addon-services/ONEFS/1.0.0/widgets.json        |   141 +
 .../src/main/resources/mpack.json                  |    28 +
 .../src/test/python/TestServiceAdvisor.py          |    67 +
 .../src/test/python/unitTests.py                   |   132 +
 .../ODPi/2.0/services/YARN/package/scripts/yarn.py |     4 +-
 .../view/commons/hdfs/FileOperationService.java    |     4 +-
 .../resources/ui/app/services/file-operation.js    |     2 +-
 dev-support/build-ambari.sh                        |    58 +
 docs/pom.xml                                       |     2 +-
 docs/src/site/apt/index.apt                        |     2 +-
 docs/src/site/apt/whats-new.apt                    |    14 +-
 docs/src/site/site.xml                             |    16 +-
 pom.xml                                            |     1 +
 1174 files changed, 63698 insertions(+), 38516 deletions(-)
 create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/scripts/directives/comboSearch.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Filters.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Pagination.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/styles/combo-search.css
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/app/views/directives/comboSearch.html
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/test/unit/controllers/ambariViews/ViewsListCtrl_test.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/test/unit/directives/comboSearch_test.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/test/unit/services/Filters_test.js
 create mode 100644 ambari-admin/src/main/resources/ui/admin-web/test/unit/services/Pagination_test.js
 create mode 100644 ambari-common/src/main/python/ambari_commons/kerberos/__init__.py
 create mode 100644 ambari-common/src/main/python/ambari_commons/kerberos/kerberos_common.py
 create mode 100644 ambari-common/src/main/python/ambari_commons/kerberos/utils.py
 create mode 100644 ambari-infra/ambari-infra-assembly/src/main/package/rpm/manager/postremove.sh
 create mode 100644 ambari-infra/ambari-infra-manager-it/pom.xml
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/InfraClient.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/InfraManagerStories.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/OffsetDateTimeConverter.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/steps/AbstractInfraSteps.java
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/java/org/apache/ambari/infra/steps/ExportJobsSteps.java
 copy {ambari-logsearch/ambari-logsearch-it => ambari-infra/ambari-infra-manager-it}/src/test/resources/log4j.properties (100%)
 create mode 100644 ambari-infra/ambari-infra-manager-it/src/test/resources/stories/infra_api_tests.story
 create mode 100644 ambari-infra/ambari-infra-manager/docker/docker-compose.yml
 create mode 100755 ambari-infra/ambari-infra-manager/docker/infra-manager-docker-compose.sh
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/CloseableIterator.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/JobProperties.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/JobPropertyMap.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/ObjectSource.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/PropertyMap.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/SolrDAOBase.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/AbstractFileAction.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentArchivingConfiguration.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentArchivingProperties.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentArchivingPropertyMap.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentExportConfiguration.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentExportJobListener.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentExportProperties.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentExportStepListener.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentIterator.java
 delete mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentSource.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/DocumentWiper.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/ExportDestination.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/FileNameSuffixFormatter.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/HdfsUploader.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/ItemWriterListener.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/LocalItemWriterListener.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/SolrDAO.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/SolrParametrizedString.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/SolrProperties.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/archive/WriteCompletedEvent.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/deleting/DocumentDeletingConfiguration.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/deleting/DocumentDeletingProperties.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/deleting/DocumentDeletingPropertyMap.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/main/java/org/apache/ambari/infra/job/deleting/DocumentWiperTasklet.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/java/org/apache/ambari/infra/job/JobPropertiesTest.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/java/org/apache/ambari/infra/job/archive/FileNameSuffixFormatterTest.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/java/org/apache/ambari/infra/job/archive/SolrParametrizedStringTest.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/java/org/apache/ambari/infra/job/archive/SolrPropertiesTest.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/java/org/apache/ambari/infra/job/archive/SolrQueryPropertiesTest.java
 create mode 100644 ambari-infra/ambari-infra-manager/src/test/resoruces/vagrant-infra-manager.properties.sample
 delete mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/posttrm
 create mode 100755 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postinstall.sh
 create mode 100755 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh
 create mode 100755 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh~HEAD
 create mode 100755 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh~trunk
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/preinstall.sh
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postinstall.sh
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh~HEAD
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh~trunk
 create mode 100644 ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/preinstall.sh
 create mode 100644 ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/CustomDescriptor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/InputCustomDescriptor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-config-api/src/main/java/org/apache/ambari/logsearch/config/api/model/inputconfig/MapCustomDescriptor.java
 create mode 100644 ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/model/inputconfig/impl/InputCustomDescriptorImpl.java
 create mode 100644 ambari-logsearch/ambari-logsearch-config-zookeeper/src/main/java/org/apache/ambari/logsearch/config/zookeeper/model/inputconfig/impl/MapCustomDescriptorImpl.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/pom.xml
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/AliasUtil.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/ConfigItem.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/LogFeederProperties.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/common/MetricData.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/Filter.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/filter/mapper/Mapper.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/Input.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/InputMarker.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/input/cache/LRUCache.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/manager/BlockManager.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/manager/InputManager.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/manager/OutputManager.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder-plugin-api/src/main/java/org/apache/ambari/logfeeder/plugin/output/Output.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/.gitignore
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/build.properties
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigBlock.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigItem.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/ApplicationConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/InputSimulateConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogEntryCacheConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederProps.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/LogFeederSecurityConfig.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/conf/MetricsCollectorConfig.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/filter/Filter.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/AbstractInputFile.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/Input.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputFileMarker.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManager.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputManagerImpl.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/InputMarker.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/cache/LRUCache.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/FileCheckInHelper.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ProcessFileHelper.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/input/file/ResumeLineNumberHelper.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/loglevelfilter/FilterLogData.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/mapper/Mapper.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricData.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/StatsLogger.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/Output.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManager.java
 create mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputManagerImpl.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/AliasUtil.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/LogFeederPropertiesUtil.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SSLUtil.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/control
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postinst
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postrm
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/preinst
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/prerm
 create mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh
 create mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh~HEAD
 create mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh~trunk
 create mode 100755 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/logconfig/LogConfigHandlerTest.java
 delete mode 100644 ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/output/OutputSolrTest.java
 create mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh
 create mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh~HEAD
 create mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh~trunk
 create mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch.sh
 delete mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/run.sh
 delete mode 100755 ambari-logsearch/ambari-logsearch-server/src/main/scripts/stop.sh
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/components/graph/graph.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/components/graph/graph.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/components/graph/time-graph.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/components/graph/time-graph.component.ts
 rename ambari-logsearch/ambari-logsearch-web/src/app/classes/components/{ => logs-table}/logs-table-component.spec.ts (100%)
 rename ambari-logsearch/ambari-logsearch-web/src/app/classes/components/{ => logs-table}/logs-table-component.ts (100%)
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/graph.ts
 delete mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/histogram-options.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/object.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/queries/audit-logs-graph-query-params.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/queries/audit-logs-graph-query-params.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/queries/audit-logs-top-resources-query-params.ts
 delete mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/queries/service-logs-histogram-query-params.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/classes/service-injector.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/audit-logs-entries/audit-logs-entries.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/audit-logs-entries/audit-logs-entries.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/audit-logs-entries/audit-logs-entries.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/context-menu/context-menu.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/context-menu/context-menu.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/context-menu/context-menu.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/context-menu/context-menu.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend-item/graph-legend-item.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend/graph-legend.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend/graph-legend.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-legend/graph-legend.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-tooltip/graph-tooltip.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-tooltip/graph-tooltip.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-tooltip/graph-tooltip.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/graph-tooltip/graph-tooltip.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/horizontal-histogram/horizontal-histogram.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/horizontal-histogram/horizontal-histogram.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/horizontal-histogram/horizontal-histogram.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/horizontal-histogram/horizontal-histogram.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/time-line-graph/time-line-graph.component.html
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/time-line-graph/time-line-graph.component.less
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/time-line-graph/time-line-graph.component.spec.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/components/time-line-graph/time-line-graph.component.ts
 create mode 100644 ambari-logsearch/ambari-logsearch-web/src/app/services/storage/audit-logs-graph-data.service.ts
 create mode 100644 ambari-server/docs/api/v1/authentication-source-create.md
 create mode 100644 ambari-server/docs/api/v1/authentication-source-delete.md
 create mode 100644 ambari-server/docs/api/v1/authentication-source-get.md
 create mode 100644 ambari-server/docs/api/v1/authentication-source-list.md
 create mode 100644 ambari-server/docs/api/v1/authentication-source-resources.md
 create mode 100644 ambari-server/docs/api/v1/authentication-source-update.md
 create mode 100644 ambari-server/docs/api/v1/user-create.md
 create mode 100644 ambari-server/docs/api/v1/user-delete.md
 create mode 100644 ambari-server/docs/api/v1/user-get.md
 create mode 100644 ambari-server/docs/api/v1/user-list.md
 create mode 100644 ambari-server/docs/api/v1/user-resources.md
 create mode 100644 ambari-server/docs/api/v1/user-update.md
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/alerts/JmxServerSideAlert.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/alerts/Threshold.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceComponentConfiguration.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthenticationSourceService.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/configuration/ConfigurationPropertyType.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/configuration/LdapUsernameCollisionHandlingBehavior.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthenticationSourceRequest.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthenticationSourceRequestCreateSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthenticationSourceRequestUpdateSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthenticationSourceResponse.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequestCreateUserSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequestCreateUsersSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequestUpdateUserSwagger.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerConfigurationUtils.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OverriddenMetricsHostProvider.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthenticationSourceResourceProvider.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/events/JpaInitializedEvent.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosKeytabPrincipalDAO.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosPrincipalHostDAO.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserAuthenticationDAO.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/KerberosKeytabPrincipalEntity.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/KerberosKeytabServiceMappingEntity.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/KerberosPrincipalHostEntity.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/KerberosPrincipalHostEntityPK.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserAuthenticationEntity.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AccountDisabledException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationEventHandler.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationEventHandlerImpl.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariAuthenticationProvider.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilter.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariLocalAuthenticationProvider.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AmbariUserAuthentication.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/AuthenticationMethodNotAllowedException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/InvalidUsernamePasswordCombinationException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/TooManyLoginFailuresException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/UserNotFoundException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/jwt/AmbariJwtAuthenticationFilter.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/jwt/AmbariJwtAuthenticationProvider.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/jwt/JwtAuthenticationProperties.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/jwt/JwtAuthenticationToken.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authentication/pam/AmbariPamAuthenticationProvider.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariAuthentication.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProvider.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariPamAuthenticationProvider.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariUserAuthentication.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AuthenticationMethod.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/InvalidUsernamePasswordCombinationException.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/PamAuthenticationException.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/UserAuthenticationType.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/UserType.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/jwt/AuthenticationJwtUserNotFoundException.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthentication.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilter.java
 delete mode 100644 ambari-server/src/main/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationProperties.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/stageutils/KerberosKeytabController.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/stageutils/ResolvedKerberosPrincipal.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/state/quicklinks/Host.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractFinalUpgradeCatalog.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpdateAlertScriptPaths.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog262.java
 create mode 100644 ambari-server/src/main/java/org/apache/ambari/server/utils/PasswordUtils.java
 delete mode 100644 ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/kerberos_common.py
 delete mode 100644 ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/package/scripts/utils.py
 delete mode 100644 ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-30/package/scripts/kerberos_common.py
 delete mode 100644 ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-30/package/scripts/utils.py
 delete mode 100644 ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logsearch_common.py
 delete mode 100644 ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/livy2_config_template.py
 delete mode 100644 ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/spark2_config_template.py
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/alerts/ThresholdTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractPrivilegeResourceProviderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/OverriddenMetricsHostProviderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthenticationSourceResourceProviderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/controller/jmx/JMXMetricHolderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/ldap/AmbariLdapConfigurationTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AbstractAuthenticationProviderTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariJWTAuthenticationFilterTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/AmbariLocalAuthenticationProviderTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/jwt/AmbariJwtAuthenticationFilterTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/jwt/JwtAuthenticationPropertiesTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authentication/pam/AmbariPamAuthenticationProviderTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthenticationTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariAuthorizationProviderDisableUserTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLocalUserProviderTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariPamAuthenticationProviderTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
 delete mode 100644 ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationPropertiesTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/state/alert/AlertUriTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/state/alert/JmxInfoTest.java
 create mode 100644 ambari-server/src/test/java/org/apache/ambari/server/utils/PasswordUtilsTest.java
 create mode 100644 ambari-server/src/test/python/stacks/2.6/configs/secure_kafka_sasl_ssl.json
 create mode 100644 ambari-web/app/assets/img/install-box.svg
 delete mode 100644 ambari-web/app/styles/config_history_flow.less
 create mode 100644 ambari-web/app/styles/config_versions_control.less
 create mode 100644 ambari-web/app/styles/service_configurations.less
 delete mode 100644 ambari-web/app/templates/common/configs/compare_property.hbs
 delete mode 100644 ambari-web/app/templates/common/configs/config_history_dropdown_row.hbs
 delete mode 100644 ambari-web/app/templates/common/configs/config_history_flow.hbs
 create mode 100644 ambari-web/app/templates/common/configs/config_versions_control.hbs
 create mode 100644 ambari-web/app/templates/common/configs/config_versions_dropdown.hbs
 create mode 100644 ambari-web/app/templates/common/configs/configs_comparison_cell.hbs
 create mode 100644 ambari-web/app/templates/common/configs/configs_comparison_row.hbs
 create mode 100644 ambari-web/app/templates/common/configs/service_config_layout_tab_compare.hbs
 delete mode 100644 ambari-web/app/templates/common/configs/widgets/comparison/config_widget_comparison.hbs
 create mode 100644 ambari-web/app/templates/main/host/bulk_add_delete_confirm_popup.hbs
 delete mode 100644 ambari-web/app/templates/main/host/delete_hosts_dry_run_popup.hbs
 delete mode 100644 ambari-web/app/templates/wizard/step6/step6_issues_popup.hbs
 delete mode 100644 ambari-web/app/views/common/configs/compare_property_view.js
 delete mode 100644 ambari-web/app/views/common/configs/config_history_flow.js
 create mode 100644 ambari-web/app/views/common/configs/config_versions_control_view.js
 create mode 100644 ambari-web/app/views/common/configs/config_versions_dropdown_view.js
 create mode 100644 ambari-web/app/views/common/configs/service_config_layout_tab_compare_view.js
 delete mode 100644 ambari-web/app/views/common/configs/widgets/comparison/config_widget_comparison_view.js
 delete mode 100644 ambari-web/test/views/common/configs/config_history_flow_test.js
 create mode 100644 ambari-web/test/views/common/configs/config_versions_control_view_test.js
 create mode 100644 ambari-web/test/views/common/configs/config_versions_dropdown_view_test.js
 copy contrib/management-packs/{hdf-ambari-mpack => isilon-onefs-mpack}/.gitignore (100%)
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/pom.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/assemblies/isilon-onefs-mpack.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/alerts.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/configuration/core-site.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/configuration/hadoop-env.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/configuration/hdfs-site.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/configuration/onefs.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/kerberos.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/metainfo.xml
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/metrics.json
 copy contrib/management-packs/{odpi-ambari-mpack/src/main/resources/stacks/ODPi/2.0/services/YARN => isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0}/package/scripts/__init__.py (100%)
 mode change 100755 => 100644
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/package/scripts/onefs_client.py
 copy {ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0 => contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0}/package/scripts/params.py (100%)
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/package/scripts/params_linux.py
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/package/scripts/params_windows.py
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/package/scripts/service_check.py
 copy {ambari-server/src/main/resources/common-services/HDFS/3.0.0.3.0 => contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0}/package/scripts/status_params.py (100%)
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/quicklinks/quicklinks.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/service_advisor.py
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/themes/theme.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/addon-services/ONEFS/1.0.0/widgets.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/main/resources/mpack.json
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/test/python/TestServiceAdvisor.py
 create mode 100644 contrib/management-packs/isilon-onefs-mpack/src/test/python/unitTests.py
 create mode 100755 dev-support/build-ambari.sh

-- 
To stop receiving notification emails like this one, please contact
mradhakrishnan@apache.org.

[ambari] 01/02: Merge branch 'trunk' into branch-feature-AMBARI-14714

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

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

commit d2aee2ef3b93e98168670ba5bcfff8c6b0270fae
Merge: 4ec01a1 2de9543
Author: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
AuthorDate: Tue Jan 23 13:49:34 2018 -0800

    Merge branch 'trunk' into branch-feature-AMBARI-14714

 .github/PULL_REQUEST_TEMPLATE.md                   |    10 +
 .../src/main/resources/ui/admin-web/app/index.html |     9 +-
 .../main/resources/ui/admin-web/app/scripts/app.js |     2 +-
 .../app/scripts/controllers/SideNavCtrl.js         |     6 +-
 .../controllers/ambariViews/ViewsListCtrl.js       |   220 +-
 .../remoteClusters/RemoteClustersListCtrl.js       |   110 +-
 .../stackVersions/StackVersionsCreateCtrl.js       |    28 +-
 .../stackVersions/StackVersionsEditCtrl.js         |     4 +-
 .../stackVersions/StackVersionsListCtrl.js         |   192 +-
 .../controllers/userManagement/GroupsListCtrl.js   |    92 +-
 .../controllers/userManagement/UsersListCtrl.js    |   132 +-
 .../app/scripts/directives/comboSearch.js          |   501 +
 .../ui/admin-web/app/scripts/services/Cluster.js   |     3 +-
 .../ui/admin-web/app/scripts/services/Filters.js   |    84 +
 .../ui/admin-web/app/scripts/services/Group.js     |    11 +-
 .../admin-web/app/scripts/services/Pagination.js   |    59 +
 .../app/scripts/services/RemoteCluster.js          |    10 +-
 .../ui/admin-web/app/scripts/services/Stack.js     |    34 +-
 .../ui/admin-web/app/scripts/services/User.js      |    22 +-
 .../admin-web/app/styles/cluster-information.css   |    29 +-
 .../ui/admin-web/app/styles/combo-search.css       |   164 +
 .../resources/ui/admin-web/app/styles/main.css     |    45 +
 .../ui/admin-web/app/styles/user-management.css    |     4 +
 .../ui/admin-web/app/views/ambariViews/edit.html   |     8 +-
 .../admin-web/app/views/ambariViews/viewsList.html |    52 +-
 .../app/views/clusters/clusterInformation.html     |     8 +-
 .../app/views/directives/comboSearch.html          |    63 +
 .../app/views/directives/editableList.html         |     2 +-
 .../app/views/modals/AddRepositoryModal.html       |     2 +-
 .../app/views/modals/RoleDetailsModal.html         |     2 +-
 .../admin-web/app/views/remoteClusters/list.html   |    37 +-
 .../ui/admin-web/app/views/stackVersions/list.html |    40 +-
 .../app/views/stackVersions/stackVersionPage.html  |     4 +-
 .../app/views/userManagement/groupEdit.html        |    14 +-
 .../app/views/userManagement/groupsList.html       |    55 +-
 .../userManagement/modals/changePassword.html      |     2 +-
 .../views/userManagement/modals/groupCreate.html   |     2 +-
 .../views/userManagement/modals/userCreate.html    |     3 +-
 .../app/views/userManagement/userEdit.html         |    18 +-
 .../app/views/userManagement/usersList.html        |    65 +-
 .../src/main/resources/ui/admin-web/package.json   |     4 +-
 .../controllers/ambariViews/ViewsListCtrl_test.js  |   111 +
 .../userManagement/GroupsListCtrl_test.js          |   100 +-
 .../userManagement/UsersListCtrl_test.js           |   306 -
 .../test/unit/directives/comboSearch_test.js       |   362 +
 .../admin-web/test/unit/services/Filters_test.js   |   161 +
 .../test/unit/services/Pagination_test.js          |    72 +
 .../src/main/python/ambari_agent/ActionQueue.py    |    21 +-
 .../main/python/ambari_agent/CommandStatusDict.py  |     2 +-
 .../src/main/python/ambari_agent/Controller.py     |    25 +-
 .../ambari_agent/CustomServiceOrchestrator.py      |     4 +-
 .../src/main/python/ambari_agent/DataCleaner.py    |     4 +-
 .../src/main/python/ambari_agent/Heartbeat.py      |    17 +-
 .../src/main/python/ambari_agent/LiveStatus.py     |     3 +-
 .../src/main/python/ambari_agent/PythonExecutor.py |    15 +-
 .../ambari_agent/PythonReflectiveExecutor.py       |     3 +-
 .../main/python/ambari_agent/RecoveryManager.py    |    17 +-
 .../python/ambari_agent/StatusCommandsExecutor.py  |     3 +-
 .../main/python/ambari_agent/alerts/ams_alert.py   |    12 +-
 .../main/python/ambari_agent/alerts/base_alert.py  |    47 +-
 .../python/ambari_agent/alerts/metric_alert.py     |     6 +-
 .../main/python/ambari_agent/alerts/port_alert.py  |     4 +-
 .../main/python/ambari_agent/alerts/web_alert.py   |     6 +-
 .../src/main/python/ambari_agent/security.py       |     8 +-
 .../src/test/python/ambari_agent/TestController.py |     8 +-
 .../ambari_agent/examples/ControllerTester.py      |     6 +-
 .../src/main/python/ambari_commons/inet_utils.py   |    46 +
 .../python/ambari_commons/kerberos/__init__.py     |    19 +
 .../ambari_commons/kerberos/kerberos_common.py     |   168 +
 .../main/python/ambari_commons/kerberos/utils.py   |   109 +
 .../src/main/python/ambari_commons/os_check.py     |     2 +
 .../core/providers/package/__init__.py             |    15 +
 .../core/providers/package/yumrpm.py               |   121 +-
 .../libraries/functions/conf_select.py             |     7 +
 .../libraries/functions/constants.py               |    11 +-
 .../libraries/functions/lzo_utils.py               |     6 +-
 .../libraries/functions/setup_atlas_hook.py        |    11 +-
 .../libraries/functions/setup_ranger_plugin_xml.py |    14 +-
 .../libraries/providers/hdfs_resource.py           |     2 +
 ambari-infra/ambari-infra-assembly/pom.xml         |    43 +-
 .../src/main/package/deb/manager/postinst          |     9 +-
 .../src/main/package/deb/manager/postrm            |     8 +
 .../src/main/package/rpm/manager/postinstall.sh    |    11 +-
 .../src/main/package/rpm/manager/postremove.sh     |    23 +
 ambari-infra/ambari-infra-manager-it/pom.xml       |   167 +
 .../java/org/apache/ambari/infra/InfraClient.java  |   114 +
 .../apache/ambari/infra/InfraManagerStories.java   |   108 +
 .../ambari/infra/OffsetDateTimeConverter.java      |    39 +
 .../ambari/infra/steps/AbstractInfraSteps.java     |   256 +
 .../apache/ambari/infra/steps/ExportJobsSteps.java |   199 +
 .../src/test/resources/log4j.properties            |    16 +
 .../test/resources/stories/infra_api_tests.story   |    57 +
 ambari-infra/ambari-infra-manager/.gitignore       |     5 +-
 ambari-infra/ambari-infra-manager/build.xml        |    11 +-
 .../ambari-infra-manager/docker/Dockerfile         |     6 +-
 .../ambari-infra-manager/docker/bin/start.sh       |     2 +-
 .../ambari-infra-manager/docker/docker-compose.yml |   102 +
 .../docker/infra-manager-docker-compose.sh         |   124 +
 ambari-infra/ambari-infra-manager/pom.xml          |    44 +-
 .../java/org/apache/ambari/infra/InfraManager.java |     2 +-
 .../apache/ambari/infra/job/CloseableIterator.java |    24 +
 .../org/apache/ambari/infra/job/JobProperties.java |    47 +
 .../apache/ambari/infra/job/JobPropertyMap.java    |    57 +
 .../org/apache/ambari/infra/job/ObjectSource.java  |    23 +
 .../org/apache/ambari/infra/job/PropertyMap.java   |    25 +
 .../org/apache/ambari/infra/job/SolrDAOBase.java   |    65 +
 .../infra/job/archive/AbstractFileAction.java      |    38 +
 .../infra/job/archive/CompositeFileAction.java     |     3 +-
 .../apache/ambari/infra/job/archive/Document.java  |     3 +-
 .../archive/DocumentArchivingConfiguration.java    |   176 +
 .../job/archive/DocumentArchivingProperties.java   |   264 +
 .../job/archive/DocumentArchivingPropertyMap.java  |    44 +
 .../job/archive/DocumentExportConfiguration.java   |   118 -
 .../job/archive/DocumentExportJobListener.java     |    35 -
 .../job/archive/DocumentExportProperties.java      |   112 -
 .../job/archive/DocumentExportStepListener.java    |    47 -
 .../infra/job/archive/DocumentItemReader.java      |     8 +-
 .../ambari/infra/job/archive/DocumentIterator.java |    25 -
 .../ambari/infra/job/archive/DocumentSource.java   |    24 -
 .../ambari/infra/job/archive/DocumentWiper.java    |    23 +
 .../infra/job/archive/ExportDestination.java       |    25 +
 .../infra/job/archive/FileNameSuffixFormatter.java |    63 +
 .../ambari/infra/job/archive/HdfsUploader.java     |    55 +
 .../infra/job/archive/ItemWriterListener.java      |    23 +
 .../infra/job/archive/LocalDocumentItemWriter.java |    23 +-
 .../infra/job/archive/LocalItemWriterListener.java |    36 +
 .../ambari/infra/job/archive/S3Properties.java     |    64 +-
 .../ambari/infra/job/archive/S3Uploader.java       |    25 +-
 .../apache/ambari/infra/job/archive/SolrDAO.java   |    68 +
 .../infra/job/archive/SolrDocumentIterator.java    |     6 +-
 .../infra/job/archive/SolrDocumentSource.java      |    57 +-
 .../infra/job/archive/SolrParametrizedString.java  |    77 +
 .../ambari/infra/job/archive/SolrProperties.java   |   117 +
 .../ambari/infra/job/archive/SolrQueryBuilder.java |    59 +-
 .../infra/job/archive/SolrQueryProperties.java     |    40 +-
 .../ambari/infra/job/archive/TarGzCompressor.java  |     4 +-
 .../infra/job/archive/WriteCompletedEvent.java     |    45 +
 .../deleting/DocumentDeletingConfiguration.java    |    93 +
 .../job/deleting/DocumentDeletingProperties.java   |    77 +
 .../job/deleting/DocumentDeletingPropertyMap.java  |    44 +
 .../infra/job/deleting/DocumentWiperTasklet.java   |    49 +
 .../infra/model/JobExecutionRestartRequest.java    |    10 +
 .../src/main/resources/infra-manager-env.sh        |    24 +-
 .../src/main/resources/infra-manager.properties    |    58 +-
 .../src/main/resources/infraManager.sh             |   258 +-
 .../apache/ambari/infra/job/JobPropertiesTest.java |    56 +
 .../infra/job/archive/DocumentItemReaderTest.java  |     8 +-
 .../job/archive/FileNameSuffixFormatterTest.java   |    58 +
 .../job/archive/LocalDocumentItemWriterTest.java   |    27 +-
 .../job/archive/SolrParametrizedStringTest.java    |    57 +
 .../infra/job/archive/SolrPropertiesTest.java      |    54 +
 .../infra/job/archive/SolrQueryBuilderTest.java    |    55 +-
 .../infra/job/archive/SolrQueryPropertiesTest.java |    54 +
 .../vagrant-infra-manager.properties.sample        |    37 +
 ambari-infra/pom.xml                               |     6 +-
 ambari-logsearch/ambari-logsearch-assembly/pom.xml |   117 +-
 .../src/main/package/deb/logfeeder/postinst        |    22 +
 .../src/main/package/deb/logfeeder/postrm          |     6 +
 .../src/main/package/deb/logfeeder/posttrm         |    15 -
 .../src/main/package/deb/logfeeder/preinst         |    13 +
 .../src/main/package/deb/portal/postinst           |    19 +
 .../src/main/package/deb/portal/postrm             |     6 +
 .../src/main/package/deb/portal/preinst            |    13 +
 .../src/main/package/rpm/logfeeder/postinstall.sh  |    40 +
 .../src/main/package/rpm/logfeeder/postremove.sh   |    23 +
 .../main/package/rpm/logfeeder/postremove.sh~HEAD  |    21 +
 .../main/package/rpm/logfeeder/postremove.sh~trunk |    21 +
 .../src/main/package/rpm/logfeeder/preinstall.sh   |    28 +
 .../src/main/package/rpm/portal/postinstall.sh     |    37 +
 .../src/main/package/rpm/portal/postremove.sh      |    23 +
 .../src/main/package/rpm/portal/postremove.sh~HEAD |    21 +
 .../main/package/rpm/portal/postremove.sh~trunk    |    21 +
 .../src/main/package/rpm/portal/preinstall.sh      |    28 +
 .../config/api/LogSearchConfigFactory.java         |    49 +-
 .../config/api/LogSearchConfigLogFeeder.java       |     3 +-
 .../api/model/inputconfig/CustomDescriptor.java    |    31 +
 .../model/inputconfig/InputCustomDescriptor.java   |    22 +
 .../api/model/inputconfig/MapCustomDescriptor.java |    22 +
 .../model/inputconfig/impl/InputAdapter.java       |     4 +-
 .../impl/InputCustomDescriptorImpl.java            |    71 +
 .../inputconfig/impl/InputDescriptorImpl.java      |     2 +
 .../inputconfig/impl/MapCustomDescriptorImpl.java  |    81 +
 .../inputconfig/impl/PostMapValuesAdapter.java     |    12 +-
 .../ambari-logsearch-logfeeder-plugin-api/pom.xml  |    76 +
 .../ambari/logfeeder/plugin/common/AliasUtil.java  |   129 +
 .../ambari/logfeeder/plugin/common/ConfigItem.java |   191 +
 .../plugin/common/LogFeederProperties.java         |    32 +
 .../ambari/logfeeder/plugin/common/MetricData.java |    37 +
 .../ambari/logfeeder/plugin/filter/Filter.java     |   187 +
 .../logfeeder/plugin/filter/mapper/Mapper.java     |    74 +
 .../ambari/logfeeder/plugin/input/Input.java       |   340 +
 .../ambari/logfeeder/plugin/input/InputMarker.java |    29 +
 .../logfeeder/plugin/input/cache/LRUCache.java     |    99 +
 .../logfeeder/plugin/manager/BlockManager.java     |    35 +
 .../logfeeder/plugin/manager/InputManager.java     |    46 +
 .../logfeeder/plugin/manager/OutputManager.java    |    43 +
 .../ambari/logfeeder/plugin/output/Output.java     |   132 +
 .../ambari-logsearch-logfeeder/.gitignore          |     1 +
 .../ambari-logsearch-logfeeder/README.md           |     4 +-
 .../ambari-logsearch-logfeeder/build.properties    |    18 -
 .../ambari-logsearch-logfeeder/build.xml           |    28 +-
 .../ambari-logsearch-logfeeder/pom.xml             |    79 +-
 ambari-logsearch/ambari-logsearch-logfeeder/run.sh |     4 +-
 .../org/apache/ambari/logfeeder/LogFeeder.java     |   180 +-
 .../ambari/logfeeder/LogFeederCommandLine.java     |    81 +-
 .../ambari/logfeeder/common/ConfigBlock.java       |   153 -
 .../ambari/logfeeder/common/ConfigHandler.java     |   161 +-
 .../apache/ambari/logfeeder/common/ConfigItem.java |    97 -
 .../logfeeder/common/LogEntryParseTester.java      |    54 +-
 .../logfeeder/common/LogFeederConstants.java       |    50 +
 .../ambari/logfeeder/conf/ApplicationConfig.java   |   110 +
 .../ambari/logfeeder/conf/InputSimulateConfig.java |   154 +
 .../ambari/logfeeder/conf/LogEntryCacheConfig.java |   118 +
 .../ambari/logfeeder/conf/LogFeederProps.java      |   227 +
 .../logfeeder/conf/LogFeederSecurityConfig.java    |   191 +
 .../logfeeder/conf/MetricsCollectorConfig.java     |   113 +
 .../org/apache/ambari/logfeeder/filter/Filter.java |   188 -
 .../apache/ambari/logfeeder/filter/FilterGrok.java |    53 +-
 .../apache/ambari/logfeeder/filter/FilterJSON.java |    24 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java    |    41 +-
 .../ambari/logfeeder/input/AbstractInputFile.java  |   326 -
 .../org/apache/ambari/logfeeder/input/Input.java   |   352 -
 .../logfeeder/input/InputConfigUploader.java       |    92 +-
 .../apache/ambari/logfeeder/input/InputFile.java   |   277 +-
 .../ambari/logfeeder/input/InputFileMarker.java    |    60 +
 .../ambari/logfeeder/input/InputManager.java       |   422 -
 .../ambari/logfeeder/input/InputManagerImpl.java   |   444 +
 .../apache/ambari/logfeeder/input/InputMarker.java |    40 -
 .../apache/ambari/logfeeder/input/InputS3File.java |    61 +-
 .../ambari/logfeeder/input/InputSimulate.java      |   121 +-
 .../ambari/logfeeder/input/cache/LRUCache.java     |    99 -
 .../logfeeder/input/file/FileCheckInHelper.java    |    93 +
 .../logfeeder/input/file/ProcessFileHelper.java    |   143 +
 .../input/file/ResumeLineNumberHelper.java         |    91 +
 .../ambari/logfeeder/input/reader/GZIPReader.java  |     4 +-
 .../input/reader/LogsearchReaderFactory.java       |     4 +-
 .../logfeeder/loglevelfilter/FilterLogData.java    |    73 -
 .../loglevelfilter/LogLevelFilterHandler.java      |   113 +-
 .../org/apache/ambari/logfeeder/mapper/Mapper.java |    45 -
 .../ambari/logfeeder/mapper/MapperAnonymize.java   |    11 +-
 .../apache/ambari/logfeeder/mapper/MapperDate.java |    32 +-
 .../ambari/logfeeder/mapper/MapperFieldCopy.java   |     8 +-
 .../ambari/logfeeder/mapper/MapperFieldName.java   |    10 +-
 .../ambari/logfeeder/mapper/MapperFieldValue.java  |    10 +-
 .../logfeeder/metrics/LogFeederAMSClient.java      |    22 +-
 .../ambari/logfeeder/metrics/MetricData.java       |    46 -
 .../ambari/logfeeder/metrics/MetricsManager.java   |    17 +-
 .../ambari/logfeeder/metrics/StatsLogger.java      |    84 +
 .../org/apache/ambari/logfeeder/output/Output.java |   137 -
 .../apache/ambari/logfeeder/output/OutputData.java |     4 +-
 .../ambari/logfeeder/output/OutputDevNull.java     |    48 +-
 .../apache/ambari/logfeeder/output/OutputFile.java |    56 +-
 .../ambari/logfeeder/output/OutputHDFSFile.java    |    47 +-
 .../ambari/logfeeder/output/OutputKafka.java       |    55 +-
 .../ambari/logfeeder/output/OutputLineFilter.java  |     4 +-
 .../ambari/logfeeder/output/OutputManager.java     |   258 -
 .../ambari/logfeeder/output/OutputManagerImpl.java |   293 +
 .../ambari/logfeeder/output/OutputS3File.java      |    38 +-
 .../apache/ambari/logfeeder/output/OutputSolr.java |    62 +-
 .../logfeeder/output/S3OutputConfiguration.java    |    12 +-
 .../apache/ambari/logfeeder/output/S3Uploader.java |     1 -
 .../ambari/logfeeder/output/spool/LogSpooler.java  |    13 +-
 .../apache/ambari/logfeeder/util/AliasUtil.java    |   114 -
 .../logfeeder/util/LogFeederPropertiesUtil.java    |   498 -
 .../ambari/logfeeder/util/LogFeederUtil.java       |    37 +-
 .../org/apache/ambari/logfeeder/util/SSLUtil.java  |   134 -
 .../src/main/package/deb/control/control           |    22 -
 .../src/main/package/deb/control/postinst          |    15 -
 .../src/main/package/deb/control/postrm            |    15 -
 .../src/main/package/deb/control/preinst           |    15 -
 .../src/main/package/deb/control/prerm             |    15 -
 .../shipper-conf/input.config-sample.json          |     2 +-
 .../src/main/resources/log4j.xml                   |    15 +-
 .../src/main/resources/logfeeder.properties        |    21 +-
 .../src/main/scripts/logfeeder-env.sh              |    40 +
 .../src/main/scripts/logfeeder-env.sh~HEAD         |    40 +
 .../src/main/scripts/logfeeder-env.sh~trunk        |    40 +
 .../src/main/scripts/logfeeder.sh                  |   291 +
 .../src/main/scripts/run.sh                        |   103 -
 .../ambari/logfeeder/filter/FilterGrokTest.java    |    29 +-
 .../ambari/logfeeder/filter/FilterJSONTest.java    |    21 +-
 .../logfeeder/filter/FilterKeyValueTest.java       |    23 +-
 .../ambari/logfeeder/input/InputFileTest.java      |    57 +-
 .../ambari/logfeeder/input/InputManagerTest.java   |    37 +-
 .../ambari/logfeeder/input/cache/LRUCacheTest.java |     1 +
 .../logfeeder/logconfig/LogConfigHandlerTest.java  |   148 -
 .../logfeeder/metrics/MetricsManagerTest.java      |     9 +-
 .../ambari/logfeeder/output/OutputKafkaTest.java   |    13 +-
 .../logfeeder/output/OutputLineFilterTest.java     |     4 +-
 .../ambari/logfeeder/output/OutputManagerTest.java |    67 +-
 .../ambari/logfeeder/output/OutputS3FileTest.java  |   110 +-
 .../ambari/logfeeder/output/OutputSolrTest.java    |   177 -
 ambari-logsearch/ambari-logsearch-server/README.md |     2 +-
 ambari-logsearch/ambari-logsearch-server/build.xml |    36 +-
 ambari-logsearch/ambari-logsearch-server/pom.xml   |    11 -
 ambari-logsearch/ambari-logsearch-server/run.sh    |     2 +-
 .../org/apache/ambari/logsearch/LogSearch.java     |     2 +-
 .../src/main/scripts/logsearch-env.sh              |    40 +
 .../src/main/scripts/logsearch-env.sh~HEAD         |    40 +
 .../src/main/scripts/logsearch-env.sh~trunk        |    40 +
 .../src/main/scripts/logsearch.sh                  |   273 +
 .../src/main/scripts/run.sh                        |    99 -
 .../src/main/scripts/stop.sh                       |    44 -
 ...chExternalServerAuthenticationProviderTest.java |     1 -
 ambari-logsearch/ambari-logsearch-web/package.json |     6 +-
 .../ambari-logsearch-web/src/app/app.module.ts     |    30 +-
 .../classes/components/graph/graph.component.less  |    49 +
 .../classes/components/graph/graph.component.ts    |   457 +
 .../components/graph/time-graph.component.less     |    48 +
 .../components/graph/time-graph.component.ts       |   250 +
 .../{ => logs-table}/logs-table-component.spec.ts  |     0
 .../{ => logs-table}/logs-table-component.ts       |     0
 .../src/app/classes/filtering.ts                   |     2 +-
 .../ambari-logsearch-web/src/app/classes/graph.ts  |    66 +
 .../src/app/classes/histogram-options.ts           |    36 -
 .../src/app/classes/models/store.ts                |     1 +
 .../src/app/classes/models/tab.ts                  |     7 +-
 .../ambari-logsearch-web/src/app/classes/object.ts |    19 +
 .../queries/audit-logs-graph-query-params.spec.ts  |   203 +
 .../queries/audit-logs-graph-query-params.ts       |    69 +
 .../app/classes/queries/audit-logs-query-params.ts |    19 +-
 .../audit-logs-top-resources-query-params.ts       |    23 +
 .../service-logs-histogram-query-params.spec.ts    |   203 -
 .../queries/service-logs-histogram-query-params.ts |    50 +-
 .../classes/queries/service-logs-query-params.ts   |     4 +-
 .../src/app/classes/service-injector.ts            |    23 +
 .../src/app/components/app.component.html          |    11 +-
 .../src/app/components/app.component.less          |     4 +-
 .../audit-logs-entries.component.html              |    36 +
 .../audit-logs-entries.component.spec.ts           |   113 +
 .../audit-logs-entries.component.ts                |   133 +
 .../audit-logs-table.component.spec.ts             |     7 +-
 .../audit-logs-table/audit-logs-table.component.ts |     2 +-
 .../collapsible-panel.component.html               |     8 +-
 .../collapsible-panel.component.spec.ts            |     4 +-
 .../collapsible-panel.component.ts                 |     8 +-
 .../context-menu/context-menu.component.html       |    19 +
 .../context-menu/context-menu.component.less       |    21 +
 .../context-menu/context-menu.component.spec.ts    |   123 +
 .../context-menu/context-menu.component.ts         |    72 +
 .../dropdown-button.component.spec.ts              |    17 +-
 .../dropdown-button/dropdown-button.component.ts   |     6 +-
 .../dropdown-list/dropdown-list.component.html     |     3 +-
 .../dropdown-list/dropdown-list.component.less     |    24 +-
 .../dropdown-list/dropdown-list.component.spec.ts  |     7 +-
 .../filter-button/filter-button.component.spec.ts  |    17 +-
 .../filter-button/filter-button.component.ts       |     7 +-
 .../filter-dropdown.component.spec.ts              |    17 +-
 .../filter-dropdown/filter-dropdown.component.ts   |     5 +-
 .../filters-panel/filters-panel.component.html     |     5 +-
 .../filters-panel/filters-panel.component.spec.ts  |     7 +-
 .../filters-panel/filters-panel.component.ts       |    30 +-
 .../graph-legend-item.component.html               |    19 +
 .../graph-legend-item.component.less               |    27 +
 .../graph-legend-item.component.spec.ts            |    42 +
 .../graph-legend-item.component.ts                 |    37 +
 .../graph-legend/graph-legend.component.html       |    19 +
 .../graph-legend/graph-legend.component.spec.ts    |    50 +
 .../graph-legend/graph-legend.component.ts         |    32 +
 .../graph-tooltip/graph-tooltip.component.html     |    22 +
 .../graph-tooltip/graph-tooltip.component.less     |    69 +
 .../graph-tooltip/graph-tooltip.component.spec.ts  |    50 +
 .../graph-tooltip/graph-tooltip.component.ts       |    36 +
 .../horizontal-histogram.component.html            |    22 +
 .../horizontal-histogram.component.less            |    22 +
 .../horizontal-histogram.component.spec.ts         |    61 +
 .../horizontal-histogram.component.ts              |   114 +
 .../log-context/log-context.component.spec.ts      |     7 +-
 .../log-message/log-message.component.html         |     2 +-
 .../log-message/log-message.component.less         |    27 +-
 .../log-message/log-message.component.spec.ts      |    14 +
 .../log-message/log-message.component.ts           |    24 +-
 .../logs-container/logs-container.component.html   |    36 +-
 .../logs-container/logs-container.component.less   |    23 +-
 .../logs-container.component.spec.ts               |     7 +-
 .../logs-container/logs-container.component.ts     |    71 +-
 .../main-container/main-container.component.html   |     1 -
 .../main-container/main-container.component.less   |     1 -
 .../main-container/main-container.component.ts     |     5 +-
 .../menu-button/menu-button.component.spec.ts      |    17 +-
 .../menu-button/menu-button.component.ts           |     6 +-
 .../src/app/components/mixins.less                 |    35 +-
 .../search-box/search-box.component.html           |    28 +-
 .../search-box/search-box.component.less           |    30 +-
 .../search-box/search-box.component.spec.ts        |    79 +
 .../components/search-box/search-box.component.ts  |   215 +-
 .../service-logs-table.component.html              |   188 +-
 .../service-logs-table.component.less              |   216 +-
 .../service-logs-table.component.spec.ts           |    24 +-
 .../service-logs-table.component.ts                |   200 +-
 .../src/app/components/tabs/tabs.component.spec.ts |     4 -
 .../src/app/components/tabs/tabs.component.ts      |     1 +
 .../time-histogram/time-histogram.component.html   |    21 +-
 .../time-histogram/time-histogram.component.less   |    23 +-
 .../time-histogram.component.spec.ts               |   157 +-
 .../time-histogram/time-histogram.component.ts     |   230 +-
 .../time-line-graph/time-line-graph.component.html |    27 +
 .../time-line-graph/time-line-graph.component.less |    42 +
 .../time-line-graph.component.spec.ts              |    69 +
 .../time-line-graph/time-line-graph.component.ts   |   111 +
 .../time-range-picker.component.spec.ts            |     7 +-
 .../timezone-picker.component.spec.ts              |     7 +-
 .../components/top-menu/top-menu.component.spec.ts |     3 +
 .../app/components/top-menu/top-menu.component.ts  |     3 +-
 .../src/app/components/variables.less              |    10 +
 .../ambari-logsearch-web/src/app/mock-data.ts      |   174 +-
 .../app/services/component-actions.service.spec.ts |     7 +-
 .../src/app/services/component-actions.service.ts  |    10 +-
 .../services/component-generator.service.spec.ts   |     7 +-
 .../src/app/services/http-client.service.ts        |    44 +-
 .../app/services/logs-container.service.spec.ts    |     7 +-
 .../src/app/services/logs-container.service.ts     |   159 +-
 .../storage/audit-logs-graph-data.service.ts       |    32 +
 .../src/app/services/storage/reducers.service.ts   |     2 +
 .../src/app/services/utils.service.spec.ts         |   117 +
 .../src/app/services/utils.service.ts              |    12 +
 .../ambari-logsearch-web/src/assets/i18n/en.json   |    26 +-
 .../ambari-logsearch-web/src/styles.less           |     4 +
 .../src/vendor/css/bootstrap-logsearch.min.css     |     2 +-
 .../src/vendor/js/bootstrap-logsearch.min.js       |     2 +-
 ambari-logsearch/ambari-logsearch-web/yarn.lock    |    20 +-
 ambari-logsearch/docker/Dockerfile                 |     6 +-
 ambari-logsearch/docker/all.yml                    |     6 +-
 ambari-logsearch/docker/bin/start.sh               |    37 +-
 ambari-logsearch/docker/docker-compose.yml         |     2 -
 ambari-logsearch/docker/logsearch-logfeeder.yml    |     1 -
 ambari-logsearch/docker/logsearch-server.yml       |     1 -
 .../docker/test-config/logfeeder/logfeeder-env.sh  |     5 +-
 .../test-config/logfeeder/logfeeder.properties     |     2 +-
 .../docker/test-config/logsearch/logsearch-env.sh  |     5 +-
 .../logsearch/logsearch-https.properties           |     4 +-
 .../test-config/logsearch/logsearch.properties     |     4 +-
 ambari-logsearch/pom.xml                           |     1 +
 ambari-project/pom.xml                             |     2 +-
 ambari-server/docs/api/generated/index.html        | 30360 +++++++++++--------
 ambari-server/docs/api/generated/swagger.json      |  4906 +--
 .../docs/api/v1/authentication-source-create.md    |    86 +
 .../docs/api/v1/authentication-source-delete.md    |    49 +
 .../docs/api/v1/authentication-source-get.md       |    93 +
 .../docs/api/v1/authentication-source-list.md      |   116 +
 .../docs/api/v1/authentication-source-resources.md |   117 +
 .../docs/api/v1/authentication-source-update.md    |   104 +
 ambari-server/docs/api/v1/index.md                 |    12 +
 ambari-server/docs/api/v1/user-create.md           |   107 +
 ambari-server/docs/api/v1/user-delete.md           |    48 +
 ambari-server/docs/api/v1/user-get.md              |    97 +
 ambari-server/docs/api/v1/user-list.md             |    98 +
 ambari-server/docs/api/v1/user-resources.md        |   175 +
 ambari-server/docs/api/v1/user-update.md           |   115 +
 ambari-server/docs/configuration/index.md          |    11 +-
 ambari-server/pom.xml                              |     1 -
 ambari-server/sbin/ambari-server                   |     1 -
 .../ambari/server/agent/ExecutionCommand.java      |    37 +-
 .../ambari/server/agent/HeartBeatHandler.java      |   122 +-
 .../ambari/server/agent/HeartbeatProcessor.java    |    33 +-
 .../ambari/server/alerts/JmxServerSideAlert.java   |    98 +
 .../org/apache/ambari/server/alerts/Threshold.java |    73 +
 .../ambari/server/api/AmbariErrorHandler.java      |     2 +-
 .../api/resources/ResourceInstanceFactoryImpl.java |     4 +
 .../api/resources/UserResourceDefinition.java      |     1 +
 .../ambari/server/api/services/AmbariMetaInfo.java |   126 +-
 .../ambari/server/api/services/BaseService.java    |     1 -
 .../RootServiceComponentConfiguration.java         |    73 +
 .../users/UserAuthenticationSourceService.java     |   223 +
 .../server/api/services/users/UserService.java     |   132 +-
 .../ambari/server/audit/event/LoginAuditEvent.java |    20 +
 .../checks/RequiredServicesInRepositoryCheck.java  |    18 +-
 .../configuration/ComponentSSLConfiguration.java   |     4 +-
 .../ambari/server/configuration/Configuration.java |   596 +-
 .../configuration/ConfigurationPropertyType.java   |    22 +
 .../LdapUsernameCollisionHandlingBehavior.java     |    29 +
 .../controller/AmbariManagementController.java     |    39 -
 .../controller/AmbariManagementControllerImpl.java |   219 +-
 .../ambari/server/controller/AmbariServer.java     |    32 +-
 .../ambari/server/controller/ControllerModule.java |     7 +
 .../server/controller/DeleteIdentityHandler.java   |     5 +-
 .../ambari/server/controller/KerberosHelper.java   |     2 +-
 .../server/controller/KerberosHelperImpl.java      |  1113 +-
 .../server/controller/ResourceProviderFactory.java |    24 +-
 .../controller/StackServiceComponentResponse.java  |    10 +
 .../UserAuthenticationSourceRequest.java           |    82 +
 ...erAuthenticationSourceRequestCreateSwagger.java |    40 +
 ...erAuthenticationSourceRequestUpdateSwagger.java |    40 +
 .../UserAuthenticationSourceResponse.java          |   127 +
 .../ambari/server/controller/UserRequest.java      |    50 +-
 .../controller/UserRequestCreateUserSwagger.java   |    49 +
 .../controller/UserRequestCreateUsersSwagger.java  |    52 +
 .../controller/UserRequestUpdateUserSwagger.java   |    52 +
 .../ambari/server/controller/UserResponse.java     |    87 +-
 .../AbstractAuthorizedResourceProvider.java        |    12 +-
 .../AbstractControllerResourceProvider.java        |    83 +-
 .../internal/AbstractDRResourceProvider.java       |     9 +-
 .../internal/AbstractResourceProvider.java         |     2 +-
 .../internal/ActionResourceProvider.java           |    34 +-
 .../ActiveWidgetLayoutResourceProvider.java        |     4 +-
 .../internal/AlertDefinitionResourceProvider.java  |     2 +-
 .../internal/AlertGroupResourceProvider.java       |     2 +-
 .../internal/AlertHistoryResourceProvider.java     |     2 +-
 .../internal/AlertNoticeResourceProvider.java      |     2 +-
 .../controller/internal/AlertResourceProvider.java |     2 +-
 .../internal/AlertTargetResourceProvider.java      |     2 +-
 .../internal/AmbariPrivilegeResourceProvider.java  |    36 +-
 .../internal/AmbariServerConfigurationHandler.java |   102 +-
 .../internal/AmbariServerConfigurationUtils.java   |    78 +
 .../AmbariServerLDAPConfigurationHandler.java      |     9 +-
 .../internal/BlueprintResourceProvider.java        |    37 +-
 .../controller/internal/CalculatedStatus.java      |     7 +-
 .../internal/ClientConfigResourceProvider.java     |    33 +-
 .../ClusterKerberosDescriptorResourceProvider.java |     2 +-
 .../internal/ClusterPrivilegeResourceProvider.java |    31 +-
 .../internal/ClusterResourceProvider.java          |    23 +-
 .../ClusterStackVersionResourceProvider.java       |    16 +-
 .../internal/ConfigGroupResourceProvider.java      |    39 +-
 .../internal/ConfigurationResourceProvider.java    |     2 +-
 .../internal/CredentialResourceProvider.java       |     2 +-
 .../controller/internal/DefaultProviderModule.java |    17 +-
 .../internal/ExtensionLinkResourceProvider.java    |    33 +-
 .../internal/ExtensionResourceProvider.java        |    27 +-
 .../internal/ExtensionVersionResourceProvider.java |    32 +-
 .../controller/internal/FeedResourceProvider.java  |    41 +-
 .../internal/GroupPrivilegeResourceProvider.java   |    42 +-
 .../controller/internal/GroupResourceProvider.java |    32 +-
 .../HostComponentProcessResourceProvider.java      |    38 +-
 .../internal/HostComponentResourceProvider.java    |    84 +-
 .../HostKerberosIdentityResourceProvider.java      |    17 +-
 .../controller/internal/HostResourceProvider.java  |    53 +-
 .../internal/HostStackVersionResourceProvider.java |     2 +-
 .../internal/InstanceResourceProvider.java         |    35 +-
 .../controller/internal/JobResourceProvider.java   |    57 +-
 .../KerberosDescriptorResourceProvider.java        |    20 +-
 .../internal/LdapSyncEventResourceProvider.java    |    47 +-
 .../internal/LoggingResourceProvider.java          |     9 +-
 .../internal/MemberResourceProvider.java           |    29 +-
 .../internal/OperatingSystemResourceProvider.java  |     2 +-
 .../internal/OverriddenMetricsHostProvider.java    |   101 +
 .../internal/PermissionResourceProvider.java       |    25 +-
 .../internal/PrivilegeResourceProvider.java        |     2 +-
 .../QuickLinkArtifactResourceProvider.java         |     2 +-
 .../internal/ReadOnlyResourceProvider.java         |     7 -
 .../internal/RecommendationResourceProvider.java   |    65 +-
 .../internal/RemoteClusterResourceProvider.java    |    28 +-
 .../internal/RepositoryResourceProvider.java       |    14 +-
 .../internal/RequestResourceProvider.java          |    52 +-
 .../internal/RequestScheduleResourceProvider.java  |    55 +-
 .../RoleAuthorizationResourceProvider.java         |     2 +-
 .../RootServiceComponentConfigurationHandler.java  |     7 +-
 ...viceComponentConfigurationResourceProvider.java |    20 +-
 .../RootServiceComponentResourceProvider.java      |    31 +-
 .../RootServiceHostComponentResourceProvider.java  |    34 +-
 .../internal/RootServiceResourceProvider.java      |    26 +-
 .../controller/internal/ScaleClusterRequest.java   |    17 +-
 .../ServiceConfigVersionResourceProvider.java      |     2 +-
 .../internal/SettingResourceProvider.java          |     2 +-
 .../ambari/server/controller/internal/Stack.java   |    14 +
 .../internal/StackAdvisorResourceProvider.java     |     7 +-
 .../internal/StackArtifactResourceProvider.java    |     2 +-
 ...ackConfigurationDependencyResourceProvider.java |    40 +-
 .../StackConfigurationResourceProvider.java        |    42 +-
 .../internal/StackDefinedPropertyProvider.java     |     9 +-
 .../internal/StackDependencyResourceProvider.java  |    41 +-
 .../StackLevelConfigurationResourceProvider.java   |    40 +-
 .../controller/internal/StackResourceProvider.java |    28 +-
 .../StackServiceComponentResourceProvider.java     |    59 +-
 .../internal/StackServiceResourceProvider.java     |    45 +-
 .../internal/StackVersionResourceProvider.java     |     5 +-
 .../controller/internal/StageResourceProvider.java |     2 +-
 .../internal/TargetClusterResourceProvider.java    |    31 +-
 .../internal/TaskAttemptResourceProvider.java      |    53 +-
 .../controller/internal/TaskResourceProvider.java  |    27 +-
 .../internal/ThemeArtifactResourceProvider.java    |     2 +-
 .../internal/UpgradeGroupResourceProvider.java     |     2 +-
 .../internal/UpgradeItemResourceProvider.java      |     2 +-
 .../internal/UpgradeResourceProvider.java          |    29 +-
 .../internal/UpgradeSummaryResourceProvider.java   |     2 +-
 .../UserAuthenticationSourceResourceProvider.java  |   417 +
 .../UserAuthorizationResourceProvider.java         |     2 +-
 .../internal/UserPrivilegeResourceProvider.java    |    59 +-
 .../controller/internal/UserResourceProvider.java  |   501 +-
 .../internal/ValidationResourceProvider.java       |    86 +-
 .../VersionDefinitionResourceProvider.java         |     2 +-
 .../internal/ViewInstanceResourceProvider.java     |    55 +-
 .../internal/ViewPermissionResourceProvider.java   |    29 +-
 .../internal/ViewPrivilegeResourceProvider.java    |    36 +-
 .../controller/internal/ViewResourceProvider.java  |    19 +-
 .../internal/ViewURLResourceProvider.java          |    25 +-
 .../internal/ViewVersionResourceProvider.java      |    45 +-
 .../internal/WidgetLayoutResourceProvider.java     |     2 +-
 .../internal/WidgetResourceProvider.java           |     2 +-
 .../internal/WorkflowResourceProvider.java         |    54 +-
 .../server/controller/jmx/JMXMetricHolder.java     |    64 +
 .../controller/metrics/MetricHostProvider.java     |     9 +
 .../timeline/AMSComponentPropertyProvider.java     |     4 +-
 .../ambari/server/controller/spi/Resource.java     |     2 +
 .../controller/utilities/PropertyHelper.java       |     6 +-
 .../apache/ambari/server/events/AmbariEvent.java   |     7 +-
 .../ambari/server/events/JpaInitializedEvent.java  |    34 +
 .../upgrade/HostVersionOutOfSyncListener.java      |    24 +
 .../ldap/domain/AmbariLdapConfiguration.java       |   176 +-
 .../ldap/domain/AmbariLdapConfigurationKeys.java   |   121 +-
 .../service/AmbariLdapConfigurationProvider.java   |    29 +-
 .../metrics/system/impl/AmbariMetricSinkImpl.java  |     2 -
 .../server/orm/AmbariLocalSessionInterceptor.java  |     2 +-
 .../org/apache/ambari/server/orm/DBAccessor.java   |    29 +
 .../apache/ambari/server/orm/DBAccessorImpl.java   |     3 +
 .../ambari/server/orm/GuiceJpaInitializer.java     |     8 +-
 .../ambari/server/orm/dao/HostVersionDAO.java      |    15 +
 .../ambari/server/orm/dao/KerberosKeytabDAO.java   |   154 +-
 .../server/orm/dao/KerberosKeytabPrincipalDAO.java |   309 +
 .../server/orm/dao/KerberosPrincipalDAO.java       |     9 -
 .../server/orm/dao/KerberosPrincipalHostDAO.java   |   252 -
 .../server/orm/dao/UserAuthenticationDAO.java      |   116 +
 .../org/apache/ambari/server/orm/dao/UserDAO.java  |    95 +-
 .../orm/entities/AmbariConfigurationEntity.java    |     2 +-
 .../orm/entities/HostGroupComponentEntityPK.java   |     4 +-
 .../server/orm/entities/HostVersionEntity.java     |     5 +
 .../server/orm/entities/KerberosKeytabEntity.java  |   152 +-
 .../entities/KerberosKeytabPrincipalEntity.java    |   236 +
 .../KerberosKeytabServiceMappingEntity.java        |    88 +
 .../orm/entities/KerberosPrincipalEntity.java      |    25 -
 .../orm/entities/KerberosPrincipalHostEntity.java  |   213 -
 .../entities/KerberosPrincipalHostEntityPK.java    |   115 -
 .../orm/entities/RepositoryVersionEntity.java      |     5 +
 .../orm/entities/TopologyHostRequestEntity.java    |    27 +
 .../orm/entities/UserAuthenticationEntity.java     |   189 +
 .../ambari/server/orm/entities/UserEntity.java     |   253 +-
 .../authentication/AccountDisabledException.java   |    27 +
 .../AmbariAuthenticationEventHandler.java          |    64 +
 .../AmbariAuthenticationEventHandlerImpl.java      |   168 +
 .../AmbariAuthenticationException.java             |    56 +
 .../authentication/AmbariAuthenticationFilter.java |    10 +
 .../AmbariAuthenticationProvider.java              |   117 +
 .../AmbariBasicAuthenticationFilter.java           |    97 +-
 .../AmbariJWTAuthenticationFilter.java             |   140 -
 .../AmbariLocalAuthenticationProvider.java         |   113 +
 .../authentication/AmbariUserAuthentication.java   |    79 +
 .../AuthenticationMethodNotAllowedException.java   |    65 +
 ...nvalidUsernamePasswordCombinationException.java |    40 +
 .../TooManyLoginFailuresException.java             |    27 +
 .../authentication/UserNotFoundException.java      |    43 +
 .../jwt/AmbariJwtAuthenticationFilter.java         |   419 +
 .../jwt/AmbariJwtAuthenticationProvider.java       |   136 +
 .../jwt/JwtAuthenticationProperties.java           |    87 +
 .../authentication/jwt/JwtAuthenticationToken.java |    55 +
 .../AmbariAuthToLocalUserDetailsService.java       |   163 +-
 .../AmbariKerberosAuthenticationFilter.java        |    76 +-
 .../AmbariKerberosAuthenticationProperties.java    |    26 +-
 .../pam/AmbariPamAuthenticationProvider.java       |   302 +
 .../pam/PamAuthenticationFactory.java              |    21 +-
 .../authorization/AmbariAuthentication.java        |   229 -
 .../authorization/AmbariAuthorizationFilter.java   |     4 +-
 .../AmbariLdapAuthenticationProvider.java          |   183 +-
 .../AmbariLdapAuthoritiesPopulator.java            |     5 +-
 .../authorization/AmbariLdapBindAuthenticator.java |    13 +-
 .../authorization/AmbariLocalUserProvider.java     |   107 -
 .../AmbariPamAuthenticationProvider.java           |   252 -
 .../authorization/AmbariUserAuthentication.java    |    76 -
 .../AmbariUserAuthorizationFilter.java             |    12 +-
 .../authorization/AuthenticationMethod.java        |    37 +
 .../authorization/AuthorizationHelper.java         |     4 +-
 ...nvalidUsernamePasswordCombinationException.java |    34 -
 .../authorization/LdapServerProperties.java        |    99 +-
 .../authorization/PamAuthenticationException.java  |    36 -
 .../ambari/server/security/authorization/User.java |    61 +-
 .../authorization/UserAuthenticationType.java      |    26 +
 .../server/security/authorization/UserType.java    |    25 -
 .../server/security/authorization/Users.java       |  1259 +-
 .../AmbariInternalAuthenticationProvider.java      |     4 +-
 .../AuthenticationJwtUserNotFoundException.java    |    43 -
 .../authorization/jwt/JwtAuthentication.java       |    34 -
 .../authorization/jwt/JwtAuthenticationFilter.java |   423 -
 .../jwt/JwtAuthenticationProperties.java           |    87 -
 .../security/ldap/AmbariLdapDataPopulator.java     |    91 +-
 .../ambari/server/security/ldap/LdapBatchDto.java  |    32 +-
 .../AbstractPrepareKerberosServerAction.java       |    31 +-
 .../serveraction/kerberos/CleanupServerAction.java |     6 +-
 .../ConfigureAmbariIdentitiesServerAction.java     |   143 +-
 .../kerberos/CreateKeytabFilesServerAction.java    |   112 +-
 .../kerberos/CreatePrincipalsServerAction.java     |    47 +-
 .../kerberos/DestroyPrincipalsServerAction.java    |    62 +-
 .../kerberos/FinalizeKerberosServerAction.java     |    24 +-
 .../kerberos/KerberosOperationHandler.java         |    14 +-
 .../kerberos/KerberosServerAction.java             |   291 +-
 .../PrepareEnableKerberosServerAction.java         |    16 +-
 .../PrepareKerberosIdentitiesServerAction.java     |     9 -
 .../stageutils/KerberosKeytabController.java       |   213 +
 .../stageutils/ResolvedKerberosKeytab.java         |   117 +-
 .../stageutils/ResolvedKerberosPrincipal.java      |   169 +
 .../serveraction/upgrades/ConfigureAction.java     |    51 +-
 .../upgrades/PreconfigureKerberosAction.java       |    12 +-
 .../java/org/apache/ambari/server/state/Alert.java |     1 +
 .../org/apache/ambari/server/state/Cluster.java    |     9 +
 .../apache/ambari/server/state/ComponentInfo.java  |    15 +
 .../apache/ambari/server/state/ConfigHelper.java   |     5 +
 .../apache/ambari/server/state/UpgradeContext.java |    14 +
 .../ambari/server/state/alert/AlertDefinition.java |    13 +
 .../server/state/alert/AlertDefinitionFactory.java |    31 +-
 .../apache/ambari/server/state/alert/AlertUri.java |    41 +
 .../ambari/server/state/alert/MetricSource.java    |    66 +-
 .../ambari/server/state/alert/Reporting.java       |    38 +
 .../ambari/server/state/alert/ScriptSource.java    |     4 +
 .../ambari/server/state/alert/ServerSource.java    |    15 +
 .../ambari/server/state/cluster/ClusterImpl.java   |    51 +-
 .../ambari/server/state/cluster/ClustersImpl.java  |     8 +-
 .../ambari/server/state/quicklinks/Host.java       |    75 +
 .../ambari/server/state/quicklinks/Link.java       |    13 +
 .../state/repository/VersionDefinitionXml.java     |    59 +-
 .../state/services/AmbariServerAlertService.java   |     7 +-
 .../state/services/MetricsRetrievalService.java    |     8 +-
 .../server/state/stack/MetricDefinition.java       |     9 +-
 .../state/stack/upgrade/ClusterGrouping.java       |     9 +
 .../state/stack/upgrade/StageWrapperBuilder.java   |    10 +-
 .../ambari/server/state/stack/upgrade/Task.java    |     7 +
 .../ambari/server/topology/AmbariContext.java      |     7 +-
 .../server/topology/AsyncCallableService.java      |    16 +-
 .../ambari/server/topology/HostOfferResponse.java  |    23 +-
 .../apache/ambari/server/topology/HostRequest.java |    52 +-
 .../ambari/server/topology/LogicalRequest.java     |    44 +
 .../ambari/server/topology/PersistedState.java     |     5 +
 .../ambari/server/topology/PersistedStateImpl.java |    11 +
 .../ambari/server/topology/TopologyManager.java    |    59 +-
 .../server/topology/tasks/TopologyHostTask.java    |     4 +
 .../ambari/server/topology/tasks/TopologyTask.java |    20 +-
 .../upgrade/AbstractFinalUpgradeCatalog.java       |    58 +
 .../ambari/server/upgrade/FinalUpgradeCatalog.java |    28 +-
 .../ambari/server/upgrade/SchemaUpgradeHelper.java |     2 +
 .../server/upgrade/UpdateAlertScriptPaths.java     |    48 +
 .../ambari/server/upgrade/UpgradeCatalog252.java   |     7 +-
 .../ambari/server/upgrade/UpgradeCatalog260.java   |     3 +
 .../ambari/server/upgrade/UpgradeCatalog262.java   |    70 +
 .../ambari/server/upgrade/UpgradeCatalog300.java   |   486 +
 .../apache/ambari/server/utils/PasswordUtils.java  |   183 +
 ambari-server/src/main/python/ambari-server.py     |     6 +-
 .../python/ambari_server/dbConfiguration_linux.py  |    26 +-
 .../main/python/ambari_server/kerberos_setup.py    |     2 -
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |    69 +-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |    70 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |    70 +-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |    69 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |    69 +-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |    71 +-
 .../src/main/resources/META-INF/persistence.xml    |     4 +-
 .../HBASE/0.96.0.2.0/package/scripts/hbase.py      |    26 +-
 .../HBASE/2.0.0.3.0/package/scripts/hbase.py       |    39 +-
 .../2.0.0.3.0/package/scripts/status_params.py     |     2 +-
 .../common-services/HDFS/2.1.0.2.0/metainfo.xml    |     1 +
 .../common-services/HDFS/3.0.0.3.0/metainfo.xml    |     1 +
 .../3.0.0.3.0/package/scripts/status_params.py     |     2 +-
 .../HIVE/0.12.0.2.0/configuration/hive-env.xml     |     1 +
 .../HIVE/0.12.0.2.0/package/scripts/hive.py        |    10 +-
 .../0.12.0.2.0/package/scripts/params_linux.py     |     2 +
 .../HIVE/2.1.0.3.0/configuration/hive-env.xml      |     1 +
 .../HIVE/2.1.0.3.0/package/scripts/hive.py         |    10 +-
 .../HIVE/2.1.0.3.0/package/scripts/params_linux.py |     1 +
 .../package/scripts/setup_ranger_kafka.py          |    14 +-
 .../KAFKA/0.10.0/configuration/kafka-broker.xml    |     2 +-
 .../KAFKA/0.8.1/package/scripts/params.py          |     6 +-
 .../0.8.1/package/scripts/setup_ranger_kafka.py    |    15 +-
 .../1.10.3-10/configuration/kerberos-env.xml       |     4 +-
 .../KERBEROS/1.10.3-10/configuration/krb5-conf.xml |    11 +
 .../1.10.3-10/package/scripts/kerberos_client.py   |    57 +-
 .../1.10.3-10/package/scripts/kerberos_common.py   |   493 -
 .../KERBEROS/1.10.3-10/package/scripts/params.py   |     6 +-
 .../1.10.3-10/package/scripts/service_check.py     |    32 +-
 .../KERBEROS/1.10.3-10/package/scripts/utils.py    |   105 -
 .../KERBEROS/1.10.3-10/properties/krb5_conf.j2     |     3 +
 .../1.10.3-30/configuration/kerberos-env.xml       |     4 +-
 .../KERBEROS/1.10.3-30/configuration/krb5-conf.xml |    11 +
 .../1.10.3-30/package/scripts/kerberos_client.py   |    57 +-
 .../1.10.3-30/package/scripts/kerberos_common.py   |   493 -
 .../KERBEROS/1.10.3-30/package/scripts/params.py   |     7 +-
 .../1.10.3-30/package/scripts/service_check.py     |    32 +-
 .../KERBEROS/1.10.3-30/package/scripts/utils.py    |   105 -
 .../KERBEROS/1.10.3-30/properties/krb5_conf.j2     |     3 +
 .../0.5.0.2.2/package/scripts/setup_ranger_knox.py |    16 +-
 .../0.5.0.3.0/package/scripts/setup_ranger_knox.py |    16 +-
 .../0.5.0/configuration/logfeeder-env.xml          |     2 +-
 .../0.5.0/configuration/logfeeder-properties.xml   |     2 +-
 .../0.5.0/configuration/logsearch-env.xml          |     6 +-
 .../LOGSEARCH/0.5.0/package/scripts/logfeeder.py   |     7 +-
 .../LOGSEARCH/0.5.0/package/scripts/logsearch.py   |     8 +-
 .../0.5.0/package/scripts/logsearch_common.py      |    54 -
 .../LOGSEARCH/0.5.0/package/scripts/params.py      |     8 +-
 .../0.5.0/package/scripts/setup_logfeeder.py       |     2 +-
 .../0.5.0/package/scripts/setup_logsearch.py       |     2 +-
 .../LOGSEARCH/0.5.0/properties/logfeeder-env.sh.j2 |     5 +-
 .../LOGSEARCH/0.5.0/properties/logsearch-env.sh.j2 |     5 +-
 .../MAHOUT/1.0.0.2.3/package/scripts/mahout.py     |    12 +-
 .../OOZIE/4.0.0.2.0/configuration/oozie-env.xml    |     1 +
 .../package/scripts/oozie_server_upgrade.py        |    24 +-
 .../OOZIE/4.2.0.3.0/configuration/oozie-env.xml    |     1 +
 .../package/scripts/oozie_server_upgrade.py        |    50 +-
 .../PIG/0.12.0.2.0/package/scripts/pig.py          |    16 +-
 .../PIG/0.16.1.3.0/package/scripts/pig.py          |    16 +-
 .../RANGER/0.4.0/package/scripts/params.py         |     4 +-
 .../RANGER/0.4.0/package/scripts/ranger_admin.py   |    10 +-
 .../0.4.0/package/scripts/setup_ranger_xml.py      |    19 +-
 .../RANGER_KMS/0.5.0.2.3/package/scripts/kms.py    |    13 +-
 .../0.5.0.2.3/package/scripts/kms_server.py        |     6 +-
 .../common-services/SPARK/1.2.1/alerts.json        |     2 +-
 .../SPARK/1.2.1/package/scripts/livy_service.py    |    24 +-
 .../SPARK/1.2.1/package/scripts/params.py          |     2 +
 .../SPARK/1.2.1/package/scripts/setup_spark.py     |    20 +-
 .../SPARK/2.2.0/package/scripts/livy_service.py    |    24 +-
 .../SPARK/2.2.0/package/scripts/params.py          |     2 +
 .../SPARK/2.2.0/package/scripts/setup_spark.py     |    25 +-
 .../common-services/SPARK2/2.0.0/alerts.json       |     2 +-
 .../SPARK2/2.0.0/package/scripts/livy2_service.py  |    24 +-
 .../SPARK2/2.0.0/package/scripts/params.py         |     2 +
 .../SPARK2/2.0.0/package/scripts/setup_livy2.py    |     2 +
 .../SPARK2/2.0.0/package/scripts/setup_spark.py    |    22 +-
 .../0.9.1/package/scripts/setup_ranger_storm.py    |    15 +-
 .../STORM/1.0.1.3.0/configuration/storm-site.xml   |     2 +-
 .../package/scripts/setup_ranger_storm.py          |    15 +-
 .../STORM/1.0.1.3.0/service_advisor.py             |     1 +
 .../STORM/1.0.1/configuration/storm-site.xml       |     2 +-
 .../common-services/SUPERSET/0.15.0/metainfo.xml   |     2 +-
 .../2.1.0.2.0/configuration-mapred/mapred-site.xml |     2 +-
 .../YARN/2.1.0.2.0/package/scripts/params_linux.py |    46 +-
 .../YARN/2.1.0.2.0/package/scripts/yarn.py         |     4 +-
 .../3.0.0.3.0/configuration-mapred/mapred-site.xml |     2 +-
 .../common-services/YARN/3.0.0.3.0/kerberos.json   |     4 +-
 .../YARN/3.0.0.3.0/package/scripts/params_linux.py |    47 +-
 .../YARN/3.0.0.3.0/package/scripts/yarn.py         |     4 +-
 .../package/scripts/interpreter_json_template.py   |   154 +-
 .../0.7.0/package/scripts/livy2_config_template.py |   112 -
 .../ZEPPELIN/0.7.0/package/scripts/master.py       |   109 +-
 .../package/scripts/spark2_config_template.py      |    84 -
 .../custom_actions/scripts/install_packages.py     |    59 +-
 .../stack-hooks/after-INSTALL/scripts/params.py    |     2 +-
 .../HDP/2.0.6/properties/stack_features.json       |     6 +
 .../HDP/2.0.6/properties/stack_packages.json       |   143 +-
 .../2.2/services/TEZ/configuration/tez-site.xml    |     4 +-
 .../YARN/configuration-mapred/mapred-site.xml      |     2 +-
 .../2.3/services/HIVE/configuration/hive-env.xml   |     1 +
 .../2.3/services/OOZIE/configuration/oozie-env.xml |     1 +
 .../stacks/HDP/2.3/services/stack_advisor.py       |     9 +-
 .../2.5/services/YARN/configuration/yarn-site.xml  |     4 +-
 .../stacks/HDP/2.5/services/stack_advisor.py       |     1 +
 .../2.6/services/TEZ/configuration/tez-site.xml    |     8 +
 .../stacks/HDP/2.6/upgrades/config-upgrade.xml     |     8 +-
 .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml    |     2 +-
 .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml        |     2 +-
 .../stacks/HDP/3.0/properties/stack_features.json  |     6 +
 .../stacks/HDP/3.0/properties/stack_packages.json  |    20 +-
 .../3.0/services/YARN/configuration/yarn-site.xml  |     4 +-
 .../KERBEROS/configuration/kerberos-env.xml        |     4 +-
 .../services/KERBEROS/configuration/krb5-conf.xml  |    11 +
 .../services/KERBEROS/package/scripts/params.py    |     2 +
 .../1.0/services/KERBEROS/properties/krb5_conf.j2  |     3 +
 ambari-server/src/main/resources/upgrade-pack.xsd  |     1 +
 .../resources/webapp/WEB-INF/spring-security.xml   |    13 +-
 ambari-server/src/main/windows/ambari-server.ps1   |     2 -
 .../actionmanager/ExecutionCommandWrapperTest.java |     5 +
 .../ambari/server/agent/TestHeartbeatHandler.java  |    79 +-
 .../apache/ambari/server/alerts/ThresholdTest.java |    90 +
 .../api/query/render/MinimalRendererTest.java      |     6 +
 .../api/resources/UserResourceDefinitionTest.java  |    13 +-
 .../server/api/services/AmbariMetaInfoTest.java    |    91 +-
 .../ambari/server/audit/LoginAuditEventTest.java   |    36 +-
 .../RequiredServicesInRepositoryCheckTest.java     |     6 +-
 .../server/configuration/ConfigurationTest.java    |   225 +-
 .../AmbariCustomCommandExecutionHelperTest.java    |    46 +
 .../AmbariManagementControllerImplTest.java        |    46 +-
 .../controller/AmbariManagementControllerTest.java |    73 -
 .../server/controller/KerberosHelperTest.java      |    47 +-
 .../controller/RootServiceResponseFactoryTest.java |   145 +-
 .../AbstractControllerResourceProviderTest.java    |    10 +-
 .../internal/AbstractDRResourceProviderTest.java   |     2 -
 .../AbstractPrivilegeResourceProviderTest.java     |    38 -
 .../internal/AbstractResourceProviderTest.java     |    26 +-
 .../internal/ActionResourceProviderTest.java       |     4 -
 .../ActiveWidgetLayoutResourceProviderTest.java    |     6 +-
 .../AlertDefinitionResourceProviderTest.java       |     4 +-
 .../internal/BlueprintResourceProviderTest.java    |    21 +-
 .../internal/ClientConfigResourceProviderTest.java |    10 -
 .../internal/ClusterControllerImplTest.java        |    14 +-
 ...sterKerberosDescriptorResourceProviderTest.java |    17 -
 .../internal/ClusterResourceProviderTest.java      |    14 -
 .../ClusterStackVersionResourceProviderTest.java   |    12 +-
 .../internal/ConfigGroupResourceProviderTest.java  |     2 -
 .../ConfigurationResourceProviderTest.java         |     6 -
 .../internal/CredentialResourceProviderTest.java   |    23 -
 .../internal/ExtensionResourceProviderTest.java    |     2 -
 .../internal/FeedResourceProviderTest.java         |    29 +-
 .../GroupPrivilegeResourceProviderTest.java        |    46 +-
 .../internal/GroupResourceProviderTest.java        |     8 -
 .../HostComponentProcessResourceProviderTest.java  |     2 -
 .../HostComponentResourceProviderTest.java         |    49 +-
 .../HostKerberosIdentityResourceProviderTest.java  |    15 +-
 .../internal/HostResourceProviderTest.java         |    53 +-
 .../HostStackVersionResourceProviderTest.java      |    14 +-
 .../internal/InstanceResourceProviderTest.java     |    29 +-
 .../controller/internal/JMXHostProviderTest.java   |     5 +-
 .../internal/JobResourceProviderTest.java          |    37 +-
 .../KerberosDescriptorResourceProviderTest.java    |     6 +-
 .../internal/MemberResourceProviderTest.java       |    25 +-
 .../OverriddenMetricsHostProviderTest.java         |    95 +
 .../internal/RepositoryResourceProviderTest.java   |     2 +
 .../RepositoryVersionResourceProviderTest.java     |     5 +-
 .../controller/internal/RequestImplTest.java       |     7 -
 .../internal/RequestResourceProviderTest.java      |   265 +-
 .../RequestScheduleResourceProviderTest.java       |     2 -
 ...ComponentConfigurationResourceProviderTest.java |   192 +-
 .../RootServiceComponentResourceProviderTest.java  |     2 -
 ...otServiceHostComponentResourceProviderTest.java |     2 -
 .../internal/RootServiceResourceProviderTest.java  |     2 -
 .../internal/ScaleClusterRequestTest.java          |    38 +-
 .../internal/StackAdvisorResourceProviderTest.java |    12 +-
 .../StackArtifactResourceProviderTest.java         |     2 -
 ...onfigurationDependencyResourceProviderTest.java |     2 -
 .../StackConfigurationResourceProviderTest.java    |     4 -
 .../StackDependencyResourceProviderTest.java       |     5 +-
 ...tackLevelConfigurationResourceProviderTest.java |     4 -
 .../internal/StackResourceProviderTest.java        |     2 -
 .../internal/StackServiceResourceProviderTest.java |     4 -
 .../TargetClusterResourceProviderTest.java         |    28 +-
 .../internal/TaskAttemptResourceProviderTest.java  |     2 +-
 .../internal/TaskResourceProviderTest.java         |    22 +-
 .../internal/TestIvoryProviderModule.java          |     6 +-
 .../internal/UpgradeResourceProviderTest.java      |     4 +-
 ...erAuthenticationSourceResourceProviderTest.java |   448 +
 .../UserPrivilegeResourceProviderTest.java         |   109 +-
 .../internal/UserResourceProviderDBTest.java       |   438 +-
 .../internal/UserResourceProviderTest.java         |   749 +-
 .../internal/ValidationResourceProviderTest.java   |     3 +-
 .../VersionDefinitionResourceProviderTest.java     |     2 +-
 .../internal/WorkflowResourceProviderTest.java     |    30 +-
 .../server/controller/jmx/JMXMetricHolderTest.java |    75 +
 .../server/ldap/AmbariLdapConfigurationTest.java   |   143 +
 .../ambari/server/orm/DBAccessorImplTest.java      |    30 +
 .../apache/ambari/server/orm/OrmTestHelper.java    |    10 +-
 .../ambari/server/orm/dao/HostVersionDAOTest.java  |    12 +
 .../apache/ambari/server/orm/dao/UserDAOTest.java  |    53 +-
 .../org/apache/ambari/server/orm/db/DDLTests.java  |     2 +-
 .../server/security/SecurityHelperImplTest.java    |     7 +-
 .../server/security/TestAuthenticationFactory.java |    26 +-
 .../AbstractAuthenticationProviderTest.java        |   217 +
 .../AmbariBasicAuthenticationFilterTest.java       |   136 +-
 .../AmbariJWTAuthenticationFilterTest.java         |   191 -
 .../AmbariLocalAuthenticationProviderTest.java     |    90 +
 .../jwt/AmbariJwtAuthenticationFilterTest.java     |   493 +
 .../jwt/JwtAuthenticationPropertiesTest.java       |    51 +
 .../AmbariAuthToLocalUserDetailsServiceTest.java   |    33 +-
 .../AmbariKerberosAuthenticationFilterTest.java    |   183 +-
 ...AmbariKerberosAuthenticationPropertiesTest.java |    16 -
 .../pam/AmbariPamAuthenticationProviderTest.java   |   285 +
 .../authorization/AmbariAuthenticationTest.java    |   334 -
 .../AmbariAuthorizationFilterTest.java             |     5 +-
 ...AmbariAuthorizationProviderDisableUserTest.java |    99 -
 ...apAuthenticationProviderForDNWithSpaceTest.java |    34 +-
 ...AuthenticationProviderForDuplicateUserTest.java |    21 +-
 .../AmbariLdapAuthenticationProviderTest.java      |    54 +-
 .../AmbariLdapBindAuthenticatorTest.java           |    91 +-
 .../authorization/AmbariLocalUserProviderTest.java |   166 -
 .../AmbariPamAuthenticationProviderTest.java       |   151 -
 .../AmbariUserAuthenticationFilterTest.java        |    20 +-
 .../authorization/AuthorizationHelperTest.java     |    24 +-
 .../authorization/AuthorizationTestModule.java     |     3 +-
 .../AuthorizationTestModuleForLdapDNWithSpace.java |     5 +-
 .../authorization/LdapServerPropertiesTest.java    |    20 +-
 .../TestAmbariLdapAuthoritiesPopulator.java        |     4 +-
 .../server/security/authorization/TestUsers.java   |   320 +-
 .../server/security/authorization/UsersTest.java   |    17 +-
 .../jwt/JwtAuthenticationFilterTest.java           |   373 -
 .../jwt/JwtAuthenticationPropertiesTest.java       |    51 -
 .../security/ldap/AmbariLdapDataPopulatorTest.java |   331 +-
 .../server/security/ldap/LdapPerformanceTest.java  |    28 +-
 .../kerberos/ADKerberosOperationHandlerTest.java   |    15 +-
 .../ConfigureAmbariIdentitiesServerActionTest.java |    36 +-
 .../kerberos/FinalizeKerberosServerActionTest.java |     5 +-
 .../kerberos/IPAKerberosOperationHandlerTest.java  |    19 +-
 .../kerberos/KerberosOperationHandlerTest.java     |    16 +
 .../kerberos/KerberosServerActionTest.java         |    26 +-
 .../kerberos/MITKerberosOperationHandlerTest.java  |    19 +-
 .../upgrades/PreconfigureKerberosActionTest.java   |    16 +-
 .../stack/QuickLinksConfigurationModuleTest.java   |     3 +
 .../ambari/server/state/UpgradeHelperTest.java     |    14 +-
 .../ambari/server/state/alert/AlertUriTest.java    |    60 +
 .../ambari/server/state/alert/JmxInfoTest.java     |    85 +
 .../ambari/server/state/cluster/ClusterTest.java   |     4 +
 .../state/repository/VersionDefinitionTest.java    |    55 +
 .../state/stack/ConfigUpgradeValidityTest.java     |    41 +-
 .../ambari/server/topology/AmbariContextTest.java  |     5 +-
 .../server/topology/AsyncCallableServiceTest.java  |    29 +-
 .../ambari/server/topology/BlueprintImplTest.java  |    26 +-
 .../server/topology/ConfigureClusterTaskTest.java  |     2 +-
 .../server/topology/TopologyManagerTest.java       |     7 +
 .../server/upgrade/UpgradeCatalog260Test.java      |     1 +
 .../server/upgrade/UpgradeCatalog300Test.java      |   362 +-
 .../ambari/server/utils/PasswordUtilsTest.java     |   126 +
 ambari-server/src/test/python/TestAmbariServer.py  |     4 +-
 .../python/stacks/2.0.6/OOZIE/test_oozie_server.py |    24 +-
 .../hooks/after-INSTALL/test_after_install.py      |     8 +-
 .../stacks/2.2/KERBEROS/test_kerberos_client.py    |     2 +-
 .../python/stacks/2.3/common/test_stack_advisor.py |    17 +
 .../python/stacks/2.4/LOGSEARCH/test_logfeeder.py  |    34 +-
 .../python/stacks/2.4/LOGSEARCH/test_logsearch.py  |    31 +-
 .../test/python/stacks/2.4/configs/default.json    |     2 +-
 .../python/stacks/2.5/SPARK/test_spark_livy.py     |     3 +-
 .../python/stacks/2.5/common/test_stack_advisor.py |     1 +
 .../2.6/KAFKA/test_kafka_broker_other_sasl.py      |    16 +
 .../python/stacks/2.6/RANGER/test_ranger_admin.py  |    10 +-
 .../python/stacks/2.6/SPARK2/test_spark_livy2.py   |     5 +-
 .../2.6/ZEPPELIN/interpreter_json_generated.py     |     8 +-
 .../stacks/2.6/ZEPPELIN/test_zeppelin_070.py       |    47 +
 .../test/python/stacks/2.6/configs/default.json    |     2 +
 .../stacks/2.6/configs/secure_kafka_sasl_ssl.json  |   632 +
 ambari-server/src/test/resources/ambari.properties |     4 +-
 .../resources/child_quicklinks_to_override.json    |     4 +
 .../HDP/2.2.0/upgrades/upgrade_test_conditions.xml |    22 +-
 ambari-web/app/assets/img/install-box.svg          |    28 +
 ambari-web/app/assets/test/tests.js                |     3 +-
 ambari-web/app/controllers/installer.js            |    44 +-
 .../hawq/addStandby/step3_controller.js            |     3 +-
 .../main/admin/kerberos/step1_controller.js        |   105 +-
 .../main/admin/kerberos/step2_controller.js        |     4 +-
 .../main/admin/kerberos/wizard_controller.js       |    18 +-
 .../main/admin/stack_and_upgrade_controller.js     |     3 +-
 .../main/host/bulk_operations_controller.js        |   369 +-
 ambari-web/app/controllers/main/host/details.js    |    46 +-
 .../app/controllers/main/service/info/configs.js   |    41 +-
 .../app/controllers/main/service/info/metric.js    |    13 +
 ambari-web/app/controllers/main/service/item.js    |    33 +-
 .../app/controllers/wizard/step3_controller.js     |     2 +-
 .../app/controllers/wizard/step4_controller.js     |   128 +-
 .../app/controllers/wizard/step6_controller.js     |    12 -
 .../app/controllers/wizard/step8_controller.js     |    10 +-
 ambari-web/app/data/db_properties_info.js          |    15 +-
 ambari-web/app/mappers/stack_service_mapper.js     |     4 +
 ambari-web/app/messages.js                         |    74 +-
 .../mixins/common/configs/configs_comparator.js    |     5 +-
 .../app/mixins/common/configs/configs_loader.js    |     8 +-
 .../app/mixins/common/widgets/widget_mixin.js      |     1 +
 .../configs/component_actions_by_configs.js        |     4 +-
 ambari-web/app/models/configs/config_group.js      |     8 +
 ambari-web/app/models/host_component.js            |     6 +
 ambari-web/app/models/repository.js                |     3 +-
 ambari-web/app/models/stack_service.js             |   103 +
 ambari-web/app/models/stack_service_component.js   |    33 +
 ambari-web/app/styles/application.less             |   321 +-
 ambari-web/app/styles/bootstrap_overrides.less     |     6 +-
 ambari-web/app/styles/common.less                  |     2 +
 ambari-web/app/styles/config_history_flow.less     |   414 -
 ambari-web/app/styles/config_versions_control.less |   148 +
 .../app/styles/enhanced_service_dashboard.less     |    31 +-
 ambari-web/app/styles/hosts.less                   |     5 +
 ambari-web/app/styles/modal_popups.less            |    27 +-
 ambari-web/app/styles/service_configurations.less  |   297 +
 ambari-web/app/styles/theme/bootstrap-ambari.css   |     7 +-
 ambari-web/app/styles/widgets.less                 |    14 +-
 ambari-web/app/styles/wizard.less                  |    54 +-
 ambari-web/app/templates.js                        |     2 +
 ambari-web/app/templates/application.hbs           |   135 +-
 .../templates/common/assign_master_components.hbs  |    24 +-
 .../templates/common/configs/compare_property.hbs  |    38 -
 .../common/configs/config_history_dropdown_row.hbs |    24 -
 .../common/configs/config_history_flow.hbs         |   148 -
 .../common/configs/config_versions_control.hbs     |    42 +
 .../common/configs/config_versions_dropdown.hbs    |    69 +
 .../common/configs/configs_comparison_cell.hbs     |    26 +
 .../common/configs/configs_comparison_row.hbs      |    79 +
 .../app/templates/common/configs/controls.hbs      |    12 +-
 .../templates/common/configs/service_config.hbs    |   125 +-
 .../common/configs/service_config_category.hbs     |   120 +-
 .../configs/service_config_layout_tab_compare.hbs  |    80 +
 .../common/configs/service_config_wizard.hbs       |     8 +-
 .../comparison/config_widget_comparison.hbs        |    37 -
 .../templates/common/configs/widgets/controls.hbs  |    15 -
 .../templates/common/filter_combo_cleanable.hbs    |     7 +-
 .../app/templates/common/host_progress_popup.hbs   |   115 +-
 .../common/modal_popups/widget_browser_footer.hbs  |     1 -
 .../app/templates/common/widget/gauge_widget.hbs   |     2 +-
 .../app/templates/common/widget/graph_widget.hbs   |     2 +-
 .../app/templates/common/widget/number_widget.hbs  |     2 +-
 .../templates/common/widget/template_widget.hbs    |     2 +-
 .../app/templates/main/admin/kerberos/step1.hbs    |    14 +-
 .../main/alerts/alert_notifications_popup.hbs      |    30 +-
 .../app/templates/main/dashboard/widgets.hbs       |     2 +-
 .../main/host/bulk_add_delete_confirm_popup.hbs    |    40 +
 .../app/templates/main/host/configs_service.hbs    |     2 +-
 .../main/host/delete_hosts_dry_run_popup.hbs       |    32 -
 .../app/templates/main/host/delete_hosts_popup.hbs |    21 +-
 .../main/host/delete_hosts_result_popup.hbs        |     4 +-
 .../app/templates/main/service/info/configs.hbs    |     2 +-
 .../app/templates/main/service/menu_item.hbs       |     8 +-
 ambari-web/app/templates/wizard/step3.hbs          |    12 +-
 ambari-web/app/templates/wizard/step4.hbs          |    58 +-
 ambari-web/app/templates/wizard/step6.hbs          |    30 +-
 .../templates/wizard/step6/step6_issues_popup.hbs  |    43 -
 ambari-web/app/utils/ajax/ajax.js                  |    36 +-
 ambari-web/app/views.js                            |     6 +-
 .../views/common/assign_master_components_view.js  |     4 +-
 ambari-web/app/views/common/breadcrumbs_view.js    |     4 +-
 .../views/common/configs/compare_property_view.js  |    25 -
 .../views/common/configs/config_history_flow.js    |   644 -
 .../common/configs/config_versions_control_view.js |   224 +
 .../configs/config_versions_dropdown_view.js       |    63 +
 .../common/configs/overriddenPropertyRow_view.js   |    31 -
 .../service_config_layout_tab_compare_view.js      |    41 +
 .../views/common/configs/service_config_view.js    |    69 +
 .../configs/service_configs_by_category_view.js    |    17 +-
 .../configs/widgets/combo_config_widget_view.js    |     8 +
 .../comparison/config_widget_comparison_view.js    |    23 -
 ambari-web/app/views/common/controls_view.js       |     7 +-
 .../app/views/common/filter_combo_cleanable.js     |     6 +-
 .../common/form/manage_credentials_form_view.js    |     3 +-
 .../views/common/host_progress_popup_body_view.js  |    12 +
 .../common/modal_popups/confirmation_popup.js      |    11 +-
 .../app/views/common/quick_view_link_view.js       |    64 +-
 .../stack_upgrade/upgrade_version_column_view.js   |    11 +-
 ambari-web/app/views/main/host/details.js          |     4 +
 ambari-web/app/views/main/menu.js                  |     4 +
 ambari-web/app/views/main/service/item.js          |     4 +
 .../main/service/widgets/create/wizard_view.js     |     2 +-
 .../nameNode/step3_controller_test.js              |    23 +-
 .../kerberos/kerberos_wizard_controler_test.js     |     8 +-
 .../main/admin/kerberos/step2_controller_test.js   |     2 +-
 .../test/controllers/main/host/details_test.js     |    23 +-
 ambari-web/test/controllers/wizard/step4_test.js   |    45 +-
 ambari-web/test/controllers/wizard/step8_test.js   |    41 +-
 .../common/configs/configs_comparator_test.js      |     5 -
 ambari-web/test/utils/date/timezone_test.js        |     2 +-
 .../test/views/common/breadcrumbs_view_test.js     |     5 +
 .../test/views/common/chart/linear_time_test.js    |    10 +-
 .../common/configs/config_history_flow_test.js     |   756 -
 .../configs/config_versions_control_view_test.js   |   151 +
 .../configs/config_versions_dropdown_view_test.js  |    82 +
 .../common/configs/overriddenProperty_view_test.js |    42 -
 .../common/configs/service_config_view_test.js     |    52 +-
 .../service_configs_by_category_view_test.js       |    18 +-
 ambari-web/test/views/common/controls_view_test.js |    64 +-
 .../common/host_progress_popup_body_view_test.js   |    99 +-
 .../test/views/common/quick_link_view_test.js      |    15 +-
 .../management-packs/isilon-onefs-mpack/.gitignore |     1 +
 .../management-packs/isilon-onefs-mpack/pom.xml    |   133 +
 .../src/main/assemblies/isilon-onefs-mpack.xml     |    40 +
 .../addon-services/ONEFS/1.0.0/alerts.json         |   122 +
 .../ONEFS/1.0.0/configuration/core-site.xml        |   100 +
 .../ONEFS/1.0.0/configuration/hadoop-env.xml       |   404 +
 .../ONEFS/1.0.0/configuration/hdfs-site.xml        |    65 +
 .../ONEFS/1.0.0/configuration/onefs.xml            |    30 +
 .../addon-services/ONEFS/1.0.0/kerberos.json       |    73 +
 .../addon-services/ONEFS/1.0.0/metainfo.xml        |   111 +
 .../addon-services/ONEFS/1.0.0/metrics.json        |   230 +
 .../ONEFS/1.0.0/package/scripts/__init__.py        |    20 +
 .../ONEFS/1.0.0/package/scripts/onefs_client.py    |    63 +
 .../ONEFS/1.0.0/package/scripts/params.py          |    29 +
 .../ONEFS/1.0.0/package/scripts/params_linux.py    |    70 +
 .../ONEFS/1.0.0/package/scripts/params_windows.py  |    83 +
 .../ONEFS/1.0.0/package/scripts/service_check.py   |    59 +
 .../ONEFS/1.0.0}/package/scripts/status_params.py  |     0
 .../ONEFS/1.0.0/quicklinks/quicklinks.json         |    31 +
 .../addon-services/ONEFS/1.0.0/service_advisor.py  |   122 +
 .../addon-services/ONEFS/1.0.0/themes/theme.json   |    60 +
 .../addon-services/ONEFS/1.0.0/widgets.json        |   141 +
 .../src/main/resources/mpack.json                  |    28 +
 .../src/test/python/TestServiceAdvisor.py          |    67 +
 .../src/test/python/unitTests.py                   |   132 +
 .../ODPi/2.0/services/YARN/package/scripts/yarn.py |     4 +-
 .../view/commons/hdfs/FileOperationService.java    |     4 +-
 .../resources/ui/app/services/file-operation.js    |     2 +-
 dev-support/build-ambari.sh                        |    58 +
 docs/pom.xml                                       |     2 +-
 docs/src/site/apt/index.apt                        |     2 +-
 docs/src/site/apt/whats-new.apt                    |    14 +-
 docs/src/site/site.xml                             |    16 +-
 pom.xml                                            |     1 +
 1167 files changed, 63757 insertions(+), 38510 deletions(-)

diff --cc ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts
index 26bad11,baa3972..403cbac
--- a/ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts
+++ b/ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts
@@@ -46,8 -46,8 +46,9 @@@ import 
    FilterCondition, TimeUnitListItem, SortingListItem, SearchBoxParameter, SearchBoxParameterTriggered
  } from '@app/classes/filtering';
  import {ListItem} from '@app/classes/list-item';
+ import {HomogeneousObject} from '@app/classes/object';
  import {LogsType, ScrollType, SortingType} from '@app/classes/string';
 +
  import {Tab} from '@app/classes/models/tab';
  import {LogField} from '@app/classes/models/log-field';
  import {AuditLog} from '@app/classes/models/audit-log';
diff --cc ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
index daff89f,2b82fe3..2aabdc0
--- 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
@@@ -26,8 -26,8 +26,9 @@@ import java.io.File
  import java.io.FileInputStream;
  import java.io.IOException;
  import java.util.ArrayList;
+ import java.util.Collection;
  import java.util.HashMap;
 +import java.util.LinkedList;
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
@@@ -106,14 -107,10 +109,11 @@@ public class HeartBeatHandler 
    @Inject
    private RecoveryConfigHelper recoveryConfigHelper;
  
-   /**
-    * KerberosIdentityDataFileReaderFactory used to create KerberosIdentityDataFileReader instances
-    */
    @Inject
-   private KerberosIdentityDataFileReaderFactory kerberosIdentityDataFileReaderFactory;
+   private KerberosKeytabController kerberosKeytabController;
  
    private Map<String, Long> hostResponseIds = new ConcurrentHashMap<>();
 +  private Set<String> refreshCacheForHosts = new ConcurrentHashSet<>();
  
    private Map<String, HeartBeatResponse> hostResponses = new ConcurrentHashMap<>();
  
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
index 007ec32,af0b700..f5abc6c
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
@@@ -34,9 -34,9 +34,10 @@@ import java.util.HashSet
  import java.util.Iterator;
  import java.util.List;
  import java.util.Map;
+ import java.util.Objects;
  import java.util.Scanner;
  import java.util.Set;
 +import java.util.stream.Collectors;
  
  import javax.xml.bind.JAXBException;
  
@@@ -155,9 -142,8 +159,9 @@@ public class AmbariMetaInfo 
    private File serverVersionFile;
    private File commonWidgetsDescriptorFile;
    private File customActionRoot;
 +  private File mpacksV2Staging;
    private String commonKerberosDescriptorFileLocation;
-   private Map<String, VersionDefinitionXml> versionDefinitions = null;
+   Map<String, VersionDefinitionXml> versionDefinitions = null;
  
  
    @Inject
diff --cc ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
index eedd415,b14ffa7..fec7025
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
@@@ -49,47 -49,47 +49,46 @@@ import org.slf4j.LoggerFactory
  public abstract class BaseService {
    public final static MediaType MEDIA_TYPE_TEXT_CSV_TYPE = new MediaType("text", "csv");
  
 -  public static final String MSG_SUCCESSFUL_OPERATION = "Successful operation";
 -  public static final String MSG_REQUEST_ACCEPTED = "Request is accepted, but not completely processed yet";
 -  public static final String MSG_INVALID_ARGUMENTS = "Invalid arguments";
 -  public static final String MSG_INVALID_REQUEST = "Invalid request";
 -  public static final String MSG_CLUSTER_NOT_FOUND = "Cluster not found";
 -  public static final String MSG_CLUSTER_OR_HOST_NOT_FOUND = "Cluster or host not found";
 -  public static final String MSG_NOT_AUTHENTICATED = "Not authenticated";
 -  public static final String MSG_PERMISSION_DENIED = "Not permitted to perform the operation";
 -  public static final String MSG_SERVER_ERROR = "Internal server error";
 -  public static final String MSG_RESOURCE_ALREADY_EXISTS = "The requested resource already exists.";
 -  public static final String MSG_RESOURCE_NOT_FOUND = "The requested resource doesn't exist.";
 -
 -  public static final String QUERY_FIELDS = "fields";
 -  public static final String QUERY_FILTER_DESCRIPTION = "Filter fields in the response (identifier fields are mandatory)";
 -  public static final String QUERY_SORT = "sortBy";
 -  public static final String QUERY_SORT_DESCRIPTION = "Sort resources in result by (asc | desc)";
 -  public static final String QUERY_PAGE_SIZE = "page_size";
 -  public static final String QUERY_PAGE_SIZE_DESCRIPTION = "The number of resources to be returned for the paged response.";
 -  public static final String DEFAULT_PAGE_SIZE = "10";
 -  public static final String QUERY_FROM = "from";
 -  public static final String QUERY_FROM_DESCRIPTION = "The starting page resource (inclusive).  \"start\" is also accepted.";
 -  public static final String QUERY_FROM_VALUES = "range[0, infinity]";
 -  public static final String DEFAULT_FROM = "0";
 -  public static final String QUERY_TO = "to";
 -  public static final String QUERY_TO_DESCRIPTION = "The ending page resource (inclusive).  \"end\" is also accepted.";
 -  public static final String QUERY_TO_TYPE = "integer";
 -  public static final String QUERY_TO_VALUES = "range[1, infinity]";
 -  public static final String QUERY_PREDICATE = "{predicate}";
 -  public static final String QUERY_PREDICATE_DESCRIPTION = "The predicate to filter resources by. Omitting the predicate will " +
 +  protected static final String MSG_SUCCESSFUL_OPERATION = "Successful operation";
 +  protected static final String MSG_REQUEST_ACCEPTED = "Request is accepted, but not completely processed yet";
 +  protected static final String MSG_INVALID_ARGUMENTS = "Invalid arguments";
 +  protected static final String MSG_INVALID_REQUEST = "Invalid request";
 +  protected static final String MSG_CLUSTER_NOT_FOUND = "Cluster not found";
 +  protected static final String MSG_CLUSTER_OR_HOST_NOT_FOUND = "Cluster or host not found";
 +  protected static final String MSG_NOT_AUTHENTICATED = "Not authenticated";
 +  protected static final String MSG_PERMISSION_DENIED = "Not permitted to perform the operation";
 +  protected static final String MSG_SERVER_ERROR = "Internal server error";
 +  protected static final String MSG_RESOURCE_ALREADY_EXISTS = "The requested resource already exists.";
 +  protected static final String MSG_RESOURCE_NOT_FOUND = "The requested resource doesn't exist.";
 +
 +  protected static final String QUERY_FIELDS = "fields";
 +  protected static final String QUERY_FILTER_DESCRIPTION = "Filter fields in the response (identifier fields are mandatory)";
 +  protected static final String QUERY_SORT = "sortBy";
 +  protected static final String QUERY_SORT_DESCRIPTION = "Sort resources in result by (asc | desc)";
 +  protected static final String QUERY_PAGE_SIZE = "page_size";
 +  protected static final String QUERY_PAGE_SIZE_DESCRIPTION = "The number of resources to be returned for the paged response.";
 +  protected static final String DEFAULT_PAGE_SIZE = "10";
 +  protected static final String QUERY_FROM = "from";
 +  protected static final String QUERY_FROM_DESCRIPTION = "The starting page resource (inclusive).  \"start\" is also accepted.";
 +  protected static final String QUERY_FROM_VALUES = "range[0, infinity]";
 +  protected static final String DEFAULT_FROM = "0";
 +  protected static final String QUERY_TO = "to";
 +  protected static final String QUERY_TO_DESCRIPTION = "The ending page resource (inclusive).  \"end\" is also accepted.";
 +  protected static final String QUERY_TO_TYPE = "integer";
 +  protected static final String QUERY_TO_VALUES = "range[1, infinity]";
 +  protected static final String QUERY_PREDICATE = "{predicate}";
 +  protected static final String QUERY_PREDICATE_DESCRIPTION = "The predicate to filter resources by. Omitting the predicate will " +
        "match all resources.";
  
 -  public static final String RESPONSE_CONTAINER_LIST = "List";
 +  protected static final String RESPONSE_CONTAINER_LIST = "List";
  
 -  public static final String DATA_TYPE_INT = "integer";
 -  public static final String DATA_TYPE_STRING = "string";
 +  protected static final String DATA_TYPE_INT = "integer";
 +  protected static final String DATA_TYPE_STRING = "string";
  
 -  public static final String PARAM_TYPE_QUERY = "query";
 -  public static final String PARAM_TYPE_BODY = "body";
 -
 -  public static final String FIELDS_SEPARATOR = ", ";
 +  protected static final String PARAM_TYPE_QUERY = "query";
 +  protected static final String PARAM_TYPE_BODY = "body";
  
 +  protected static final String FIELDS_SEPARATOR = ", ";
- 
    private final static Logger LOG = LoggerFactory.getLogger(BaseService.class);
  
    /**
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
index c2bf783,45dc638..2064c0e
--- 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
@@@ -127,18 -116,9 +127,9 @@@ public interface AmbariManagementContro
     * @return config created
     */
    Config createConfig(Cluster cluster, StackId stackId, String type, Map<String, String> properties,
 -                      String versionTag, Map<String, Map<String, String>> propertiesAttributes);
 +                      String versionTag, Map<String, Map<String, String>> propertiesAttributes, Long serviceId);
  
    /**
-    * Creates users.
-    *
-    * @param requests the request objects which define the user.
-    *
-    * @throws AmbariException when the user cannot be created.
-    */
-   void createUsers(Set<UserRequest> requests) throws AmbariException;
- 
-   /**
     * Creates groups.
     *
     * @param requests the request objects which define the groups.
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 8bd2f0c,b6fc0d1..7989fe7
--- 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
@@@ -902,8 -801,9 +900,7 @@@ public class AmbariManagementController
  
      // If the config type is for a service, then allow a user with SERVICE_MODIFY_CONFIGS to
      // update, else ensure the user has CLUSTER_MODIFY_CONFIGS
 -    String service = cluster.getServiceByConfigType(configType);
 -
 -
 +    Service service = cluster.getServiceByConfigType(configType);
- 
      // Get the changes so that the user's intention can be determined. For example, maybe
      // the user wants to change the run-as user for a service or maybe the the cluster-wide
      // recovery mode setting.
@@@ -3261,8 -3010,14 +3180,14 @@@
            continue;
          }
  
+         if (StringUtils.isBlank(stage.getHostParamsStage())) {
+           RepositoryVersionEntity repositoryVersion = component.getDesiredRepositoryVersion();
+           stage.setHostParamsStage(StageUtils.getGson().toJson(
+               customCommandExecutionHelper.createDefaultHostParams(cluster, repositoryVersion.getStackId())));
+         }
+ 
          customCommandExecutionHelper.addServiceCheckAction(stage, clientHost, smokeTestRole,
 -            nowTimestamp, serviceName, componentName, null, false, false);
 +            nowTimestamp, service.getServiceGroupName(), service.getName(), componentName, null, false, false);
        }
  
        RoleCommandOrder rco = getRoleCommandOrder(cluster);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index 95bc525,c0e9692..d6147a2
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@@ -93,7 -92,7 +93,8 @@@ import org.apache.ambari.server.orm.dao
  import org.apache.ambari.server.orm.dao.UserDAO;
  import org.apache.ambari.server.orm.dao.ViewInstanceDAO;
  import org.apache.ambari.server.orm.entities.MetainfoEntity;
 +import org.apache.ambari.server.registry.RegistryAdvisor;
+ import org.apache.ambari.server.orm.entities.UserEntity;
  import org.apache.ambari.server.resources.ResourceManager;
  import org.apache.ambari.server.resources.api.rest.GetResource;
  import org.apache.ambari.server.scheduler.ExecutionScheduleManager;
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
index f2ff181,d6db799..b99fcf1
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java
@@@ -74,11 -73,10 +74,13 @@@ import org.apache.ambari.server.control
  import org.apache.ambari.server.controller.internal.MemberResourceProvider;
  import org.apache.ambari.server.controller.internal.RepositoryVersionResourceProvider;
  import org.apache.ambari.server.controller.internal.RootServiceComponentConfigurationResourceProvider;
 +import org.apache.ambari.server.controller.internal.ServiceDependencyResourceProvider;
 +import org.apache.ambari.server.controller.internal.ServiceGroupDependencyResourceProvider;
 +import org.apache.ambari.server.controller.internal.ServiceGroupResourceProvider;
  import org.apache.ambari.server.controller.internal.ServiceResourceProvider;
  import org.apache.ambari.server.controller.internal.UpgradeResourceProvider;
+ import org.apache.ambari.server.controller.internal.UserAuthenticationSourceResourceProvider;
+ import org.apache.ambari.server.controller.internal.UserResourceProvider;
  import org.apache.ambari.server.controller.internal.ViewInstanceResourceProvider;
  import org.apache.ambari.server.controller.logging.LoggingRequestHelperFactory;
  import org.apache.ambari.server.controller.logging.LoggingRequestHelperFactoryImpl;
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/DeleteIdentityHandler.java
index 01ddf5b,9837d70..19df6cd
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/DeleteIdentityHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/DeleteIdentityHandler.java
@@@ -45,9 -45,9 +45,10 @@@ import org.apache.ambari.server.servera
  import org.apache.ambari.server.serveraction.kerberos.KDCType;
  import org.apache.ambari.server.serveraction.kerberos.KerberosOperationHandler;
  import org.apache.ambari.server.serveraction.kerberos.KerberosServerAction;
+ import org.apache.ambari.server.serveraction.kerberos.stageutils.ResolvedKerberosPrincipal;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Config;
 +import org.apache.ambari.server.state.Service;
  import org.apache.ambari.server.state.StackId;
  import org.apache.ambari.server.state.kerberos.KerberosDescriptor;
  import org.apache.ambari.server.state.svccomphost.ServiceComponentHostServerActionEvent;
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
index f98dbf2,15006b0..212a372
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
@@@ -189,21 -162,7 +172,21 @@@ public abstract class AbstractControlle
        case Upgrade:
          return resourceProviderFactory.getUpgradeResourceProvider(managementController);
        case Stack:
-         return new StackResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackResourceProvider(managementController);
 +      case Registry:
 +        return new RegistryResourceProvider(managementController);
 +      case RegistryRecommendation:
 +        return new RegistryRecommendationResourceProvider(managementController);
 +      case RegistryValidation:
 +        return new RegistryValidationResourceProvider(managementController);
 +      case RegistryScenario:
 +        return new RegistryScenarioResourceProvider(managementController);
 +      case RegistryMpack:
 +        return new RegistryMpackResourceProvider(managementController);
 +      case RegistryMpackVersion:
 +        return new RegistryMpackVersionResourceProvider(managementController);
 +      case Mpack:
 +        return new MpackResourceProvider(managementController);
        case StackVersion:
          return new StackVersionResourceProvider(managementController);
        case ClusterStackVersion:
@@@ -211,27 -170,25 +194,27 @@@
        case HostStackVersion:
          return new HostStackVersionResourceProvider(managementController);
        case StackService:
-         return new StackServiceResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackServiceResourceProvider(managementController);
        case StackServiceComponent:
-         return new StackServiceComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackServiceComponentResourceProvider(managementController);
        case StackConfiguration:
-         return new StackConfigurationResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackConfigurationResourceProvider(managementController);
 +      case RootStackSetting:
 +        return new RootStackSettingsResourceProvider(managementController);
        case StackConfigurationDependency:
-         return new StackConfigurationDependencyResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackConfigurationDependencyResourceProvider(managementController);
        case StackLevelConfiguration:
-         return new StackLevelConfigurationResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new StackLevelConfigurationResourceProvider(managementController);
        case ExtensionLink:
-           return new ExtensionLinkResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new ExtensionLinkResourceProvider(managementController);
        case Extension:
-         return new ExtensionResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new ExtensionResourceProvider(managementController);
        case ExtensionVersion:
-         return new ExtensionVersionResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new ExtensionVersionResourceProvider(managementController);
        case RootService:
-         return new RootServiceResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new RootServiceResourceProvider(managementController);
        case RootServiceComponent:
-         return new RootServiceComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+         return new RootServiceComponentResourceProvider(managementController);
        case RootServiceComponentConfiguration:
          return resourceProviderFactory.getRootServiceHostComponentConfigurationResourceProvider();
        case RootServiceHostComponent:
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractResourceProvider.java
index 21a70ca,40e1b2d..810f191
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractResourceProvider.java
@@@ -61,7 -61,7 +61,7 @@@ public abstract class AbstractResourceP
    /**
     * Key property mapping by resource type.
     */
--  private final Map<Resource.Type, String> keyPropertyIds;
++  protected final Map<Resource.Type, String> keyPropertyIds;
  
    /**
     * Observers of this observable resource provider.
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index af014b7,dcafdea..fdbb034
--- 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
@@@ -123,12 -125,24 +125,25 @@@ public class ClientConfigResourceProvid
  
    private final Gson gson;
  
-   private static Set<String> pkPropertyIds =
-     new HashSet<>(Arrays.asList(new String[]{
+   /**
+    * The key property ids for a ClientConfig resource.
+    */
+   private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+       .put(Resource.Type.Cluster, COMPONENT_CLUSTER_NAME_PROPERTY_ID)
+       .put(Resource.Type.Service, COMPONENT_SERVICE_NAME_PROPERTY_ID)
+       .put(Resource.Type.Component, COMPONENT_COMPONENT_NAME_PROPERTY_ID)
+       .put(Resource.Type.Host, HOST_COMPONENT_HOST_NAME_PROPERTY_ID)
+       .build();
+ 
+   /**
+    * The property ids for a ClientConfig resource.
+    */
+   private static Set<String> propertyIds = Sets.newHashSet(
        COMPONENT_CLUSTER_NAME_PROPERTY_ID,
 +      COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID,
        COMPONENT_SERVICE_NAME_PROPERTY_ID,
-       COMPONENT_COMPONENT_NAME_PROPERTY_ID}));
+       COMPONENT_COMPONENT_NAME_PROPERTY_ID,
+       HOST_COMPONENT_HOST_NAME_PROPERTY_ID);
  
    private MaintenanceStateHelper maintenanceStateHelper;
    private static final Logger LOG = LoggerFactory.getLogger(ClientConfigResourceProvider.class);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
index 435ac4d,e1bef2a..8facd21
--- 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,39 -85,78 +88,69 @@@ 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_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_DESIRED_REPOSITORY_VERSION = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "desired_repository_version";
 +  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_COMPONENT_CLUSTER_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "cluster_name");
 -  public static final String HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "service_name");
 -  public static final String HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "component_name");
 -  public static final String HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "display_name");
 -  public static final String HOST_COMPONENT_HOST_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "host_name");
 -  public static final String HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "public_host_name");
 -  public static final String HOST_COMPONENT_STATE_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "state");
 -  public static final String HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "desired_state");
 -  public static final String HOST_COMPONENT_VERSION_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "version");
 -  public static final String HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "desired_stack_id");
 -  public static final String HOST_COMPONENT_DESIRED_REPOSITORY_VERSION
 -    = PropertyHelper.getPropertyId("HostRoles", "desired_repository_version");
 -  public static final String HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "actual_configs");
 -  public static final String HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID
 -      = PropertyHelper.getPropertyId("HostRoles", "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
 -      = PropertyHelper.getPropertyId("HostRoles", "desired_admin_state");
 -  public static final String HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID
 -      = "HostRoles/maintenance_state";
 -  public static final String HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID = "HostRoles/upgrade_state";
  
    //Parameters from the predicate
    private static final String QUERY_PARAMETERS_RUN_SMOKE_TEST_ID = "params/run_smoke_test";
-   private static Set<String> pkPropertyIds =
-     new HashSet<>(Arrays.asList(new String[]{
+ 
+   /**
+    * 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_COMPONENT_NAME_PROPERTY_ID)
+       .put(Resource.Type.Component, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID)
+       .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_COMPONENT_NAME_PROPERTY_ID,
-       HOST_COMPONENT_HOST_NAME_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_DESIRED_REPOSITORY_VERSION,
+       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,
+       QUERY_PARAMETERS_RUN_SMOKE_TEST_ID);
  
    /**
     * maintenance state helper
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
index 5a6dff4,543cf94..1f54429
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
@@@ -84,14 -81,10 +87,14 @@@ public class RootServiceComponentConfig
    }
  
    @Inject
 +  private AmbariEventPublisher publisher;
 +
 +  @Inject
    private RootServiceComponentConfigurationHandlerFactory rootServiceComponentConfigurationHandlerFactory;
  
 +
    public RootServiceComponentConfigurationResourceProvider() {
-     super(PROPERTIES, PK_PROPERTY_MAP);
+     super(Resource.Type.RootServiceComponentConfiguration, PROPERTIES, PK_PROPERTY_MAP);
  
      Set<RoleAuthorization> authorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_CONFIGURATION);
      setRequiredCreateAuthorizations(authorizations);
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
index 0633628,f2e6d1a..bdc5855
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
@@@ -36,72 -34,57 +36,73 @@@ import org.apache.ambari.server.control
  import org.apache.ambari.server.controller.spi.Predicate;
  import org.apache.ambari.server.controller.spi.Request;
  import org.apache.ambari.server.controller.spi.Resource;
 -import org.apache.ambari.server.controller.spi.Resource.Type;
  import org.apache.ambari.server.controller.spi.SystemException;
  import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
 +import org.apache.ambari.server.controller.utilities.PredicateHelper;
  import org.apache.ambari.server.controller.utilities.PropertyHelper;
 +import org.apache.ambari.server.orm.dao.StackDAO;
 +import org.apache.ambari.server.orm.entities.StackEntity;
 +
 +import com.google.inject.Inject;
  
 -import com.google.common.collect.ImmutableMap;
 -import com.google.common.collect.Sets;
+ 
  @StaticallyInject
  public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
 -
 -  public static final String STACK_VERSION_PROPERTY_ID     = PropertyHelper.getPropertyId("Versions", "stack_version");
 -  public static final String STACK_NAME_PROPERTY_ID        = PropertyHelper.getPropertyId("Versions", "stack_name");
 -  public static final String STACK_MIN_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId("Versions", "min_upgrade_version");
 -  public static final String STACK_ACTIVE_PROPERTY_ID      = PropertyHelper.getPropertyId("Versions", "active");
 -  public static final String STACK_VALID_PROPERTY_ID      = PropertyHelper.getPropertyId("Versions", "valid");
 -  public static final String STACK_ERROR_SET      = PropertyHelper.getPropertyId("Versions", "stack-errors");
 -  public static final String STACK_CONFIG_TYPES            = PropertyHelper.getPropertyId("Versions", "config_types");
 -  public static final String STACK_PARENT_PROPERTY_ID      = PropertyHelper.getPropertyId("Versions", "parent_stack_version");
 -  public static final String UPGRADE_PACKS_PROPERTY_ID = PropertyHelper.getPropertyId("Versions", "upgrade_packs");
 -  public static final String STACK_MIN_JDK     = PropertyHelper.getPropertyId("Versions", "min_jdk");
 -  public static final String STACK_MAX_JDK     = PropertyHelper.getPropertyId("Versions", "max_jdk");
 +  public static final String RESPONSE_KEY = "Versions";
 +  public static final String ALL_PROPERTIES = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "*";
 +  public static final String STACK_VERSION_PROPERTY_ID     = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "stack_version";
 +  public static final String STACK_NAME_PROPERTY_ID        = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "stack_name";
 +  public static final String STACK_MIN_VERSION_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "min_upgrade_version";
 +  public static final String STACK_ACTIVE_PROPERTY_ID      = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "active";
 +  public static final String STACK_VALID_PROPERTY_ID      = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "valid";
 +  public static final String STACK_ERROR_SET      = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP +"stack-errors";
 +  public static final String STACK_CONFIG_TYPES            = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "config_types";
 +  public static final String STACK_PARENT_PROPERTY_ID      = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "parent_stack_version";
 +  public static final String UPGRADE_PACKS_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "upgrade_packs";
 +  public static final String STACK_MIN_JDK     = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "min_jdk";
 +  public static final String STACK_MAX_JDK     = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "max_jdk";
 +  public static final String MPACK_ID     = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "mpack_id";
 +
 +  public static final Set<String> PROPERTY_IDS = new HashSet<>();
 +
 +  @Inject
 +  protected static StackDAO stackDAO;
 +
 +  private static Set<String> pkPropertyIds = new HashSet<>(
 +    Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID, STACK_VERSION_PROPERTY_ID, MPACK_ID}));
  
    /**
 -   * The key property ids for a StackVersion resource.
 +   * The key property ids for a mpack resource.
     */
 -  protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
 -      .put(Type.Stack, STACK_NAME_PROPERTY_ID)
 -      .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
 -      .build();
 +  public static final Map<Resource.Type, String> KEY_PROPERTY_IDS = new HashMap<>();
 +
 +  static {
 +    // properties
 +    PROPERTY_IDS.add(MPACK_ID);
 +    PROPERTY_IDS.add(STACK_VERSION_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_NAME_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_MIN_VERSION_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_ACTIVE_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_VALID_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_ERROR_SET);
 +    PROPERTY_IDS.add(STACK_CONFIG_TYPES);
 +    PROPERTY_IDS.add(STACK_PARENT_PROPERTY_ID);
 +    PROPERTY_IDS.add(UPGRADE_PACKS_PROPERTY_ID);
 +    PROPERTY_IDS.add(STACK_MIN_JDK);
 +    PROPERTY_IDS.add(STACK_MAX_JDK);
 +
 +    // keys
 +    KEY_PROPERTY_IDS.put(Resource.Type.Mpack, MPACK_ID);
 +    KEY_PROPERTY_IDS.put(Resource.Type.Stack, STACK_NAME_PROPERTY_ID);
 +    KEY_PROPERTY_IDS.put(Resource.Type.StackVersion, STACK_VERSION_PROPERTY_ID);
  
 -  /**
 -   * The property ids for a StackVersion resource.
 -   */
 -  protected static Set<String> propertyIds = Sets.newHashSet(
 -      STACK_VERSION_PROPERTY_ID,
 -      STACK_NAME_PROPERTY_ID,
 -      STACK_MIN_VERSION_PROPERTY_ID,
 -      STACK_ACTIVE_PROPERTY_ID,
 -      STACK_VALID_PROPERTY_ID,
 -      STACK_ERROR_SET,
 -      STACK_CONFIG_TYPES,
 -      STACK_PARENT_PROPERTY_ID,
 -      UPGRADE_PACKS_PROPERTY_ID,
 -      STACK_MIN_JDK,
 -      STACK_MAX_JDK);
 -
 -  protected StackVersionResourceProvider(AmbariManagementController managementController) {
 -    super(Type.StackVersion, propertyIds, keyPropertyIds, managementController);
    }
  
 +  StackVersionResourceProvider(AmbariManagementController controller) {
-     super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
++    super(Resource.Type.StackVersion, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
 +  }
 +
 +
    @Override
    public Set<Resource> getResources(Request request, Predicate predicate)
        throws SystemException, UnsupportedPropertyException,
diff --cc ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
index b4a1529,4b3e42a..5f61c7d
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
@@@ -128,14 -128,20 +128,22 @@@ public class HostVersionOutOfSyncListen
          // We perform check per-stack version, because component may be not versionAdvertised in current
          // stack, but become versionAdvertised in some future (installed, but not yet upgraded to) stack
          String serviceName = event.getServiceName();
 +        String serviceType = event.getServiceType();
          String componentName = event.getComponentName();
+ 
+         // Skip lookup if stack does not contain the component
+         if (!ami.get().isValidServiceComponent(hostStackId.getStackName(),
+             hostStackId.getStackVersion(), serviceName, componentName)) {
+           LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+               hostStackId.getStackName(), hostStackId.getStackVersion(), serviceName, componentName);
+           continue;
+         }
          ComponentInfo component = ami.get().getComponent(hostStackId.getStackName(),
 -                hostStackId.getStackVersion(), serviceName, componentName);
 +                hostStackId.getStackVersion(), serviceType, componentName);
  
          if (!component.isVersionAdvertised()) {
 -          RepositoryVersionState state = checkAllHostComponents(hostStackId, hostVersionEntity.getHostEntity());
 +          RepositoryVersionState state = checkAllHostComponents(hostStackId, serviceName, serviceType,
 +                                                                hostVersionEntity.getHostEntity());
            if (null != state) {
              hostVersionEntity.setState(state);
              hostVersionDAO.get().merge(hostVersionEntity);
@@@ -218,8 -223,16 +226,16 @@@
      Collection<HostComponentDesiredStateEntity> hostComponents = host.getHostComponentDesiredStateEntities();
  
      for (HostComponentDesiredStateEntity hostComponent : hostComponents) {
+       // Skip lookup if stack does not contain the component
+       if (!ami.get().isValidServiceComponent(stackId.getStackName(),
+           stackId.getStackVersion(), hostComponent.getServiceName(), hostComponent.getComponentName())) {
+         LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+             stackId.getStackName(), stackId.getStackVersion(),
+             hostComponent.getServiceName(), hostComponent.getComponentName());
+         continue;
+       }
        ComponentInfo ci = ami.get().getComponent(stackId.getStackName(), stackId.getStackVersion(),
 -          hostComponent.getServiceName(), hostComponent.getComponentName());
 +        stackServiceName, hostComponent.getComponentName());
  
        if (ci.isVersionAdvertised()) {
          return null;
@@@ -259,10 -273,19 +275,18 @@@
            // We perform check per-stack version, because component may be not versionAdvertised in current
            // stack, but become versionAdvertised in some future (installed, but not yet upgraded to) stack
            boolean hasChangedComponentsWithVersions = false;
 -          String serviceName = event.getServiceName();
            for (ServiceComponent comp : affectedHosts.get(hostName)) {
              String componentName = comp.getName();
+ 
+             // Skip lookup if stack does not contain the component
+             if (!ami.get().isValidServiceComponent(repositoryVersion.getStackName(),
+                 repositoryVersion.getStackVersion(), serviceName, componentName)) {
+               LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+                   repositoryVersion.getStackName(), repositoryVersion.getStackVersion(), serviceName, componentName);
+               continue;
+             }
              ComponentInfo component = ami.get().getComponent(repositoryVersion.getStackName(),
 -                    repositoryVersion.getStackVersion(), serviceName, componentName);
 +                    repositoryVersion.getStackVersion(), comp.getServiceType(), componentName);
              if (component.isVersionAdvertised()) {
                hasChangedComponentsWithVersions = true;
              }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
index d12e8cd,62226af..8ec5c3a
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
@@@ -901,9 -666,20 +901,18 @@@ public interface Cluster 
     * maps are not modified.
     * <p/>
     *
 -   * @param commandParams
 -   *          the command parameter map to supplement (not {@code null}).
 -   * @param roleParams
 -   *          the role parameter map to supplement (not {@code null}).
 +   * @param commandParams the command parameter map to supplement (not {@code null}).
 +   * @param roleParams    the role parameter map to supplement (not {@code null}).
     */
    void addSuspendedUpgradeParameters(Map<String, String> commandParams,
 -      Map<String, String> roleParams);
 +                                     Map<String, String> roleParams);
+ 
+   /**
+    * Gets a mapping of service to component/version for every installed
+    * component in the cluster which advertises a version and for which the
+    * repository has been resolved.
+    *
+    * @return a mapping of service to component version, or an empty map.
+    */
+   Map<String, Map<String, String>> getComponentVersionMap();
  }
diff --cc ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index a811c5e,2f3afd6..4ab3a3d
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
@@@ -1885,7 -1336,7 +1888,8 @@@ public class ClusterImpl implements Clu
      try {
        refresh();
        deleteAllServices();
 +      deleteAllServiceGroups();
+       resetHostVersions();
  
        refresh(); // update one-to-many clusterServiceEntities
        removeEntities();
@@@ -1905,9 -1356,17 +1909,18 @@@
      clusterDAO.removeByPK(clusterId);
    }
  
 +  //TODO this needs to be reworked to support multiple instance of same service
+   private void resetHostVersions() {
+     for (HostVersionEntity hostVersionEntity : hostVersionDAO.findByCluster(getClusterName())) {
+       if (!hostVersionEntity.getState().equals(RepositoryVersionState.NOT_REQUIRED)) {
+         hostVersionEntity.setState(RepositoryVersionState.NOT_REQUIRED);
+         hostVersionDAO.merge(hostVersionEntity);
+       }
+     }
+   }
+ 
    @Override
 -  public ServiceConfigVersionResponse addDesiredConfig(String user, Set<Config> configs) {
 +  public ServiceConfigVersionResponse addDesiredConfig(String user, Set<Config> configs) throws AmbariException {
      return addDesiredConfig(user, configs, null);
    }
  
@@@ -2125,49 -1581,41 +2138,53 @@@
      return response;
    }
  
 +  //TODO this needs to be reworked to support multiple instance of same service
    @Override
 -  public String getServiceForConfigTypes(Collection<String> configTypes) {
 -    List<String> serviceNames = configTypes.stream()
 -      .map(this::getServiceByConfigType)
 -      .filter(Objects::nonNull)
 -      .collect(toList());
 -    boolean allTheSame = new HashSet<>(serviceNames).size() <= 1;
 -    if (!allTheSame) {
 -      throw new IllegalArgumentException(String.format(
 -        "Config types: %s should belong to a single installed service. But they belong to: %s", configTypes, serviceNames));
 +  public Long getServiceForConfigTypes(Collection<String> configTypes) {
 +    //debug
 +    LOG.info("Looking for service for config types {}", configTypes);
 +    List<Long> resultingServiceIds = new ArrayList<>();
 +
 +    for (Long serviceId : serviceConfigTypes.keySet()) {
 +      Set<String> configTypesForServiceId = serviceConfigTypes.get(serviceId);
 +      if (configTypesForServiceId.containsAll(configTypes)) {
 +          resultingServiceIds.add(serviceId);
 +      }
 +    }
 +    if (resultingServiceIds.isEmpty()) {
 +      LOG.warn("Can't find serviceIds for {}, there is a problem if there's no cluster-env", configTypes);
 +      return null;
 +    } else {
 +      LOG.info("Service {} returning", getServiceOrNull(resultingServiceIds.get(0)));
      }
 -    return serviceNames.isEmpty() ? null : serviceNames.get(0);
 -  }
  
 -  public List<String> serviceNameByConfigType(String configType) {
 -    return serviceConfigTypes.entries().stream()
 -      .filter(entry -> StringUtils.equals(entry.getValue(), configType))
 -      .map(entry -> entry.getKey())
 -      .collect(toList());
 +    //TODO this needs to be reworked to support multiple instance of same service
 +    return resultingServiceIds.get(0);
    }
  
 +  //TODO this needs to be reworked to support multiple instance of same service
    @Override
 -  public String getServiceByConfigType(String configType) {
 -    return serviceNameByConfigType(configType).stream()
 -      .filter(this::isServiceInstalled)
 -      .findFirst()
 -      .orElse(null);
 +  public Service getServiceByConfigType(String configType) {
 +    List<Long> resultingServiceIds = new ArrayList<>();
 +    for (Long serviceId : serviceConfigTypes.keySet()) {
 +      if (serviceConfigTypes.get(serviceId).contains(configType)) {
 +        resultingServiceIds.add(serviceId);
 +      }
 +    }
 +    if (resultingServiceIds.isEmpty()) {
 +      LOG.warn("Can't find service for {}", configType);
 +      return null;
 +    }
 +    //TODO this needs to be reworked to support multiple instance of same service
 +    return getServiceOrNull(resultingServiceIds.get(0));
    }
  
+   private boolean isServiceInstalled(String serviceName) {
+     return services.get(serviceName) != null;
+   }
+ 
    @Override
 -  public ServiceConfigVersionResponse setServiceConfigVersion(String serviceName, Long version, String user, String note) throws AmbariException {
 +  public ServiceConfigVersionResponse setServiceConfigVersion(Long serviceId, Long version, String user, String note) throws AmbariException {
      if (null == user) {
        throw new NullPointerException("User must be specified.");
      }
@@@ -2434,30 -1892,9 +2451,29 @@@
      return convertToServiceConfigVersionResponse(serviceConfigEntityClone);
    }
  
 +  //TODO this needs to be reworked to support multiple instance of same service
    @Transactional
 -  ServiceConfigVersionResponse applyConfigs(Set<Config> configs, String user, String serviceConfigVersionNote) {
 -    String serviceName = getServiceForConfigTypes(configs.stream().map(Config::getType).collect(toList()));
 +  ServiceConfigVersionResponse applyConfigs(Set<Config> configs, String user, String serviceConfigVersionNote) throws AmbariException {
 +    Long resultingServiceId = null;
 +    for (Config config : configs) {
 +      for (Long serviceId : serviceConfigTypes.keySet()) {
 +        if (serviceConfigTypes.get(serviceId).contains(config.getType())) {
 +          if (resultingServiceId == null) {
 +            resultingServiceId = serviceId;
 +            break;
 +          } else if (!resultingServiceId.equals(serviceId)) {
 +            String error = String.format("Updating configs for multiple services by a " +
 +                "single API request isn't supported. Conflicting services %s and %s for %s",
 +                getService(serviceId).getName(), getService(resultingServiceId).getName(), config.getType());
 +            IllegalArgumentException exception = new IllegalArgumentException(error);
 +            LOG.error(error + ", config version not created for {}", getService(resultingServiceId).getName());
 +            throw exception;
 +          } else {
 +            break;
 +          }
 +        }
 +      }
 +    }
- 
      // update the selected flag for every config type
      ClusterEntity clusterEntity = getClusterEntity();
      Collection<ClusterConfigEntity> clusterConfigs = clusterEntity.getClusterConfigEntities();
diff --cc ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
index b5ae330,0e940ae..f8260ef
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@@ -1168,18 -1087,10 +1195,20 @@@ CREATE INDEX idx_alert_notice_state on 
  -- In order for the first ID to be 1, must initialize the ambari_sequences table with a sequence_value of 0.
  -- BEGIN;
  INSERT INTO ambari_sequences (sequence_name, sequence_value)
+   SELECT 'kkp_id_seq', 0 FROM SYSIBM.SYSDUMMY1
+   UNION ALL
    SELECT 'cluster_id_seq', 1 FROM SYSIBM.SYSDUMMY1
    UNION ALL
 +  SELECT 'cluster_setting_id_seq', 1 FROM SYSIBM.SYSDUMMY1
 +  UNION ALL
 +  SELECT 'service_group_id_seq', 1 FROM SYSIBM.SYSDUMMY1
 +  UNION ALL
 +  SELECT 'service_group_dependency_id_seq', 1 FROM SYSIBM.SYSDUMMY1
 +  UNION ALL
 +  SELECT 'service_dependency_id_seq', 1 FROM SYSIBM.SYSDUMMY1
 +  UNION ALL
 +  SELECT 'service_id_seq', 1 FROM SYSIBM.SYSDUMMY1
 +  UNION ALL
    SELECT 'host_id_seq', 0 FROM SYSIBM.SYSDUMMY1
    UNION ALL
    SELECT 'user_id_seq', 2 FROM SYSIBM.SYSDUMMY1
diff --cc ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 0d2d0dc,da14dcb..b7807bc
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@@ -1181,12 -1104,8 +1211,13 @@@ CREATE INDEX idx_alert_notice_state on 
  
  -- In order for the first ID to be 1, must initialize the ambari_sequences table with a sequence_value of 0.
  INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES
+   ('kkp_id_seq', 0),
    ('cluster_id_seq', 1),
 +  ('cluster_setting_id_seq', 1),
 +  ('service_group_id_seq', 1),
 +  ('service_dependency_id_seq', 1),
 +  ('service_group_dependency_id_seq', 1),
 +  ('service_id_seq', 1),
    ('host_id_seq', 0),
    ('host_role_command_id_seq', 1),
    ('user_id_seq', 2),
diff --cc ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index c954cd3,d5cf42a..c4d94d4
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@@ -1158,14 -1082,11 +1188,16 @@@ CREATE INDEX idx_alert_group_name on al
  CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
  
  ---------inserting some data-----------
+ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('kkp_id_seq', 0);
  -- In order for the first ID to be 1, must initialize the ambari_sequences table with a sequence_value of 0.
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_role_command_id_seq', 0);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_setting_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_group_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_dependency_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_group_dependency_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_id_seq', 1);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('user_id_seq', 1);
+ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('user_authentication_id_seq', 1);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('group_id_seq', 0);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('member_id_seq', 0);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_id_seq', 0);
diff --cc ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index e8850e3,f2b3da3..6044262
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@@ -1131,14 -1085,11 +1162,16 @@@ CREATE INDEX idx_alert_notice_state on 
  -- In order for the first ID to be 1, must initialize the ambari_sequences table with a sequence_value of 0.
  BEGIN;
  INSERT INTO ambari_sequences (sequence_name, sequence_value) VALUES
+   ('kkp_id_seq', 0),
    ('cluster_id_seq', 1),
 +  ('cluster_setting_id_seq', 1),
 +  ('service_group_id_seq', 1),
 +  ('service_group_dependency_id_seq', 1),
 +  ('service_id_seq', 1),
 +  ('service_dependency_id_seq', 1),
    ('host_id_seq', 0),
    ('user_id_seq', 2),
+   ('user_authentication_id_seq', 2),
    ('group_id_seq', 1),
    ('member_id_seq', 1),
    ('host_role_command_id_seq', 1),
diff --cc ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
index cbd5aaf,a62a7d2..b9a4f0e
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@@ -1157,13 -1080,9 +1187,14 @@@ CREATE INDEX idx_alert_history_state o
  CREATE INDEX idx_alert_group_name on alert_group(group_name);
  CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
  
+ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('kkp_id_seq', 0);
  -- In order for the first ID to be 1, must initialize the ambari_sequences table with a sequence_value of 0.
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_setting_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_group_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_dependency_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_group_dependency_id_seq', 1);
 +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_id_seq', 1);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_id_seq', 0);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_role_command_id_seq', 1);
  INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('user_id_seq', 2);
diff --cc ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index ad83318,d84cd70..fe9e987
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@@ -1185,14 -1108,11 +1215,16 @@@ CREATE INDEX idx_alert_notice_state on 
  BEGIN TRANSACTION
    INSERT INTO ambari_sequences (sequence_name, [sequence_value])
    VALUES
+     ('kkp_id_seq', 0),
      ('cluster_id_seq', 1),
 +    ('cluster_setting_id_seq', 1),
 +    ('service_group_id_seq', 1),
 +    ('service_dependency_id_seq', 1),
 +    ('service_group_dependency_id_seq', 1),
 +    ('service_id_seq', 1),
      ('host_id_seq', 0),
      ('user_id_seq', 2),
+     ('user_authentication_id_seq', 2),
      ('group_id_seq', 1),
      ('member_id_seq', 1),
      ('host_role_command_id_seq', 1),
diff --cc ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
index 8c44632,b7d977e..6cd1504
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
@@@ -1721,10 -1715,10 +1720,10 @@@ public class AmbariMetaInfoTest 
  
      RepositoryVersionEntity repositoryVersion = ormHelper.getOrCreateRepositoryVersion(
          cluster.getCurrentStackVersion(), repoVersion);
 -
 -    cluster.addService("HDFS", repositoryVersion);
 +    ServiceGroup sg = cluster.addServiceGroup("core");
 +    cluster.addService(sg, "HDFS", "HDFS", repositoryVersion);
  
-     metaInfo.reconcileAlertDefinitions(clusters);
+     metaInfo.reconcileAlertDefinitions(clusters, false);
  
      AlertDefinitionDAO dao = injector.getInstance(AlertDefinitionDAO.class);
      List<AlertDefinitionEntity> definitions = dao.findAll(clusterId);
diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
index 462b917,1bee291..1f869f9
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
@@@ -80,8 -79,9 +80,10 @@@ import org.apache.ambari.server.mpack.M
  import org.apache.ambari.server.orm.DBAccessor;
  import org.apache.ambari.server.orm.dao.ArtifactDAO;
  import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
+ import org.apache.ambari.server.orm.dao.KerberosKeytabPrincipalDAO;
  import org.apache.ambari.server.orm.dao.KerberosPrincipalDAO;
 +import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
+ import org.apache.ambari.server.orm.entities.KerberosKeytabPrincipalEntity;
  import org.apache.ambari.server.security.SecurityHelper;
  import org.apache.ambari.server.security.credential.PrincipalKeyCredential;
  import org.apache.ambari.server.security.encryption.CredentialStoreService;
@@@ -260,10 -261,9 +263,11 @@@ public class KerberosHelperTest extend
          bind(AuditLogger.class).toInstance(createNiceMock(AuditLogger.class));
          bind(ArtifactDAO.class).toInstance(createNiceMock(ArtifactDAO.class));
          bind(KerberosPrincipalDAO.class).toInstance(createNiceMock(KerberosPrincipalDAO.class));
+         bind(KerberosKeytabPrincipalDAO.class).toInstance(createNiceMock(KerberosKeytabPrincipalDAO.class));
          bind(RoleCommandOrderProvider.class).to(CachedRoleCommandOrderProvider.class);
          bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
 +        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
 +        bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
  
          requestStaticInjection(KerberosChecker.class);
        }
diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
index 1cd553c,c5994c5..a17e94f
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
@@@ -216,11 -210,9 +212,9 @@@ public class ClientConfigResourceProvid
  
      ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
          type,
-         PropertyHelper.getPropertyIds(type),
-         PropertyHelper.getKeyPropertyIds(type),
          managementController);
  
 -    String clusterName = "C1";
 +    String clusterName = "c1";
      String serviceName = "PIG";
      String componentName = "PIG";
      String displayName = "Pig Client";
diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
index 622dd7f,650dc78..f0337bb
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
@@@ -114,12 -109,11 +112,11 @@@ public class HostComponentResourceProvi
  
      AbstractControllerResourceProvider.init(resourceProviderFactory);
  
 -    managementController.createHostComponents(
 -        AbstractResourceProviderTest.Matcher.getHostComponentRequestSet(
 -            "Cluster100", "Service100", "Component100", "Host100", null, null));
 +    ServiceComponentHostRequest request = new ServiceComponentHostRequest("Cluster100", SERVICE_GROUP_NAME, "Service100", "Component100", "Host100", null);
 +    Set<ServiceComponentHostRequest> expectedRequests = Collections.singleton(request);
 +    expect(managementController.createHostComponents(eq(expectedRequests))).andReturn(null).once();
  
-     expect(resourceProviderFactory.getHostComponentResourceProvider(EasyMock.anyObject(),
-         EasyMock.anyObject(),
+     expect(resourceProviderFactory.getHostComponentResourceProvider(
          eq(managementController))).
          andReturn(hostComponentResourceProvider).anyTimes();
  
@@@ -456,13 -442,12 +447,11 @@@
      Injector injector = createNiceMock(Injector.class);
  
      HostComponentResourceProvider provider =
-         new HostComponentResourceProvider(PropertyHelper.getPropertyIds(type),
-             PropertyHelper.getKeyPropertyIds(type),
-             managementController, injector);
+         new HostComponentResourceProvider(managementController, injector);
  
      // set expectations
 -    expect(managementController.deleteHostComponents(
 -        AbstractResourceProviderTest.Matcher.getHostComponentRequestSet(
 -            null, null, "Component100", "Host100", null, null))).andReturn(deleteStatusMetaData);
 +    ServiceComponentHostRequest request = new ServiceComponentHostRequest(null, null, null, "Component100", "Host100", null);
 +    expect(managementController.deleteHostComponents(Collections.singleton(request))).andReturn(deleteStatusMetaData);
  
      // replay
      replay(managementController, deleteStatusMetaData);
diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
index 9ad233f,670c187..0ea3a56
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
@@@ -232,10 -229,10 +230,10 @@@ public class HostStackVersionResourcePr
      expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
      expect(managementController.getActionManager()).andReturn(actionManager).anyTimes();
      expect(managementController.getJdkResourceUrl()).andReturn("/JdkResourceUrl").anyTimes();
 -    expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
 +    expect(managementController.getPackagesForStackServiceHost(anyObject(StackInfo.class),anyObject(ServiceInfo.class),
              EasyMock.anyObject(), anyObject(String.class))).andReturn(packages).anyTimes();
  
-     expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+     expect(resourceProviderFactory.getHostResourceProvider(
          eq(managementController))).andReturn(csvResourceProvider).anyTimes();
  
      expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@@ -330,10 -323,10 +326,10 @@@
      expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
      expect(managementController.getActionManager()).andReturn(actionManager).anyTimes();
      expect(managementController.getJdkResourceUrl()).andReturn("/JdkResourceUrl").anyTimes();
 -    expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
 +    expect(managementController.getPackagesForStackServiceHost(anyObject(StackInfo.class),anyObject(ServiceInfo.class),
        anyObject(Map.class), anyObject(String.class))).andReturn(packages).anyTimes();
  
-     expect(resourceProviderFactory.getHostResourceProvider(anyObject(Set.class), anyObject(Map.class),
+     expect(resourceProviderFactory.getHostResourceProvider(
        eq(managementController))).andReturn(csvResourceProvider).anyTimes();
  
      expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@@ -429,10 -419,10 +423,10 @@@
      expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
      expect(managementController.getActionManager()).andReturn(actionManager).anyTimes();
      expect(managementController.getJdkResourceUrl()).andReturn("/JdkResourceUrl").anyTimes();
 -    expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
 +    expect(managementController.getPackagesForStackServiceHost(anyObject(StackInfo.class),anyObject(ServiceInfo.class),
              EasyMock.anyObject(), anyObject(String.class))).andReturn(packages).anyTimes();
  
-     expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+     expect(resourceProviderFactory.getHostResourceProvider(
              eq(managementController))).andReturn(csvResourceProvider).anyTimes();
  
      expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index 4ce9352,aaddda2..a34bf23
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@@ -18,14 -18,21 +18,22 @@@
  
  package org.apache.ambari.server.controller.internal;
  
++import org.apache.ambari.server.security.authorization.Users;
+ import static org.easymock.EasyMock.anyObject;
+ import static org.easymock.EasyMock.capture;
  import static org.easymock.EasyMock.expect;
  import static org.easymock.EasyMock.expectLastCall;
+ import static org.easymock.EasyMock.getCurrentArguments;
+ import static org.easymock.EasyMock.newCapture;
  
+ import java.util.ArrayList;
  import java.util.Arrays;
+ import java.util.Calendar;
  import java.util.Collections;
+ import java.util.Date;
+ import java.util.HashMap;
  import java.util.HashSet;
  import java.util.LinkedHashMap;
- import java.util.LinkedHashSet;
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
@@@ -53,12 -65,25 +66,29 @@@ import org.apache.ambari.server.hooks.H
  import org.apache.ambari.server.hooks.HookService;
  import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
  import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
 +import org.apache.ambari.server.mpack.MpackManagerFactory;
  import org.apache.ambari.server.orm.DBAccessor;
+ import org.apache.ambari.server.orm.dao.GroupDAO;
  import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
 +import org.apache.ambari.server.registry.RegistryFactory;
 +import org.apache.ambari.server.registry.RegistryManager;
 +import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
+ import org.apache.ambari.server.orm.dao.MemberDAO;
+ import org.apache.ambari.server.orm.dao.PermissionDAO;
+ import org.apache.ambari.server.orm.dao.PrincipalDAO;
+ import org.apache.ambari.server.orm.dao.PrincipalTypeDAO;
+ import org.apache.ambari.server.orm.dao.PrivilegeDAO;
+ import org.apache.ambari.server.orm.dao.ResourceDAO;
+ import org.apache.ambari.server.orm.dao.UserAuthenticationDAO;
+ import org.apache.ambari.server.orm.dao.UserDAO;
+ import org.apache.ambari.server.orm.entities.MemberEntity;
+ import org.apache.ambari.server.orm.entities.PermissionEntity;
+ import org.apache.ambari.server.orm.entities.PrincipalEntity;
+ import org.apache.ambari.server.orm.entities.PrincipalTypeEntity;
+ import org.apache.ambari.server.orm.entities.PrivilegeEntity;
+ import org.apache.ambari.server.orm.entities.ResourceEntity;
+ import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
+ import org.apache.ambari.server.orm.entities.UserEntity;
  import org.apache.ambari.server.scheduler.ExecutionScheduler;
  import org.apache.ambari.server.security.TestAuthenticationFactory;
  import org.apache.ambari.server.security.authorization.AuthorizationException;
@@@ -236,40 -389,43 +396,50 @@@ public class UserResourceProviderTest e
          install(new FactoryModuleBuilder().build(UpgradeContextFactory.class));
          install(new FactoryModuleBuilder().build(RoleGraphFactory.class));
  
-         bind(EntityManager.class).toInstance(createNiceMock(EntityManager.class));
-         bind(DBAccessor.class).toInstance(createNiceMock(DBAccessor.class));
-         bind(ActionDBAccessor.class).toInstance(createNiceMock(ActionDBAccessor.class));
-         bind(ExecutionScheduler.class).toInstance(createNiceMock(ExecutionScheduler.class));
-         bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
+         bind(EntityManager.class).toInstance(createMock(EntityManager.class));
+         bind(DBAccessor.class).toInstance(createMock(DBAccessor.class));
+         bind(ActionDBAccessor.class).toInstance(createMock(ActionDBAccessor.class));
+         bind(ExecutionScheduler.class).toInstance(createMock(ExecutionScheduler.class));
+         bind(OsFamily.class).toInstance(createMock(OsFamily.class));
          bind(AmbariMetaInfo.class).toInstance(createMock(AmbariMetaInfo.class));
-         bind(ActionManager.class).toInstance(createNiceMock(ActionManager.class));
-         bind(RequestFactory.class).toInstance(createNiceMock(RequestFactory.class));
-         bind(RequestExecutionFactory.class).toInstance(createNiceMock(RequestExecutionFactory.class));
-         bind(StageFactory.class).toInstance(createNiceMock(StageFactory.class));
-         bind(Clusters.class).toInstance(createNiceMock(Clusters.class));
-         bind(AbstractRootServiceResponseFactory.class).toInstance(createNiceMock(AbstractRootServiceResponseFactory.class));
+         bind(ActionManager.class).toInstance(createMock(ActionManager.class));
+         bind(RequestFactory.class).toInstance(createMock(RequestFactory.class));
+         bind(RequestExecutionFactory.class).toInstance(createMock(RequestExecutionFactory.class));
+         bind(StageFactory.class).toInstance(createMock(StageFactory.class));
+         bind(Clusters.class).toInstance(createMock(Clusters.class));
+         bind(AbstractRootServiceResponseFactory.class).toInstance(createMock(AbstractRootServiceResponseFactory.class));
 -        bind(StackManagerFactory.class).toInstance(createMock(StackManagerFactory.class));
 +        bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
-         bind(ConfigFactory.class).toInstance(createNiceMock(ConfigFactory.class));
-         bind(ConfigGroupFactory.class).toInstance(createNiceMock(ConfigGroupFactory.class));
+         bind(ConfigFactory.class).toInstance(createMock(ConfigFactory.class));
+         bind(ConfigGroupFactory.class).toInstance(createMock(ConfigGroupFactory.class));
 +        bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
-         bind(ServiceFactory.class).toInstance(createNiceMock(ServiceFactory.class));
-         bind(ServiceComponentFactory.class).toInstance(createNiceMock(ServiceComponentFactory.class));
-         bind(ServiceComponentHostFactory.class).toInstance(createNiceMock(ServiceComponentHostFactory.class));
-         bind(PasswordEncoder.class).toInstance(createNiceMock(PasswordEncoder.class));
-         bind(KerberosHelper.class).toInstance(createNiceMock(KerberosHelper.class));
+         bind(ServiceFactory.class).toInstance(createMock(ServiceFactory.class));
+         bind(ServiceComponentFactory.class).toInstance(createMock(ServiceComponentFactory.class));
+         bind(ServiceComponentHostFactory.class).toInstance(createMock(ServiceComponentHostFactory.class));
+         bind(PasswordEncoder.class).toInstance(createMock(PasswordEncoder.class));
+         bind(KerberosHelper.class).toInstance(createMock(KerberosHelper.class));
 +        bind(Users.class).toInstance(createMock(Users.class));
-         bind(AmbariManagementController.class).to(AmbariManagementControllerImpl.class);
+         bind(AmbariManagementController.class).toInstance(createMock(AmbariManagementController.class));
          bind(RoleCommandOrderProvider.class).to(CachedRoleCommandOrderProvider.class);
          bind(CredentialStoreService.class).to(CredentialStoreServiceImpl.class);
          bind(HostRoleCommandDAO.class).toInstance(createMock(HostRoleCommandDAO.class));
          bind(HookService.class).toInstance(createMock(HookService.class));
          bind(HookContextFactory.class).toInstance(createMock(HookContextFactory.class));
          bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
 +        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
 +        bind(RegistryFactory.class).toInstance(createNiceMock(RegistryFactory.class));
 +        bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
 +        bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
 +        bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+         bind(UserDAO.class).toInstance(createMock(UserDAO.class));
+ 
+         bind(UserAuthenticationDAO.class).toInstance(createMock(UserAuthenticationDAO.class));
+         bind(GroupDAO.class).toInstance(createMock(GroupDAO.class));
+         bind(MemberDAO.class).toInstance(createMock(MemberDAO.class));
+         bind(PrincipalDAO.class).toInstance(createMock(PrincipalDAO.class));
+         bind(PermissionDAO.class).toInstance(createMock(PermissionDAO.class));
+         bind(PrivilegeDAO.class).toInstance(createMock(PrivilegeDAO.class));
+         bind(ResourceDAO.class).toInstance(createMock(ResourceDAO.class));
+         bind(PrincipalTypeDAO.class).toInstance(createMock(PrincipalTypeDAO.class));
        }
      });
    }
diff --cc ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
index 96348b5,8b37f72..e6c71f4
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
@@@ -1381,9 -1385,10 +1383,10 @@@ public class ClusterTest 
    public void testAllServiceConfigVersionsWithConfigGroups() throws Exception {
      // Given
      createDefaultCluster();
+     c1.addService("HDFS", helper.getOrCreateRepositoryVersion(new StackId("HDP", "0.1"), "0.1"));
  
      Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", "version1",
 -        ImmutableMap.of("p1", "v1"), ImmutableMap.of());
 +        ImmutableMap.of("p1", "v1"), new HashMap<>());
  
      ServiceConfigVersionResponse hdfsSiteConfigResponseV1 = c1.addDesiredConfig("admin", Collections.singleton(hdfsSiteConfigV1));
      List<ConfigurationResponse> configResponsesDefaultGroup =  Collections.singletonList(
@@@ -1430,9 -1445,10 +1433,10 @@@
    public void testAllServiceConfigVersionsWithDeletedConfigGroups() throws Exception {
      // Given
      createDefaultCluster();
+     c1.addService("HDFS", helper.getOrCreateRepositoryVersion(new StackId("HDP", "0.1"), "0.1"));
  
      Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", "version1",
 -        ImmutableMap.of("p1", "v1"), ImmutableMap.of());
 +        ImmutableMap.of("p1", "v1"), new HashMap<>());
  
      ServiceConfigVersionResponse hdfsSiteConfigResponseV1 = c1.addDesiredConfig("admin", Collections.singleton(hdfsSiteConfigV1));
      List<ConfigurationResponse> configResponsesDefaultGroup =  Collections.singletonList(
diff --cc ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
index 8b7f5c5,6dbc9fa..5109d8d
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
@@@ -23,9 -28,37 +28,38 @@@ import static org.apache.ambari.server.
  import static org.apache.ambari.server.upgrade.UpgradeCatalog300.AMBARI_CONFIGURATION_TABLE;
  import static org.apache.ambari.server.upgrade.UpgradeCatalog300.COMPONENT_DESIRED_STATE_TABLE;
  import static org.apache.ambari.server.upgrade.UpgradeCatalog300.COMPONENT_STATE_TABLE;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.MEMBERS_GROUP_ID_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.MEMBERS_MEMBER_ID_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.MEMBERS_TABLE;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.MEMBERS_USER_ID_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.REQUEST_DISPLAY_STATUS_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.REQUEST_TABLE;
  import static org.apache.ambari.server.upgrade.UpgradeCatalog300.SECURITY_STATE_COLUMN;
  import static org.apache.ambari.server.upgrade.UpgradeCatalog300.SERVICE_DESIRED_STATE_TABLE;
 +import static org.easymock.EasyMock.anyLong;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_DISPLAY_STATUS_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_STATUS_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_TABLE;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.UNIQUE_USERS_0_INDEX;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_CONSECUTIVE_FAILURES_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_DISPLAY_NAME_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_LDAP_USER_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_LOCAL_USERNAME_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_TABLE;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_USER_ID_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_USER_NAME_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_USER_PASSWORD_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_USER_TYPE_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USERS_VERSION_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_AUTHENTICATION_KEY_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_AUTHENTICATION_TYPE_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_CREATE_TIME_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_PRIMARY_KEY;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_TABLE;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_UPDATE_TIME_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_AUTHENTICATION_ID_COLUMN;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_AUTHENTICATION_USERS_FOREIGN_KEY;
+ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_ID_COLUMN;
  import static org.easymock.EasyMock.anyObject;
  import static org.easymock.EasyMock.anyString;
  import static org.easymock.EasyMock.capture;

-- 
To stop receiving notification emails like this one, please contact
mradhakrishnan@apache.org.

[ambari] 02/02: Fix compilation issues after trunk merge (mradhakrishnan)

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

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

commit 687f54ecbc2e7d9cf64144e24be6a4a4ef50b9b3
Author: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
AuthorDate: Tue Jan 23 14:40:53 2018 -0800

    Fix compilation issues after trunk merge (mradhakrishnan)
---
 .../java/org/apache/ambari/server/controller/AmbariServer.java |  2 +-
 .../server/controller/internal/MpackResourceProvider.java      |  2 +-
 .../controller/internal/RegistryAdvisorResourceProvider.java   |  2 +-
 .../controller/internal/RegistryMpackResourceProvider.java     |  2 +-
 .../internal/RegistryMpackVersionResourceProvider.java         |  2 +-
 .../server/controller/internal/RegistryResourceProvider.java   |  2 +-
 .../controller/internal/RegistryScenarioResourceProvider.java  |  2 +-
 .../internal/RootClusterSettingsResourceProvider.java          |  2 +-
 .../events/listeners/upgrade/HostVersionOutOfSyncListener.java |  8 ++++----
 .../org/apache/ambari/server/state/cluster/ClusterImpl.java    |  1 -
 .../apache/ambari/server/controller/KerberosHelperTest.java    |  2 +-
 .../server/controller/internal/UserResourceProviderTest.java   | 10 ++++++----
 .../apache/ambari/server/upgrade/UpgradeCatalog300Test.java    |  2 +-
 13 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index d6147a2..9de89ee 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@ -93,8 +93,8 @@ import org.apache.ambari.server.orm.dao.ResourceDAO;
 import org.apache.ambari.server.orm.dao.UserDAO;
 import org.apache.ambari.server.orm.dao.ViewInstanceDAO;
 import org.apache.ambari.server.orm.entities.MetainfoEntity;
-import org.apache.ambari.server.registry.RegistryAdvisor;
 import org.apache.ambari.server.orm.entities.UserEntity;
+import org.apache.ambari.server.registry.RegistryAdvisor;
 import org.apache.ambari.server.resources.ResourceManager;
 import org.apache.ambari.server.resources.api.rest.GetResource;
 import org.apache.ambari.server.scheduler.ExecutionScheduleManager;
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
index 84babef..0a9ca52 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
@@ -120,7 +120,7 @@ public class MpackResourceProvider extends AbstractControllerResourceProvider {
   }
 
   MpackResourceProvider(AmbariManagementController controller) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+    super(Resource.Type.Mpack, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
   }
 
   @Override
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryAdvisorResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryAdvisorResourceProvider.java
index 9a6b791..ead0d08 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryAdvisorResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryAdvisorResourceProvider.java
@@ -63,7 +63,7 @@ public abstract class RegistryAdvisorResourceProvider extends AbstractController
    */
   protected RegistryAdvisorResourceProvider(Set<String> propertyIds, Map<Resource.Type, String> keyPropertyIds,
     AmbariManagementController managementController) {
-    super(propertyIds, keyPropertyIds, managementController);
+    super(Resource.Type.Registry, propertyIds, keyPropertyIds, managementController);
   }
 
   /**
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackResourceProvider.java
index c0212ea..2e1c23c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackResourceProvider.java
@@ -86,7 +86,7 @@ public class RegistryMpackResourceProvider extends AbstractControllerResourcePro
    * @param managementController the management controller
    */
   protected RegistryMpackResourceProvider(final AmbariManagementController managementController) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+    super(Resource.Type.RegistryMpack, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
   }
 
   /**
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java
index 9020146..4b5393d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java
@@ -114,7 +114,7 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso
    * @param managementController the management controller
    */
   protected RegistryMpackVersionResourceProvider(final AmbariManagementController managementController) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+    super(Resource.Type.RegistryMpackVersion, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
     resourceCount = 0;
   }
 
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryResourceProvider.java
index 0ec6e66..0822199 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryResourceProvider.java
@@ -89,7 +89,7 @@ public class RegistryResourceProvider extends AbstractControllerResourceProvider
    */
   protected RegistryResourceProvider(
     final AmbariManagementController managementController) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+    super(Resource.Type.Registry, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
   }
 
   @Override
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryScenarioResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryScenarioResourceProvider.java
index 4edff07..b0cd588 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryScenarioResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryScenarioResourceProvider.java
@@ -84,7 +84,7 @@ public class RegistryScenarioResourceProvider extends AbstractControllerResource
    * @param managementController the management controller
    */
   protected RegistryScenarioResourceProvider(final AmbariManagementController managementController) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+    super(Resource.Type.RegistryScenario, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
   }
 
   /**
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootClusterSettingsResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootClusterSettingsResourceProvider.java
index 1488672..78c1f9d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootClusterSettingsResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootClusterSettingsResourceProvider.java
@@ -87,7 +87,7 @@ public class RootClusterSettingsResourceProvider extends ReadOnlyResourceProvide
   }
 
   protected RootClusterSettingsResourceProvider(@Assisted AmbariManagementController managementController) {
-    super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+    super(Type.RootClusterSetting, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
   }
 
 
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
index 5f61c7d..c329bb1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
@@ -228,10 +228,10 @@ public class HostVersionOutOfSyncListener {
     for (HostComponentDesiredStateEntity hostComponent : hostComponents) {
       // Skip lookup if stack does not contain the component
       if (!ami.get().isValidServiceComponent(stackId.getStackName(),
-          stackId.getStackVersion(), hostComponent.getServiceName(), hostComponent.getComponentName())) {
+          stackId.getStackVersion(), serviceName, hostComponent.getComponentName())) {
         LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
             stackId.getStackName(), stackId.getStackVersion(),
-            hostComponent.getServiceName(), hostComponent.getComponentName());
+                serviceName, hostComponent.getComponentName());
         continue;
       }
       ComponentInfo ci = ami.get().getComponent(stackId.getStackName(), stackId.getStackVersion(),
@@ -280,9 +280,9 @@ public class HostVersionOutOfSyncListener {
 
             // Skip lookup if stack does not contain the component
             if (!ami.get().isValidServiceComponent(repositoryVersion.getStackName(),
-                repositoryVersion.getStackVersion(), serviceName, componentName)) {
+                repositoryVersion.getStackVersion(), event.getServiceName(), componentName)) {
               LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
-                  repositoryVersion.getStackName(), repositoryVersion.getStackVersion(), serviceName, componentName);
+                  repositoryVersion.getStackName(), repositoryVersion.getStackVersion(), event.getServiceName(), componentName);
               continue;
             }
             ComponentInfo component = ami.get().getComponent(repositoryVersion.getStackName(),
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index 4ab3a3d..55a7ea6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
@@ -31,7 +31,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
index 1f869f9..12bcb10 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
@@ -82,8 +82,8 @@ import org.apache.ambari.server.orm.dao.ArtifactDAO;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
 import org.apache.ambari.server.orm.dao.KerberosKeytabPrincipalDAO;
 import org.apache.ambari.server.orm.dao.KerberosPrincipalDAO;
-import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
 import org.apache.ambari.server.orm.entities.KerberosKeytabPrincipalEntity;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
 import org.apache.ambari.server.security.SecurityHelper;
 import org.apache.ambari.server.security.credential.PrincipalKeyCredential;
 import org.apache.ambari.server.security.encryption.CredentialStoreService;
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index a34bf23..c73d056 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -18,7 +18,6 @@
 
 package org.apache.ambari.server.controller.internal;
 
-import org.apache.ambari.server.security.authorization.Users;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.expect;
@@ -70,9 +69,6 @@ import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.GroupDAO;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
-import org.apache.ambari.server.registry.RegistryFactory;
-import org.apache.ambari.server.registry.RegistryManager;
-import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
 import org.apache.ambari.server.orm.dao.MemberDAO;
 import org.apache.ambari.server.orm.dao.PermissionDAO;
 import org.apache.ambari.server.orm.dao.PrincipalDAO;
@@ -89,10 +85,14 @@ import org.apache.ambari.server.orm.entities.PrivilegeEntity;
 import org.apache.ambari.server.orm.entities.ResourceEntity;
 import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
 import org.apache.ambari.server.orm.entities.UserEntity;
+import org.apache.ambari.server.registry.RegistryFactory;
+import org.apache.ambari.server.registry.RegistryManager;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
 import org.apache.ambari.server.scheduler.ExecutionScheduler;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
 import org.apache.ambari.server.security.authorization.UserAuthenticationType;
+import org.apache.ambari.server.security.authorization.Users;
 import org.apache.ambari.server.security.encryption.CredentialStoreService;
 import org.apache.ambari.server.security.encryption.CredentialStoreServiceImpl;
 import org.apache.ambari.server.stack.StackManagerFactory;
@@ -436,6 +436,8 @@ public class UserResourceProviderTest extends EasyMockSupport {
         bind(GroupDAO.class).toInstance(createMock(GroupDAO.class));
         bind(MemberDAO.class).toInstance(createMock(MemberDAO.class));
         bind(PrincipalDAO.class).toInstance(createMock(PrincipalDAO.class));
+        bind(PrincipalDAO.class).toInstance(createMock(PrincipalDAO.class));
+        bind(PrincipalDAO.class).toInstance(createMock(PrincipalDAO.class));
         bind(PermissionDAO.class).toInstance(createMock(PermissionDAO.class));
         bind(PrivilegeDAO.class).toInstance(createMock(PrivilegeDAO.class));
         bind(ResourceDAO.class).toInstance(createMock(ResourceDAO.class));
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
index 5109d8d..670dd65 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java
@@ -36,7 +36,6 @@ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.REQUEST_DISPLAY
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.REQUEST_TABLE;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.SECURITY_STATE_COLUMN;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.SERVICE_DESIRED_STATE_TABLE;
-import static org.easymock.EasyMock.anyLong;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_DISPLAY_STATUS_COLUMN;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_STATUS_COLUMN;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.STAGE_TABLE;
@@ -60,6 +59,7 @@ import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICA
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_AUTHENTICATION_ID_COLUMN;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_AUTHENTICATION_USERS_FOREIGN_KEY;
 import static org.apache.ambari.server.upgrade.UpgradeCatalog300.USER_AUTHENTICATION_USER_ID_COLUMN;
+import static org.easymock.EasyMock.anyLong;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.anyString;
 import static org.easymock.EasyMock.capture;

-- 
To stop receiving notification emails like this one, please contact
mradhakrishnan@apache.org.