Merge branch 'trunk' into branch-3.0-perf

Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/366f6ca9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/366f6ca9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/366f6ca9

Branch: refs/heads/branch-3.0-perf
Commit: 366f6ca9bd8eec1dd03a735a67158956c2426a31
Parents: eaf1fd5 c3150a4
Author: Andrew Onishuk <aonis...@hortonworks.com>
Authored: Thu Dec 7 16:02:06 2017 +0200
Committer: Andrew Onishuk <aonis...@hortonworks.com>
Committed: Thu Dec 7 16:02:06 2017 +0200

----------------------------------------------------------------------
 .gitignore                                      |     3 +
 ambari-admin/pom.xml                            |     2 +-
 .../app/assets/fonts/Roboto-Regular-webfont.eot |   Bin 0 -> 79547 bytes
 .../app/assets/fonts/Roboto-Regular-webfont.svg |  7606 ++++++
 .../app/assets/fonts/Roboto-Regular-webfont.ttf |   Bin 0 -> 234464 bytes
 .../assets/fonts/Roboto-Regular-webfont.woff    |   Bin 0 -> 105700 bytes
 .../main/resources/ui/admin-web/app/index.html  |    97 +-
 .../resources/ui/admin-web/app/scripts/app.js   |     3 +-
 .../app/scripts/controllers/AppCtrl.js          |   177 +
 .../app/scripts/controllers/NavbarCtrl.js       |   106 -
 .../app/scripts/controllers/SideNavCtrl.js      |    68 +
 .../ambariViews/CreateViewInstanceCtrl.js       |   406 +-
 .../controllers/ambariViews/ViewsListCtrl.js    |   361 +-
 .../clusters/ClusterInformationCtrl.js          |   106 +
 .../clusters/ClustersManageAccessCtrl.js        |    97 -
 .../controllers/clusters/ExportBlueprintCtrl.js |    58 -
 .../controllers/clusters/UserAccessListCtrl.js  |   351 -
 .../controllers/groups/GroupsCreateCtrl.js      |    65 -
 .../controllers/groups/GroupsEditCtrl.js        |   180 -
 .../controllers/groups/GroupsListCtrl.js        |   106 -
 .../app/scripts/controllers/mainCtrl.js         |   183 -
 .../stackVersions/StackVersionsEditCtrl.js      |    27 +-
 .../userManagement/GroupCreateCtrl.js           |   120 +
 .../controllers/userManagement/GroupEditCtrl.js |   248 +
 .../userManagement/GroupsListCtrl.js            |   167 +
 .../userManagement/UserCreateCtrl.js            |   113 +
 .../controllers/userManagement/UserEditCtrl.js  |   364 +
 .../userManagement/UserManagementCtrl.js        |    23 +
 .../controllers/userManagement/UsersListCtrl.js |   177 +
 .../controllers/users/UsersCreateCtrl.js        |    75 -
 .../scripts/controllers/users/UsersListCtrl.js  |   122 -
 .../scripts/controllers/users/UsersShowCtrl.js  |   290 -
 .../ui/admin-web/app/scripts/i18n.config.js     |    49 +-
 .../ui/admin-web/app/scripts/routes.js          |   161 +-
 .../admin-web/app/scripts/services/Cluster.js   |    90 +-
 .../ui/admin-web/app/scripts/services/Group.js  |   144 +-
 .../app/scripts/services/GroupConstants.js      |    38 -
 .../app/scripts/services/RoleDetailsModal.js    |     5 +-
 .../ui/admin-web/app/scripts/services/Stack.js  |    17 +-
 .../ui/admin-web/app/scripts/services/User.js   |    20 +-
 .../ui/admin-web/app/scripts/services/View.js   |    40 +-
 .../app/scripts/theme/bootstrap-ambari.js       |   269 +
 .../app/styles/cluster-information.css          |    58 +
 .../resources/ui/admin-web/app/styles/main.css  |   696 +-
 .../app/styles/theme/bootstrap-ambari.css       |  1518 ++
 .../ui/admin-web/app/styles/toggle-switch.css   |    72 +
 .../ui/admin-web/app/styles/top-nav.css         |   200 +
 .../ui/admin-web/app/styles/user-management.css |    43 +
 .../resources/ui/admin-web/app/styles/views.css |   105 +
 .../admin-web/app/views/ambariViews/create.html |   204 -
 .../admin-web/app/views/ambariViews/edit.html   |    37 +-
 .../app/views/ambariViews/listTable.html        |   110 -
 .../app/views/ambariViews/listUrls.html         |   117 -
 .../app/views/ambariViews/modals/create.html    |   312 +-
 .../app/views/ambariViews/modals/edit.html      |   138 -
 .../app/views/ambariViews/viewsList.html        |   151 +
 .../app/views/authentication/main.html          |    14 +-
 .../app/views/clusters/clusterInformation.html  |    87 +
 .../app/views/clusters/exportBlueprint.html     |    40 -
 .../app/views/clusters/manageAccess.html        |    63 -
 .../app/views/clusters/userAccessList.html      |   102 -
 .../ui/admin-web/app/views/groups/create.html   |    43 -
 .../ui/admin-web/app/views/groups/edit.html     |    98 -
 .../ui/admin-web/app/views/groups/list.html     |    79 -
 .../ui/admin-web/app/views/leftNavbar.html      |   126 -
 .../views/loginActivities/homeDirectory.html    |     6 +-
 .../app/views/loginActivities/loginMessage.html |     6 +-
 .../resources/ui/admin-web/app/views/main.html  |    96 -
 .../app/views/modals/AddVersionModal.html       |    14 +-
 .../app/views/remoteClusters/list.html          |    11 +-
 .../ui/admin-web/app/views/sideNav.html         |    99 +
 .../admin-web/app/views/stackVersions/list.html |    22 +-
 .../views/stackVersions/stackVersionPage.html   |    55 +-
 .../ui/admin-web/app/views/urls/create.html     |     6 +-
 .../ui/admin-web/app/views/urls/edit.html       |     6 +-
 .../app/views/userManagement/groupEdit.html     |   122 +
 .../app/views/userManagement/groupsList.html    |    94 +
 .../app/views/userManagement/main.html          |    36 +
 .../userManagement/modals/changePassword.html   |    46 +
 .../userManagement/modals/groupCreate.html      |    87 +
 .../views/userManagement/modals/userCreate.html |   152 +
 .../app/views/userManagement/userEdit.html      |   144 +
 .../app/views/userManagement/usersList.html     |   119 +
 .../ui/admin-web/app/views/users/create.html    |    82 -
 .../ui/admin-web/app/views/users/list.html      |    96 -
 .../app/views/users/modals/changePassword.html  |    46 -
 .../ui/admin-web/app/views/users/show.html      |   122 -
 .../src/main/resources/ui/admin-web/bower.json  |     2 +-
 .../src/main/resources/ui/admin-web/gulpfile.js |    10 +-
 .../main/resources/ui/admin-web/package.json    |     6 +-
 .../test/unit/controllers/AppCtrl_test.js       |   211 +
 .../controllers/ClusterInformationCtrl_test.js  |   102 +
 .../unit/controllers/CreateViewInstanceCtrl.js  |   135 -
 .../clusters/UserAccessListCtrl_test.js         |   820 -
 .../controllers/groups/GroupsListCtrl_test.js   |   129 -
 .../test/unit/controllers/mainCtrl_test.js      |   215 -
 .../userManagement/GroupsListCtrl_test.js       |   129 +
 .../userManagement/UsersListCtrl_test.js        |   344 +
 .../controllers/users/UsersListCtrl_test.js     |   383 -
 .../test/unit/services/Utility_test.js          |    11 +-
 .../src/main/python/ambari_agent/ActionQueue.py |     5 +-
 .../src/main/python/ambari_agent/AmbariAgent.py |     3 -
 .../src/main/python/ambari_agent/Hardware.py    |   130 +-
 .../src/main/python/ambari_agent/Heartbeat.py   |     8 +-
 .../src/main/python/ambari_agent/HostInfo.py    |    85 +-
 .../python/ambari_agent/alerts/base_alert.py    |     2 +-
 .../test/python/ambari_agent/TestAmbariAgent.py |     4 +-
 .../test/python/ambari_agent/TestHardware.py    |    56 +-
 .../python/ambari_agent/TestRegistration.py     |     5 +-
 .../core/providers/package/__init__.py          |     2 +-
 .../core/providers/package/apt.py               |    23 +-
 .../core/providers/package/yumrpm.py            |    85 +-
 .../core/providers/package/zypper.py            |    37 +-
 .../libraries/functions/__init__.py             |     2 +-
 .../libraries/functions/component_version.py    |     9 +-
 .../libraries/functions/conf_select.py          |    58 +
 .../libraries/functions/copy_tarball.py         |   201 +-
 .../libraries/functions/curl_krb_request.py     |    22 +-
 .../libraries/functions/get_lzo_packages.py     |    50 -
 .../libraries/functions/lzo_utils.py            |    93 +
 .../libraries/functions/package_conditions.py   |    14 +-
 .../libraries/functions/repository_util.py      |    79 +-
 .../libraries/functions/stack_select.py         |     3 +-
 .../libraries/functions/tar_archive.py          |     6 +-
 .../libraries/script/script.py                  |     3 +-
 ambari-funtest/pom.xml                          |    67 -
 ambari-infra/ambari-infra-manager/pom.xml       |    11 +
 .../infra/job/archive/CompositeFileAction.java  |    46 +
 .../ambari/infra/job/archive/Document.java      |    54 +
 .../infra/job/archive/DocumentDestination.java  |    23 +
 .../archive/DocumentExportConfiguration.java    |   118 +
 .../job/archive/DocumentExportJobListener.java  |    35 +
 .../job/archive/DocumentExportProperties.java   |   112 +
 .../job/archive/DocumentExportStepListener.java |    47 +
 .../infra/job/archive/DocumentExporter.java     |    99 +
 .../infra/job/archive/DocumentItemReader.java   |   135 +
 .../infra/job/archive/DocumentItemWriter.java   |    25 +
 .../infra/job/archive/DocumentIterator.java     |    25 +
 .../infra/job/archive/DocumentSource.java       |    24 +
 .../ambari/infra/job/archive/FileAction.java    |    25 +
 .../job/archive/LocalDocumentItemWriter.java    |    72 +
 .../ambari/infra/job/archive/S3Properties.java  |    64 +
 .../ambari/infra/job/archive/S3Uploader.java    |    51 +
 .../infra/job/archive/SolrDocumentIterator.java |    90 +
 .../infra/job/archive/SolrDocumentSource.java   |    68 +
 .../infra/job/archive/SolrQueryBuilder.java     |   115 +
 .../infra/job/archive/SolrQueryProperties.java  |    69 +
 .../infra/job/archive/TarGzCompressor.java      |    50 +
 .../apache/ambari/infra/manager/JobManager.java |    21 +-
 .../src/main/resources/infra-manager.properties |    12 +
 .../src/main/resources/log4j2.xml               |     2 +-
 .../infra/job/archive/DocumentExporterTest.java |   147 +
 .../job/archive/DocumentItemReaderTest.java     |   197 +
 .../archive/LocalDocumentItemWriterTest.java    |    98 +
 .../infra/job/archive/SolrQueryBuilderTest.java |   113 +
 .../solr/AmbariSolrCloudClientBuilder.java      |     4 +-
 .../solr/commands/CreateCollectionCommand.java  |    12 +-
 .../infra/solr/commands/CreateShardCommand.java |     5 +-
 .../infra/solr/commands/GetShardsCommand.java   |     2 +-
 ambari-infra/pom.xml                            |     2 +-
 ambari-logsearch/README.md                      |    27 +-
 .../ambari-logsearch-logfeeder/README.md        |    17 +-
 .../ambari-logsearch-logfeeder/pom.xml          |     6 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java |     4 +-
 .../ambari/logfeeder/input/InputFile.java       |     4 +-
 .../logfeeder/metrics/LogFeederAMSClient.java   |     3 +
 .../logfeeder/metrics/MetricsManager.java       |     8 +-
 .../src/main/resources/log-samples/.gitignore   |     4 +
 .../log-samples/logs/service_sample.txt         |     3 +
 .../log-samples/shipper-conf/global.config.json |    10 +
 .../shipper-conf/input.config-sample.json       |    31 +
 .../shipper-conf/output.config-sample.json      |    34 +
 .../src/main/resources/log4j.xml                |     4 +-
 .../src/main/resources/logfeeder.properties     |    31 +-
 .../logfeeder/metrics/MetricsManagerTest.java   |    10 +-
 .../ambari-logsearch-server/.gitignore          |     1 +
 .../ambari-logsearch-server/README.md           |    44 +-
 .../ambari-logsearch-server/pom.xml             |     2 +-
 ambari-logsearch/ambari-logsearch-server/run.sh |     2 +-
 .../configsets/hadoop_logs/conf/managed-schema  |     2 +
 .../ambari/logsearch/conf/AuthPropsConfig.java  |    18 +
 .../ambari/logsearch/conf/SecurityConfig.java   |     6 +-
 .../ambari/logsearch/solr/SolrConstants.java    |     1 +
 .../solr/model/SolrServiceLogData.java          |    17 +
 .../LogsearchAuthenticationEntryPoint.java      |    15 +-
 .../src/main/resources/logsearch.properties     |    54 +-
 .../ambari-logsearch-web/src/app/app.module.ts  |    22 +-
 .../components/logs-table-component.spec.ts     |    61 +
 .../classes/components/logs-table-component.ts  |    51 +
 .../src/app/classes/filtering.ts                |    70 +
 .../src/app/classes/models/app-state.ts         |    15 +-
 .../src/app/classes/models/audit-log.ts         |     2 +-
 .../src/app/classes/models/node-item.ts         |    30 +
 .../src/app/classes/models/node.ts              |    30 -
 .../src/app/classes/models/store.ts             |    18 +-
 .../src/app/classes/models/tab.ts               |    49 +
 .../classes/queries/audit-logs-query-params.ts  |     3 +-
 .../service-logs-truncated-query-params.ts      |     3 +-
 .../src/app/classes/string.ts                   |    25 +
 .../action-menu/action-menu.component.html      |    20 +
 .../action-menu/action-menu.component.less      |    27 +
 .../action-menu/action-menu.component.spec.ts   |    47 +
 .../action-menu/action-menu.component.ts        |   105 +
 .../src/app/components/app.component.html       |     4 +-
 .../src/app/components/app.component.less       |     5 +-
 .../src/app/components/app.component.spec.ts    |     4 +-
 .../src/app/components/app.component.ts         |     6 +-
 .../audit-logs-table.component.html             |    54 +
 .../audit-logs-table.component.less             |    21 +
 .../audit-logs-table.component.spec.ts          |   157 +
 .../audit-logs-table.component.ts               |    55 +
 .../collapsible-panel.component.spec.ts         |    14 +-
 .../date-picker/date-picker.component.spec.ts   |     2 +
 .../date-picker/date-picker.component.ts        |    35 +-
 .../dropdown-button.component.html              |     4 +-
 .../dropdown-button.component.spec.ts           |    24 +-
 .../dropdown-button.component.ts                |    55 +-
 .../dropdown-list/dropdown-list.component.html  |     2 +-
 .../dropdown-list.component.spec.ts             |    15 +-
 .../filter-button.component.spec.ts             |    24 +-
 .../filter-button/filter-button.component.ts    |    35 +-
 .../filter-dropdown.component.spec.ts           |    32 +-
 .../filter-dropdown.component.ts                |    22 +-
 .../filters-panel/filters-panel.component.html  |    31 +-
 .../filters-panel.component.spec.ts             |    12 +-
 .../filters-panel/filters-panel.component.ts    |   109 +-
 .../log-context/log-context.component.spec.ts   |     9 +-
 .../log-level/log-level.component.html          |    18 +
 .../log-level/log-level.component.spec.ts       |    73 +
 .../components/log-level/log-level.component.ts |    52 +
 .../log-message/log-message.component.html      |    24 +
 .../log-message/log-message.component.less      |    69 +
 .../log-message/log-message.component.spec.ts   |    64 +
 .../log-message/log-message.component.ts        |   129 +
 .../login-form/login-form.component.spec.ts     |     7 +-
 .../login-form/login-form.component.ts          |    34 +-
 .../logs-container.component.html               |    56 +-
 .../logs-container.component.less               |    10 +-
 .../logs-container.component.spec.ts            |    13 +-
 .../logs-container/logs-container.component.ts  |   113 +-
 .../logs-list/logs-list.component.html          |    65 -
 .../logs-list/logs-list.component.less          |   109 -
 .../logs-list/logs-list.component.spec.ts       |    95 -
 .../components/logs-list/logs-list.component.ts |   150 -
 .../main-container.component.html               |    10 +-
 .../main-container.component.less               |     4 -
 .../main-container.component.spec.ts            |    15 +-
 .../main-container/main-container.component.ts  |    51 +-
 .../menu-button/menu-button.component.html      |    17 +-
 .../menu-button/menu-button.component.less      |    22 +-
 .../menu-button/menu-button.component.spec.ts   |    24 +-
 .../menu-button/menu-button.component.ts        |   146 +-
 .../src/app/components/mixins.less              |     7 +-
 .../pagination-controls.component.html          |    15 +-
 .../pagination-controls.component.spec.ts       |   101 +
 .../pagination-controls.component.ts            |    76 +-
 .../pagination/pagination.component.html        |     4 +-
 .../pagination/pagination.component.spec.ts     |     9 +-
 .../pagination/pagination.component.ts          |    12 +-
 .../search-box/search-box.component.html        |    24 +-
 .../search-box/search-box.component.less        |    23 +-
 .../search-box/search-box.component.ts          |   130 +-
 .../service-logs-table.component.html           |    76 +
 .../service-logs-table.component.less           |    97 +
 .../service-logs-table.component.spec.ts        |   126 +
 .../service-logs-table.component.ts             |   135 +
 .../src/app/components/tabs/tabs.component.html |    25 +
 .../src/app/components/tabs/tabs.component.less |    22 +
 .../app/components/tabs/tabs.component.spec.ts  |   125 +
 .../src/app/components/tabs/tabs.component.ts   |    48 +
 .../time-histogram.component.less               |     1 +
 .../time-range-picker.component.html            |     9 +-
 .../time-range-picker.component.spec.ts         |    42 +-
 .../time-range-picker.component.ts              |    61 +-
 .../timezone-picker.component.spec.ts           |    24 +-
 .../components/top-menu/top-menu.component.html |    10 +-
 .../components/top-menu/top-menu.component.less |     1 +
 .../components/top-menu/top-menu.component.ts   |    86 +-
 .../src/app/components/variables.less           |     7 +-
 .../ambari-logsearch-web/src/app/mock-data.ts   |     7 +-
 .../src/app/services/auth.service.spec.ts       |   133 +
 .../src/app/services/auth.service.ts            |   123 +
 .../services/component-actions.service.spec.ts  |    15 +-
 .../app/services/component-actions.service.ts   |    69 +-
 .../component-generator.service.spec.ts         |    13 +-
 .../src/app/services/filtering.service.spec.ts  |    94 -
 .../src/app/services/filtering.service.ts       |   566 -
 .../app/services/logs-container.service.spec.ts |    40 +-
 .../src/app/services/logs-container.service.ts  |   834 +-
 .../src/app/services/mock-api-data.service.ts   |    22 +
 .../app/services/storage/reducers.service.ts    |     4 +-
 .../src/app/services/storage/tabs.service.ts    |    33 +
 .../src/app/services/utils.service.spec.ts      |   285 +-
 .../src/app/services/utils.service.ts           |    67 +-
 .../src/assets/i18n/en.json                     |     7 +-
 .../ambari-logsearch-web/webpack.config.js      |    15 +-
 ambari-logsearch/docker/.gitignore              |     1 +
 ambari-logsearch/docker/Dockerfile              |    19 +-
 ambari-logsearch/docker/all.yml                 |    40 +
 ambari-logsearch/docker/bin/start.sh            |    92 +-
 ambari-logsearch/docker/docker-compose.yml      |    89 +
 ambari-logsearch/docker/logsearch-docker.sh     |    51 +-
 ambari-logsearch/docker/logsearch-logfeeder.yml |    35 +
 ambari-logsearch/docker/logsearch-server.yml    |    35 +
 ambari-logsearch/docker/solr.yml                |    34 +
 .../test-config/logfeeder/logfeeder.properties  |     2 +-
 ambari-logsearch/docker/zookeeper.yml           |    52 +
 ambari-logsearch/pom.xml                        |     3 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml  |     1 -
 .../ambari-metrics-hadoop-sink/pom.xml          |     3 +-
 .../timeline/HadoopTimelineMetricsSink.java     |     6 +-
 .../timeline/HadoopTimelineMetricsSinkTest.java |    21 +-
 ambari-project/pom.xml                          |    52 +-
 .../docs/security/kerberos/kerberos_service.md  |    22 +-
 ambari-server/pom.xml                           |    95 +-
 .../actionmanager/ExecutionCommandWrapper.java  |    47 +-
 .../ambari/server/agent/CommandRepository.java  |    85 +
 .../ambari/server/agent/ExecutionCommand.java   |    36 +-
 .../ambari/server/agent/HeartbeatMonitor.java   |     3 +-
 .../ambari/server/agent/HeartbeatProcessor.java |    70 +-
 .../agent/stomp/dto/HostRepositories.java       |     2 +-
 .../api/handlers/BaseManagementHandler.java     |     8 -
 .../server/api/handlers/CreateHandler.java      |     4 +
 .../resources/ResourceInstanceFactoryImpl.java  |     5 +
 .../RootServiceComponentResourceDefinition.java |     9 +-
 .../server/api/services/AmbariMetaInfo.java     |     4 +-
 .../ambari/server/api/services/BaseService.java |     5 +-
 .../server/api/services/LoggingService.java     |     4 +
 ...iceComponentConfigurationRequestSwagger.java |    43 +
 ...ceComponentConfigurationResponseSwagger.java |    43 +
 ...ootServiceComponentConfigurationService.java |   226 +
 .../server/api/services/RootServiceService.java |     7 +
 .../api/services/ldap/AmbariConfiguration.java  |    46 +
 .../api/services/ldap/LdapConfigOperation.java  |    43 +
 .../services/ldap/LdapConfigurationRequest.java |    49 +
 .../services/ldap/LdapConfigurationService.java |   185 +
 .../api/services/ldap/LdapRequestInfo.java      |    61 +
 .../stackadvisor/StackAdvisorRequest.java       |    31 +
 .../commands/StackAdvisorCommand.java           |    77 +-
 .../ambari/server/checks/CheckDescription.java  |     9 +
 .../checks/DatabaseConsistencyCheckHelper.java  |     2 +-
 .../apache/ambari/server/checks/LZOCheck.java   |    80 +
 .../server/configuration/Configuration.java     |    32 +
 .../controller/ActionExecutionContext.java      |     6 +-
 .../controller/AmbariActionExecutionHelper.java |    73 +-
 .../AmbariCustomCommandExecutionHelper.java     |    37 +-
 .../server/controller/AmbariHandlerList.java    |     5 +-
 .../AmbariManagementControllerImpl.java         |    99 +-
 .../ambari/server/controller/AmbariServer.java  |     6 +-
 .../server/controller/ControllerModule.java     |     3 +
 .../controller/DeleteIdentityHandler.java       |     3 +-
 .../server/controller/KerberosHelper.java       |    21 +-
 .../server/controller/KerberosHelperImpl.java   |   169 +-
 .../controller/MaintenanceStateHelper.java      |     3 +-
 .../server/controller/RepositoryResponse.java   |    23 +-
 .../controller/ResourceProviderFactory.java     |    24 +-
 .../ambari/server/controller/RootComponent.java |    27 +
 .../ambari/server/controller/RootService.java   |    36 +
 .../controller/RootServiceResponseFactory.java  |    44 +-
 .../AbstractControllerResourceProvider.java     |     2 +
 .../internal/AbstractPropertyProvider.java      |     4 +
 .../internal/AbstractProviderModule.java        |     4 +-
 .../internal/AbstractResourceProvider.java      |     2 +-
 .../internal/ActionResourceProvider.java        |     4 +
 .../AlertDefinitionResourceProvider.java        |     4 +
 .../internal/AlertGroupResourceProvider.java    |     4 +
 .../internal/AlertResourceProvider.java         |     4 +
 .../internal/AlertTargetResourceProvider.java   |     4 +
 .../internal/ArtifactResourceProvider.java      |     4 +
 .../controller/internal/BaseProvider.java       |     6 +-
 .../BlueprintConfigurationProcessor.java        |     2 +-
 .../internal/BlueprintResourceProvider.java     |     7 +-
 .../internal/ClientConfigResourceProvider.java  |     2 +
 .../internal/ClusterResourceProvider.java       |     4 +
 .../ClusterStackVersionResourceProvider.java    |    59 +-
 ...atibleRepositoryVersionResourceProvider.java |     4 +
 .../internal/ComponentResourceProvider.java     |     4 +
 .../internal/CredentialResourceProvider.java    |     4 +
 .../internal/DefaultProviderModule.java         |    24 +-
 .../internal/GroupResourceProvider.java         |     4 +
 .../internal/HostComponentResourceProvider.java |     4 +
 .../HostKerberosIdentityResourceProvider.java   |    16 +-
 .../internal/HostResourceProvider.java          |    56 +-
 .../HostStackVersionResourceProvider.java       |     7 +-
 .../controller/internal/HostStatusHelper.java   |     2 +-
 .../internal/HttpPropertyProvider.java          |     2 +-
 .../internal/JsonHttpPropertyRequest.java       |     2 +-
 .../internal/LdapSyncEventResourceProvider.java |     2 +-
 .../internal/MemberResourceProvider.java        |     4 +
 .../QuickLinkArtifactResourceProvider.java      |     4 +
 .../RecommendationResourceProvider.java         |     4 +
 .../internal/RepositoryResourceProvider.java    |     3 +
 .../internal/RequestResourceProvider.java       |     4 +
 .../RoleAuthorizationResourceProvider.java      |     4 +
 ...eComponentConfigurationResourceProvider.java |   476 +
 .../RootServiceComponentPropertyProvider.java   |     4 +-
 .../RootServiceComponentResourceProvider.java   |     4 +-
 .../internal/ServiceResourceProvider.java       |     7 +-
 .../internal/StackAdvisorResourceProvider.java  |    13 +-
 .../internal/StackArtifactResourceProvider.java |     5 +
 .../internal/StageResourceProvider.java         |     4 +
 .../internal/TaskResourceProvider.java          |     4 +
 .../internal/ThemeArtifactResourceProvider.java |     4 +
 .../internal/UpgradeItemResourceProvider.java   |     4 +
 .../internal/UpgradeResourceProvider.java       |    59 +-
 .../internal/UserResourceProvider.java          |     4 +
 .../internal/ValidationResourceProvider.java    |     4 +
 .../VersionDefinitionResourceProvider.java      |    13 +
 .../controller/jdbc/JDBCResourceProvider.java   |     2 +-
 .../controller/jmx/JMXPropertyProvider.java     |     2 +-
 .../metrics/MetricsCollectorHAClusterState.java |     2 +-
 .../metrics/MetricsCollectorHAManager.java      |     2 +-
 .../metrics/MetricsDownsamplingMethod.java      |     2 +-
 .../metrics/MetricsPropertyProvider.java        |     2 +-
 .../metrics/MetricsReportPropertyProvider.java  |     2 +-
 .../metrics/RestMetricsPropertyProvider.java    |     2 +-
 .../ThreadPoolEnabledPropertyProvider.java      |     4 +
 .../ganglia/GangliaPropertyProvider.java        |     2 +-
 .../ganglia/GangliaReportPropertyProvider.java  |     2 +-
 .../metrics/timeline/AMSPropertyProvider.java   |     3 +
 .../timeline/AMSReportPropertyProvider.java     |     3 +
 .../ambari/server/controller/spi/Resource.java  |     3 +
 .../controller/utilities/DatabaseChecker.java   |     2 +-
 .../state/DefaultServiceCalculatedState.java    |     2 +-
 .../state/FlumeServiceCalculatedState.java      |     4 +
 .../state/HBaseServiceCalculatedState.java      |     4 +
 .../state/HDFSServiceCalculatedState.java       |     4 +
 .../state/HiveServiceCalculatedState.java       |     4 +
 .../state/OozieServiceCalculatedState.java      |     4 +
 .../state/YARNServiceCalculatedState.java       |     4 +
 .../events/AmbariConfigurationChangedEvent.java |    36 +
 .../ambari/server/events/AmbariEvent.java       |    10 +-
 .../ServiceComponentUninstalledEvent.java       |    11 +-
 .../listeners/alerts/AlertReceivedListener.java |    10 +-
 .../alerts/AlertStateChangedListener.java       |     6 +-
 .../apache/ambari/server/ldap/LdapModule.java   |    82 +
 .../ldap/domain/AmbariLdapConfigKeys.java       |    83 +
 .../ldap/domain/AmbariLdapConfiguration.java    |   203 +
 .../domain/AmbariLdapConfigurationFactory.java  |    34 +
 .../AmbariLdapConfigurationProvider.java        |   113 +
 .../ldap/service/AmbariLdapException.java       |    33 +
 .../server/ldap/service/AmbariLdapFacade.java   |   140 +
 .../server/ldap/service/AttributeDetector.java  |    41 +
 .../service/LdapAttributeDetectionService.java  |    40 +
 .../ldap/service/LdapConfigurationService.java  |    60 +
 .../service/LdapConnectionConfigService.java    |    36 +
 .../ambari/server/ldap/service/LdapFacade.java  |    58 +
 .../DefaultLdapAttributeDetectionService.java   |   200 +
 .../ads/DefaultLdapConfigurationService.java    |   213 +
 .../ads/DefaultLdapConnectionConfigService.java |   113 +
 .../ads/LdapConnectionTemplateFactory.java      |   111 +
 .../ads/detectors/AttributeDetectorFactory.java |    75 +
 .../ads/detectors/ChainedAttributeDetector.java |    73 +
 .../ads/detectors/GroupMemberAttrDetector.java  |    65 +
 .../ads/detectors/GroupNameAttrDetector.java    |    70 +
 .../ads/detectors/GroupObjectClassDetector.java |    73 +
 .../OccurrenceAndWeightBasedDetector.java       |   143 +
 .../detectors/UserGroupMemberAttrDetector.java  |    64 +
 .../ads/detectors/UserNameAttrDetector.java     |    71 +
 .../ads/detectors/UserObjectClassDetector.java  |    69 +
 .../metadata/AmbariServiceAlertDefinitions.java |    20 +-
 .../dispatchers/AmbariSNMPDispatcher.java       |    10 +-
 .../ambari/server/orm/DBAccessorImpl.java       |     8 +-
 .../server/orm/dao/AlertDefinitionDAO.java      |     7 +-
 .../ambari/server/orm/dao/AlertDispatchDAO.java |     4 +-
 .../server/orm/dao/AmbariConfigurationDAO.java  |   179 +
 .../apache/ambari/server/orm/dao/DaoUtils.java  |    13 +-
 .../server/orm/dao/KerberosKeytabDAO.java       |   110 +
 .../server/orm/dao/KerberosPrincipalDAO.java    |     7 +
 .../orm/dao/KerberosPrincipalHostDAO.java       |    40 +-
 .../orm/entities/AmbariConfigurationEntity.java |   112 +
 .../entities/AmbariConfigurationEntityPK.java   |    88 +
 .../orm/entities/KerberosKeytabEntity.java      |    86 +
 .../entities/KerberosPrincipalHostEntity.java   |    57 +-
 .../entities/KerberosPrincipalHostEntityPK.java |    19 +-
 .../orm/entities/RemoteAmbariClusterEntity.java |     2 +-
 .../server/orm/entities/RepositoryEntity.java   |    53 +-
 .../orm/entities/RepositoryVersionEntity.java   |    27 +
 .../AmbariLdapAuthenticationProvider.java       |     2 +-
 .../authorization/RoleAuthorization.java        |    95 +-
 .../security/encryption/CredentialProvider.java |     2 +-
 .../serveraction/ServerActionExecutor.java      |   147 +-
 .../kerberos/ADKerberosOperationHandler.java    |    22 +-
 .../AbstractPrepareKerberosServerAction.java    |    54 +-
 .../kerberos/CleanupServerAction.java           |    14 +-
 .../server/serveraction/kerberos/Component.java |    13 +-
 .../ConfigureAmbariIdentitiesServerAction.java  |    31 +-
 .../kerberos/CreateKeytabFilesServerAction.java |    65 +-
 .../kerberos/CreatePrincipalsServerAction.java  |    53 +-
 .../kerberos/DestroyPrincipalsServerAction.java |     3 +-
 .../kerberos/IPAKerberosOperationHandler.java   |  1067 +-
 .../kerberos/KDCKerberosOperationHandler.java   |   391 +
 .../kerberos/KerberosIdentityDataFile.java      |     2 -
 .../KerberosIdentityDataFileWriter.java         |     9 +-
 .../kerberos/KerberosOperationHandler.java      |    64 +-
 .../kerberos/KerberosServerAction.java          |    48 +-
 .../kerberos/MITKerberosOperationHandler.java   |   406 +-
 .../PrepareDisableKerberosServerAction.java     |     2 +-
 .../PrepareEnableKerberosServerAction.java      |     2 +-
 .../PrepareKerberosIdentitiesServerAction.java  |     8 +-
 .../stageutils/ResolvedKerberosKeytab.java      |   257 +
 .../upgrades/CreateAndConfigureAction.java      |   164 +
 .../upgrades/FinalizeUpgradeAction.java         |    54 +-
 .../upgrades/PreconfigureKerberosAction.java    |    48 +-
 .../ambari/server/stack/MasterHostResolver.java |     2 +-
 .../apache/ambari/server/stack/RepoUtil.java    |     1 +
 .../ambari/server/stack/ServiceDirectory.java   |    29 +
 .../ambari/server/stack/ServiceModule.java      |     8 +
 .../ambari/server/stack/StackManager.java       |     5 -
 .../ambari/server/state/ConfigHelper.java       |    28 +-
 .../ambari/server/state/RepositoryInfo.java     |    23 +-
 .../apache/ambari/server/state/ServiceImpl.java |     2 +-
 .../apache/ambari/server/state/ServiceInfo.java |    16 +-
 .../ambari/server/state/UpgradeContext.java     |     2 +-
 .../server/state/alert/AlertDefinitionHash.java |     8 +-
 .../server/state/cluster/ClusterImpl.java       |     4 +-
 .../state/repository/ClusterVersionSummary.java |     3 +
 .../state/repository/ServiceVersionSummary.java |    11 +-
 .../state/repository/VersionDefinitionXml.java  |    25 +-
 .../services/AmbariServerAlertService.java      |     4 +-
 .../state/services/MetricsRetrievalService.java |     2 +-
 .../ambari/server/state/stack/OsFamily.java     |     2 +-
 .../ambari/server/state/stack/RepoTag.java      |    34 +
 .../server/state/stack/RepositoryXml.java       |    13 +
 .../ambari/server/state/stack/UpgradePack.java  |     3 +
 .../state/stack/upgrade/ClusterGrouping.java    |     2 +
 .../stack/upgrade/CreateAndConfigureTask.java   |    57 +
 .../stack/upgrade/RepositoryVersionHelper.java  |   357 +-
 .../ambari/server/state/stack/upgrade/Task.java |     6 +-
 .../svccomphost/ServiceComponentHostImpl.java   |     4 +-
 .../ambari/server/topology/AmbariContext.java   |     3 +-
 .../ambari/server/topology/Blueprint.java       |     2 +-
 .../server/topology/BlueprintFactory.java       |     3 +-
 .../ambari/server/topology/BlueprintImpl.java   |     3 +-
 .../server/topology/BlueprintValidator.java     |     3 +-
 .../server/topology/BlueprintValidatorImpl.java |    23 +-
 .../topology/ClusterConfigurationRequest.java   |     2 +-
 .../GPLLicenseNotAcceptedException.java         |    28 +
 .../server/topology/PersistedStateImpl.java     |     2 +-
 .../validators/RequiredPasswordValidator.java   |     3 +-
 .../server/upgrade/AbstractUpgradeCatalog.java  |     8 +
 .../server/upgrade/SchemaUpgradeHelper.java     |    30 +-
 .../ambari/server/upgrade/UpgradeCatalog.java   |     6 +
 .../server/upgrade/UpgradeCatalog260.java       |   201 +-
 .../server/upgrade/UpgradeCatalog261.java       |   119 +
 .../server/upgrade/UpgradeCatalog300.java       |    47 +-
 .../apache/ambari/server/utils/RetryHelper.java |     2 +-
 .../ambari/server/utils/VersionUtils.java       |    46 +-
 .../server/view/ViewDataMigrationUtility.java   |     2 +-
 .../ambari/server/view/ViewExtractor.java       |     2 +-
 .../apache/ambari/server/view/ViewRegistry.java |     2 +-
 .../server/view/ViewSubResourceProvider.java    |     4 +
 .../server/view/persistence/DataStoreImpl.java  |     2 +-
 ambari-server/src/main/python/ambari-server.py  |     2 +
 .../python/ambari_server/serverConfiguration.py |    29 +
 .../main/python/ambari_server/serverSetup.py    |     8 +-
 .../main/python/ambari_server/serverUpgrade.py  |    18 +-
 .../resources/Ambari-DDL-AzureDB-CREATE.sql     |    31 +-
 .../main/resources/Ambari-DDL-Derby-CREATE.sql  |    24 +-
 .../main/resources/Ambari-DDL-MySQL-CREATE.sql  |    22 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql |    22 +-
 .../resources/Ambari-DDL-Postgres-CREATE.sql    |    26 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql |    22 +-
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   |    23 +-
 .../src/main/resources/META-INF/persistence.xml |     2 +
 .../ATLAS/0.1.0.2.3/package/scripts/params.py   |     2 +-
 .../ATLAS/0.7.0.3.0/package/scripts/params.py   |     2 +-
 .../DRUID/0.10.1/package/scripts/druid.py       |     3 +-
 .../DRUID/0.10.1/package/scripts/params.py      |     5 +-
 .../DRUID/0.10.1/themes/theme.json              |    26 +-
 .../FALCON/0.5.0.2.1/package/scripts/falcon.py  |    11 +-
 .../HBASE/2.0.0.3.0/service_advisor.py          |    12 +-
 .../common-services/HDFS/2.1.0.2.0/metainfo.xml |    30 -
 .../HDFS/2.1.0.2.0/package/scripts/hdfs.py      |     8 +-
 .../2.1.0.2.0/package/scripts/install_params.py |     4 -
 .../2.1.0.2.0/package/scripts/params_linux.py   |     5 -
 .../common-services/HDFS/3.0.0.3.0/metainfo.xml |    30 -
 .../HDFS/3.0.0.3.0/package/scripts/hdfs.py      |     8 +-
 .../3.0.0.3.0/package/scripts/install_params.py |     4 -
 .../3.0.0.3.0/package/scripts/params_linux.py   |     4 -
 .../HIVE/0.12.0.2.0/configuration/hive-site.xml |    40 +-
 .../HIVE/0.12.0.2.0/metainfo.xml                |     5 -
 .../package/alerts/alert_hive_thrift_port.py    |     3 +-
 .../0.12.0.2.0/package/files/startMetastore.sh  |     4 +-
 .../HIVE/0.12.0.2.0/package/scripts/hive.py     |    15 +-
 .../package/scripts/hive_server_interactive.py  |    20 +-
 .../0.12.0.2.0/package/scripts/hive_service.py  |    10 +-
 .../package/scripts/hive_service_interactive.py |     5 +-
 .../0.12.0.2.0/package/scripts/params_linux.py  |     3 +-
 .../0.12.0.2.0/package/scripts/service_check.py |     6 +-
 .../package/scripts/webhcat_service.py          |    19 +-
 .../common-services/HIVE/2.1.0.3.0/metainfo.xml |    10 -
 .../2.1.0.3.0/package/files/startMetastore.sh   |     4 +-
 .../HIVE/2.1.0.3.0/package/scripts/hive.py      |     3 +
 .../2.1.0.3.0/package/scripts/hive_service.py   |     8 +-
 .../package/scripts/hive_service_interactive.py |     5 +-
 .../2.1.0.3.0/package/scripts/params_linux.py   |    10 +-
 .../2.1.0.3.0/package/scripts/service_check.py  |     6 +-
 .../package/scripts/webhcat_service.py          |    19 +-
 .../1.10.3-10/configuration/kerberos-env.xml    |    36 +-
 .../package/scripts/kerberos_common.py          |     7 +-
 .../1.10.3-30/configuration/kerberos-env.xml    |    36 +-
 .../package/scripts/kerberos_common.py          |     7 +-
 .../LOGSEARCH/0.5.0/metainfo.xml                |     6 +-
 .../1.0.0.2.3/package/scripts/service_check.py  |     3 +-
 .../OOZIE/4.0.0.2.0/package/scripts/oozie.py    |    38 +-
 .../4.0.0.2.0/package/scripts/params_linux.py   |     5 +-
 .../OOZIE/4.2.0.2.3/metainfo.xml                |     5 -
 .../OOZIE/4.2.0.3.0/metainfo.xml                |    14 +-
 .../OOZIE/4.2.0.3.0/package/scripts/oozie.py    |    15 +-
 .../4.2.0.3.0/package/scripts/params_linux.py   |     5 +-
 .../0.5.0.2.3/configuration/kms-site.xml        |    26 -
 .../1.0.0.3.0/configuration/kms-site.xml        |    26 -
 .../scripts/alerts/alert_spark_thrift_port.py   |     8 +-
 .../SPARK/1.2.1/package/scripts/setup_spark.py  |     3 +-
 .../scripts/alerts/alert_spark2_thrift_port.py  |     8 +-
 .../SPARK2/2.0.0/package/scripts/setup_spark.py |     3 +-
 .../SQOOP/1.4.4.2.0/metainfo.xml                |     5 -
 .../1.4.4.2.0/package/scripts/params_linux.py   |     4 +-
 .../SQOOP/1.4.4.3.0/metainfo.xml                |    10 -
 .../1.4.4.3.0/package/scripts/params_linux.py   |     4 +-
 .../SUPERSET/0.15.0/themes/theme.json           |    22 +-
 .../0.4.0.2.1/package/scripts/params_linux.py   |     2 +-
 .../TEZ/0.4.0.2.1/package/scripts/tez.py        |     5 +-
 .../TEZ/0.9.0.3.0/configuration/tez-site.xml    |     4 +-
 .../0.9.0.3.0/package/scripts/params_linux.py   |     2 +-
 .../TEZ/0.9.0.3.0/package/scripts/tez.py        |     4 +
 .../configuration-mapred/mapred-site.xml        |     2 +-
 .../2.1.0.2.0/package/scripts/params_linux.py   |     8 +-
 .../YARN/2.1.0.2.0/package/scripts/yarn.py      |     3 +
 .../configuration-mapred/mapred-site.xml        |     2 +-
 .../3.0.0.3.0/package/scripts/params_linux.py   |     8 +-
 .../YARN/3.0.0.3.0/package/scripts/yarn.py      |     3 +
 .../ZEPPELIN/0.7.0/package/scripts/master.py    |    11 +-
 .../ZOOKEEPER/3.4.5/metainfo.xml                |     1 +
 .../custom_actions/scripts/install_packages.py  |    17 +-
 .../custom_actions/scripts/ru_execute_tasks.py  |     5 +-
 .../BIGTOP/0.8/services/HIVE/metainfo.xml       |     4 -
 .../BIGTOP/0.8/services/OOZIE/metainfo.xml      |     4 -
 .../2.0.6.GlusterFS/services/HIVE/metainfo.xml  |     4 -
 .../2.0.6.GlusterFS/services/OOZIE/metainfo.xml |     4 -
 .../HDP/2.0.6/properties/stack_features.json    |    20 +
 .../HDP/2.0.6/properties/stack_packages.json    |   109 +-
 .../stacks/HDP/2.0.6/role_command_order.json    |     1 +
 .../stacks/HDP/2.0.6/services/stack_advisor.py  |    35 +
 .../2.1.GlusterFS/services/HIVE/metainfo.xml    |     4 -
 .../2.1.GlusterFS/services/OOZIE/metainfo.xml   |     4 -
 .../services/HIVE/configuration/hive-site.xml   |     2 +-
 .../stacks/HDP/2.1/services/HIVE/metainfo.xml   |     5 -
 .../stacks/HDP/2.2/services/HDFS/metainfo.xml   |    35 -
 .../services/HIVE/configuration/hive-site.xml   |     2 +-
 .../stacks/HDP/2.2/services/HIVE/metainfo.xml   |    10 -
 .../stacks/HDP/2.2/services/OOZIE/metainfo.xml  |     5 -
 .../stacks/HDP/2.2/services/SQOOP/metainfo.xml  |    10 -
 .../2.2/services/TEZ/configuration/tez-site.xml |     4 +-
 .../YARN/configuration-mapred/mapred-site.xml   |     2 +-
 .../2.3.GlusterFS/services/HIVE/metainfo.xml    |     9 -
 .../2.3.GlusterFS/services/SQOOP/metainfo.xml   |     9 -
 .../main/resources/stacks/HDP/2.3/metainfo.xml  |     2 +-
 .../stacks/HDP/2.3/services/HDFS/metainfo.xml   |    30 -
 .../stacks/HDP/2.3/services/HIVE/metainfo.xml   |    10 -
 .../stacks/HDP/2.3/upgrades/config-upgrade.xml  |     4 +-
 .../HDP/2.3/upgrades/nonrolling-upgrade-2.6.xml |     1 +
 .../stacks/HDP/2.3/upgrades/upgrade-2.6.xml     |     1 +
 .../stacks/HDP/2.4/upgrades/config-upgrade.xml  |     4 +-
 .../HDP/2.4/upgrades/nonrolling-upgrade-2.6.xml |     1 +
 .../stacks/HDP/2.4/upgrades/upgrade-2.6.xml     |     1 +
 .../stacks/HDP/2.5/services/HIVE/metainfo.xml   |    10 -
 .../services/YARN/configuration/yarn-site.xml   |     4 +-
 .../stacks/HDP/2.5/services/YARN/kerberos.json  |    12 +-
 .../stacks/HDP/2.5/services/stack_advisor.py    |     2 +-
 .../stacks/HDP/2.5/upgrades/config-upgrade.xml  |    27 +-
 .../HDP/2.5/upgrades/nonrolling-upgrade-2.6.xml |    24 +-
 .../stacks/HDP/2.5/upgrades/upgrade-2.6.xml     |    46 +-
 .../resources/stacks/HDP/2.6/repos/repoinfo.xml |     2 +-
 .../stacks/HDP/2.6/services/FALCON/metainfo.xml |    26 +
 .../stacks/HDP/2.6/services/OOZIE/metainfo.xml  |    37 +
 .../configuration/spark2-log4j-properties.xml   |    56 +
 .../stacks/HDP/2.6/services/YARN/kerberos.json  |    24 +-
 .../stacks/HDP/2.6/services/stack_advisor.py    |     3 +
 .../stacks/HDP/2.6/upgrades/config-upgrade.xml  |    41 +-
 .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml |    18 +-
 .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml     |     9 +
 .../HDP/3.0/properties/stack_packages.json      |   110 +-
 .../stacks/HDP/3.0/services/HDFS/metainfo.xml   |    30 -
 .../YARN/configuration-mapred/mapred-site.xml   |     2 +-
 .../services/YARN/configuration/yarn-site.xml   |     4 +-
 .../PERF/1.0/configuration/cluster-env.xml      |    26 +
 .../resources/stacks/PERF/1.0/hdp_urlinfo.json  |    12 +
 .../1.0/hooks/before-INSTALL/scripts/hook.py    |     7 +
 .../PERF/1.0/properties/stack_packages.json     |     8 +
 .../stacks/PERF/1.0/repos/repoinfo.xml          |     1 +
 .../FAKEYARN/configuration/yarn-site.xml        |     4 +-
 .../KERBEROS/configuration/kerberos-env.xml     |    36 +-
 .../src/main/resources/stacks/PERF/1.0/vdf.xml  |    73 +
 .../resources/stacks/PERF/2.0/hdp_urlinfo.json  |    12 +
 .../stacks/PERF/2.0/repos/repoinfo.xml          |     1 +
 .../src/main/resources/stacks/PERF/2.0/vdf.xml  |    74 +
 .../src/main/resources/stacks/stack_advisor.py  |     9 +
 .../src/main/resources/upgrade-pack.xsd         |     9 +-
 .../src/main/resources/version_definition.xsd   |    23 +-
 .../ExecutionCommandWrapperTest.java            |    15 +-
 .../server/agent/TestHeartbeatHandler.java      |     2 +-
 .../commands/StackAdvisorCommandTest.java       |   212 +
 .../ambari/server/checks/LZOCheckTest.java      |   152 +
 .../server/checks/UpgradeCheckOrderTest.java    |     3 +-
 .../AmbariCustomCommandExecutionHelperTest.java |     3 +-
 .../AmbariManagementControllerImplTest.java     |     5 +-
 .../AmbariManagementControllerTest.java         |   234 +-
 .../server/controller/KerberosHelperTest.java   |    12 +-
 .../RootServiceResponseFactoryTest.java         |    27 +-
 .../ClientConfigResourceProviderTest.java       |     2 +
 ...ClusterStackVersionResourceProviderTest.java |   286 +
 ...ostKerberosIdentityResourceProviderTest.java |    12 +-
 .../internal/HostResourceProviderTest.java      |     6 +-
 .../RepositoryResourceProviderTest.java         |     6 +-
 ...ponentConfigurationResourceProviderTest.java |   393 +
 ...ootServiceComponentPropertyProviderTest.java |    15 +-
 ...ootServiceComponentResourceProviderTest.java |     9 +-
 .../StackAdvisorResourceProviderTest.java       |    97 +-
 .../internal/UpgradeResourceProviderTest.java   |    20 +-
 .../ValidationResourceProviderTest.java         |     4 +-
 .../utilities/KerberosIdentityCleanerTest.java  |    10 +-
 .../HostVersionOutOfSyncListenerTest.java       |     2 +-
 .../server/ldap/LdapModuleFunctionalTest.java   |   149 +
 .../TestAmbariLdapConfigurationFactory.java     |    29 +
 .../ldap/service/AmbariLdapFacadeTest.java      |   215 +
 ...efaultLdapAttributeDetectionServiceTest.java |   188 +
 .../DefaultLdapConfigurationServiceTest.java    |   221 +
 .../detectors/GroupMemberAttrDetectorTest.java  |   107 +
 .../metadata/AgentAlertDefinitionsTest.java     |     6 +-
 .../notifications/DispatchFactoryTest.java      |     3 +-
 .../dispatchers/AmbariSNMPDispatcherTest.java   |    23 +-
 .../server/orm/InMemoryDefaultTestModule.java   |     2 +
 .../ambari/server/orm/JdbcPropertyTest.java     |     5 +-
 .../apache/ambari/server/orm/OrmTestHelper.java |     4 +-
 .../server/orm/dao/AlertDefinitionDAOTest.java  |     7 +-
 .../orm/dao/AmbariConfigurationDAOTest.java     |   298 +
 ...uthenticationProviderForDNWithSpaceTest.java |    35 +-
 .../AmbariLdapAuthenticationProviderTest.java   |     3 +-
 .../AmbariLocalUserProviderTest.java            |     3 +-
 .../authorization/LdapServerPropertiesTest.java |     5 +-
 .../ADKerberosOperationHandlerTest.java         |   261 +-
 ...AbstractPrepareKerberosServerActionTest.java |    11 +-
 ...nfigureAmbariIdentitiesServerActionTest.java |    11 +-
 .../FinalizeKerberosServerActionTest.java       |     5 +
 .../IPAKerberosOperationHandlerTest.java        |   147 +-
 .../KDCKerberosOperationHandlerTest.java        |   168 +
 .../kerberos/KerberosIdentityDataFileTest.java  |     8 +-
 .../kerberos/KerberosOperationHandlerTest.java  |   152 +-
 .../kerberos/KerberosServerActionTest.java      |   137 +-
 .../MITKerberosOperationHandlerTest.java        |   633 +-
 .../upgrades/CreateAndConfigureActionTest.java  |   357 +
 .../PreconfigureKerberosActionTest.java         |    10 +
 .../ambari/server/stack/ServiceModuleTest.java  |    30 +
 .../server/stack/StackManagerExtensionTest.java |     6 +
 .../ambari/server/state/ConfigHelperTest.java   |    47 +
 .../state/alerts/AlertReceivedListenerTest.java |    16 +-
 .../alerts/AlertStateChangedEventTest.java      |     4 +-
 .../state/repository/VersionDefinitionTest.java |    77 +-
 .../AlertNoticeDispatchServiceTest.java         |    53 +-
 .../upgrade/RepositoryVersionHelperTest.java    |     2 +-
 .../server/topology/BlueprintImplTest.java      |    87 +-
 .../topology/BlueprintValidatorImplTest.java    |    10 +-
 .../server/upgrade/UpgradeCatalog260Test.java   |   136 +-
 .../server/upgrade/UpgradeCatalog300Test.java   |   195 +-
 .../ambari/server/utils/TestVersionUtils.java   |     4 +
 .../src/test/python/TestAmbariServer.py         |    11 +-
 .../configs/install_packages_config.json        |     1 +
 .../install_packages_repository_file.json       |     1 +
 .../custom_actions/test_ru_execute_tasks.py     |     6 +-
 .../stacks/2.0.6/HIVE/test_hive_metastore.py    |     8 +-
 .../stacks/2.0.6/HIVE/test_hive_server.py       |    18 +-
 .../2.0.6/HIVE/test_hive_service_check.py       |     2 +-
 .../stacks/2.0.6/HIVE/test_webhcat_server.py    |     4 -
 .../stacks/2.0.6/common/test_stack_advisor.py   |    59 +-
 .../stacks/2.0.6/configs/repository_file.json   |     1 +
 .../stacks/2.1/FALCON/test_falcon_server.py     |    16 +-
 .../stacks/2.1/HIVE/test_hive_metastore.py      |     9 +-
 .../python/stacks/2.1/TEZ/test_tez_client.py    |     2 +-
 .../stacks/2.2/SPARK/test_job_history_server.py |    12 +-
 .../stacks/2.2/SPARK/test_spark_client.py       |    12 +-
 .../stacks/2.2/common/test_conf_select.py       |    14 +-
 .../stacks/2.2/configs/oozie-upgrade.json       |     3 +-
 .../2.3/MAHOUT/test_mahout_service_check.py     |     4 +-
 .../2.3/SPARK/test_spark_thrift_server.py       |     6 +-
 .../HIVE/running_withMOTDmsg_andTrailingMsg.txt |    46 +
 .../stacks/2.5/HIVE/test_hive_server_int.py     |    36 +-
 .../stacks/2.5/common/test_stack_advisor.py     |     2 +-
 .../2.5/configs/ranger-admin-secured.json       |     2 -
 .../stacks/2.5/configs/ranger-kms-secured.json  |     2 -
 .../stacks/2.6/common/test_stack_advisor.py     |    11 +
 .../2.6/configs/ranger-admin-secured.json       |     2 -
 .../PreconfigureActionTest_cluster_config.json  |     4 +-
 .../test_kerberos_descriptor_ranger_kms.json    |   286 +
 .../resources/version_definition_with_tags.xml  |    86 +
 ambari-web/app/assets/test/tests.js             |     3 +
 ambari-web/app/config.js                        |     1 -
 .../app/controllers/global/update_controller.js |     2 +-
 ambari-web/app/controllers/installer.js         |    58 +-
 .../main/admin/kerberos/step1_controller.js     |    52 +-
 .../main/admin/kerberos/step2_controller.js     |     2 +-
 .../main/dashboard/config_history_controller.js |    92 +-
 .../main/host/bulk_operations_controller.js     |    14 +-
 ambari-web/app/controllers/main/service/item.js |    13 +-
 .../main/service/reassign/step3_controller.js   |     3 +
 .../main/service/reassign/step4_controller.js   |    12 +-
 .../app/controllers/wizard/step8_controller.js  |    12 +-
 .../app/mappers/components_state_mapper.js      |     1 +
 .../app/mappers/repository_version_mapper.js    |     3 +-
 ambari-web/app/mappers/stack_mapper.js          |     3 +-
 ambari-web/app/messages.js                      |    31 +-
 ambari-web/app/mixins/common/serverValidator.js |    41 +-
 .../main/host/details/actions/check_host.js     |     8 +-
 .../app/mixins/wizard/addSecurityConfigs.js     |     7 +
 .../app/models/alerts/alert_definition.js       |    18 +-
 ambari-web/app/models/client_component.js       |     1 +
 ambari-web/app/models/repository.js             |    17 +
 .../app/models/stack_version/repository.js      |     3 +-
 ambari-web/app/routes/main.js                   |     1 -
 ambari-web/app/styles/application.less          |    11 +-
 ambari-web/app/styles/hosts.less                |    89 +-
 .../app/styles/theme/bootstrap-ambari.css       |    37 +-
 ambari-web/app/styles/visualsearch.less         |   100 +
 .../config_recommendation_popup.hbs             |   102 +-
 ambari-web/app/templates/main/alerts.hbs        |    19 +-
 .../alert_definition_summary.hbs                |     2 +-
 .../templates/main/dashboard/config_history.hbs |    23 +-
 ambari-web/app/templates/main/host.hbs          |    26 +-
 .../templates/main/host/combo_search_box.hbs    |     9 +-
 .../templates/main/service/services/hdfs.hbs    |   116 +-
 .../templates/main/service/services/yarn.hbs    |   184 +-
 ambari-web/app/templates/wizard/step1.hbs       |    36 +
 ambari-web/app/utils/ajax/ajax.js               |     4 +
 ambari-web/app/views.js                         |     3 +
 ambari-web/app/views/common/controls_view.js    |     9 +-
 .../config_validation_popup.js                  |     7 +-
 ambari-web/app/views/common/search_box_view.js  |   165 +
 ambari-web/app/views/common/table_view.js       |    11 +
 .../upgrade_version_column_view.js              |     1 -
 .../app/views/main/alert_definitions_view.js    |   264 -
 .../alert_definition_summary.js                 |     2 +-
 .../app/views/main/alerts/alert_search_box.js   |   195 +
 .../main/dashboard/config_history_search_box.js |   221 +
 .../views/main/dashboard/config_history_view.js |   101 -
 .../app/views/main/host/combo_search_box.js     |    36 +-
 .../app/views/main/service/services/yarn.js     |    21 +-
 ambari-web/test/controllers/installer_test.js   |    14 +-
 .../admin/kerberos/step1_controller_test.js     |    17 -
 .../admin/kerberos/step2_controller_test.js     |     2 +-
 .../test/controllers/main/service/item_test.js  |    49 +-
 .../service/reassign/step4_controller_test.js   |     9 +-
 ambari-web/test/init_test.js                    |     8 +
 .../test/mixins/common/serverValidator_test.js  |    15 +-
 .../test/views/common/controls_view_test.js     |     2 +-
 .../test/views/common/search_box_view_test.js   |   240 +
 .../views/main/alert_definitions_view_test.js   |   152 -
 .../views/main/alerts/alert_search_box_test.js  |   168 +
 .../dashboard/config_history_search_box_test.js |   207 +
 .../main/dashboard/config_history_view_test.js  |   187 -
 .../views/main/host/combo_search_box_test.js    |    66 +-
 .../views/main/service/services/yarn_test.js    |    22 -
 .../vendor/scripts/theme/bootstrap-ambari.js    |    37 +-
 .../stacks/ODPi/2.0/services/HIVE/metainfo.xml  |    10 -
 contrib/utils/perf/deploy-gce-perf-cluster.py   |     1 +
 contrib/version-builder/version_builder.py      |    13 +-
 .../resources/ui/app/components/upload-file.js  |    38 +-
 .../files/src/main/resources/ui/bower.json      |     4 +-
 .../src/main/resources/ui/hive-web/bower.json   |     4 +-
 contrib/views/storm/pom.xml                     |   103 +-
 .../src/main/resources/images/icon-bolt.png     |   Bin 2157 -> 0 bytes
 .../src/main/resources/images/icon-spout.png    |   Bin 2620 -> 0 bytes
 .../storm/src/main/resources/images/loader.gif  |   Bin 15017 -> 0 bytes
 .../views/storm/src/main/resources/index.html   |    45 -
 .../js/backbone-paginator.min.js                |  1325 --
 .../main/resources/libs/Backbone/js/Backbone.js |  1920 --
 .../libs/Bootstrap/css/bootstrap-editable.css   |   663 -
 .../libs/Bootstrap/css/bootstrap-slider.min.css |    28 -
 .../libs/Bootstrap/css/bootstrap-switch.min.css |    22 -
 .../resources/libs/Bootstrap/css/bootstrap.css  |  5959 -----
 .../fonts/glyphicons-halflings-regular.eot      |   Bin 20127 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.svg      |   288 -
 .../fonts/glyphicons-halflings-regular.ttf      |   Bin 45404 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff     |   Bin 23424 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff2    |   Bin 18028 -> 0 bytes
 .../resources/libs/Bootstrap/images/clear.png   |   Bin 509 -> 0 bytes
 .../resources/libs/Bootstrap/images/loading.gif |   Bin 1849 -> 0 bytes
 .../libs/Bootstrap/js/bootstrap-editable.min.js |     7 -
 .../libs/Bootstrap/js/bootstrap-notify.min.js   |     1 -
 .../libs/Bootstrap/js/bootstrap-slider.min.js   |    29 -
 .../libs/Bootstrap/js/bootstrap-switch.min.js   |    22 -
 .../libs/Bootstrap/js/bootstrap.min.js          |     7 -
 .../libs/Font-Awesome/css/font-awesome.min.css  |     4 -
 .../libs/Font-Awesome/fonts/FontAwesome.otf     |   Bin 109688 -> 0 bytes
 .../Font-Awesome/fonts/fontawesome-webfont.eot  |   Bin 70807 -> 0 bytes
 .../Font-Awesome/fonts/fontawesome-webfont.svg  |   655 -
 .../Font-Awesome/fonts/fontawesome-webfont.ttf  |   Bin 142072 -> 0 bytes
 .../Font-Awesome/fonts/fontawesome-webfont.woff |   Bin 83588 -> 0 bytes
 .../fonts/fontawesome-webfont.woff2             |   Bin 66624 -> 0 bytes
 .../resources/libs/Underscore/js/Underscore.js  |  1548 --
 .../resources/libs/bootbox/js/bootbox.min.js    |     6 -
 .../src/main/resources/libs/d3/js/d3-tip.min.js |     1 -
 .../src/main/resources/libs/d3/js/d3.min.js     |     5 -
 .../resources/libs/dagre-d3/dagre-d3.min.js     |    28 -
 .../libs/jQuery/js/jquery-2.2.3.min.js          |     4 -
 .../main/resources/libs/jsx/JSXTransformer.js   | 15201 ------------
 .../storm/src/main/resources/libs/jsx/jsx.js    |    75 -
 .../main/resources/libs/react/js/react-dom.js   |    42 -
 .../libs/react/js/react-with-addons.js          | 20775 -----------------
 .../resources/libs/require-js/js/require.min.js |    36 -
 .../main/resources/libs/require-text/js/text.js |   390 -
 .../scripts/collections/BaseCollection.js       |   197 -
 .../scripts/collections/VNimbusConfigList.js    |    52 -
 .../scripts/collections/VNimbusList.js          |    52 -
 .../scripts/collections/VSupervisorList.js      |    52 -
 .../scripts/collections/VTopologyConfigList.js  |    49 -
 .../scripts/collections/VTopologyList.js        |    52 -
 .../resources/scripts/components/BarChart.jsx   |   402 -
 .../scripts/components/Breadcrumbs.jsx          |    50 -
 .../main/resources/scripts/components/Modal.jsx |    60 -
 .../scripts/components/RadialChart.jsx          |   127 -
 .../resources/scripts/components/SearchLogs.jsx |    89 -
 .../main/resources/scripts/components/Table.jsx |   101 -
 .../scripts/components/TopologyGraph.jsx        |   199 -
 .../scripts/containers/ClusterSummary.jsx       |   122 -
 .../scripts/containers/NimbusConfigSummary.jsx  |   103 -
 .../scripts/containers/NimbusSummary.jsx        |   139 -
 .../scripts/containers/SupervisorSummary.jsx    |   155 -
 .../containers/TopologyConfiguration.jsx        |    93 -
 .../scripts/containers/TopologyDetailGraph.jsx  |    66 -
 .../scripts/containers/TopologyListing.jsx      |   188 -
 .../storm/src/main/resources/scripts/main.js    |    98 -
 .../main/resources/scripts/models/BaseModel.js  |    83 -
 .../main/resources/scripts/models/VCluster.js   |    42 -
 .../main/resources/scripts/models/VNimbus.js    |    42 -
 .../resources/scripts/models/VNimbusConfig.js   |    42 -
 .../resources/scripts/models/VSupervisor.js     |    42 -
 .../main/resources/scripts/models/VTopology.js  |    90 -
 .../resources/scripts/models/VTopologyConfig.js |    34 -
 .../scripts/modules/Table/PageableTable.jsx     |    47 -
 .../scripts/modules/Table/Pagination.jsx        |   161 -
 .../src/main/resources/scripts/router/Router.js |   123 -
 .../src/main/resources/scripts/utils/Globals.js |    30 -
 .../main/resources/scripts/utils/Overrides.js   |    30 -
 .../src/main/resources/scripts/utils/Utils.js   |   113 -
 .../scripts/views/ComponentDetailView.jsx       |   534 -
 .../main/resources/scripts/views/Dashboard.jsx  |    65 -
 .../src/main/resources/scripts/views/Footer.jsx |    48 -
 .../scripts/views/NimbusSummaryView.jsx         |    65 -
 .../resources/scripts/views/ProfilingView.jsx   |   214 -
 .../resources/scripts/views/RebalanceView.jsx   |   223 -
 .../scripts/views/SupervisorSummaryView.jsx     |    65 -
 .../scripts/views/TopologyDetailView.jsx        |  1039 -
 .../scripts/views/TopologyListingView.jsx       |    65 -
 .../storm/src/main/resources/styles/style.css   |   579 -
 .../views/storm/src/main/resources/ui/.babelrc  |    25 +
 .../src/main/resources/ui/.eslintignore.js      |     3 +
 .../storm/src/main/resources/ui/.eslintrc.js    |    58 +
 .../src/main/resources/ui/app/scripts/app.js    |    40 +
 .../ui/app/scripts/components/BarChart.jsx      |   429 +
 .../ui/app/scripts/components/Breadcrumbs.jsx   |    45 +
 .../app/scripts/components/CommonExpanded.jsx   |    30 +
 .../scripts/components/CommonNotification.jsx   |    69 +
 .../app/scripts/components/CommonPagination.jsx |    56 +
 .../components/CommonSwitchComponent.jsx        |    41 +
 .../scripts/components/CommonWindowPanel.jsx    |    99 +
 .../scripts/components/CustomToastContainer.jsx |    41 +
 .../ui/app/scripts/components/Editable.jsx      |   127 +
 .../ui/app/scripts/components/FSModel.jsx       |   149 +
 .../ui/app/scripts/components/FSReactToastr.jsx |    37 +
 .../ui/app/scripts/components/Footer.jsx        |    28 +
 .../scripts/components/LogLevelComponent.jsx    |   236 +
 .../ui/app/scripts/components/ProfilingView.jsx |   168 +
 .../ui/app/scripts/components/RadialChart.jsx   |   134 +
 .../scripts/components/RebalanceTopology.jsx    |   152 +
 .../ui/app/scripts/components/SearchLogs.jsx    |    84 +
 .../ui/app/scripts/components/TopologyGraph.jsx |   208 +
 .../ui/app/scripts/containers/BaseContainer.jsx |    50 +
 .../app/scripts/containers/ClusterSummary.jsx   |   125 +
 .../scripts/containers/ComponentDetailView.jsx  |   714 +
 .../ui/app/scripts/containers/Dashboard.jsx     |    52 +
 .../scripts/containers/NimbusConfigSummary.jsx  |   126 +
 .../ui/app/scripts/containers/NimbusSummary.jsx |   150 +
 .../scripts/containers/SupervisorSummary.jsx    |   165 +
 .../scripts/containers/TopologyDetailView.jsx   |   862 +
 .../app/scripts/containers/TopologyListing.jsx  |   222 +
 .../src/main/resources/ui/app/scripts/main.js   |    46 +
 .../ui/app/scripts/rest/TopologyREST.js         |   118 +
 .../resources/ui/app/scripts/routers/routes.jsx |    68 +
 .../resources/ui/app/scripts/utils/Constants.js |    45 +
 .../resources/ui/app/scripts/utils/Utils.js     |    51 +
 .../resources/ui/app/styles/css/bootstrap.css   |  6757 ++++++
 .../ui/app/styles/css/font-awesome.min.css      |     4 +
 .../main/resources/ui/app/styles/css/style.css  |   836 +
 .../resources/ui/app/styles/css/toastr.min.css  |     1 +
 .../ui/app/styles/fonts/fontawesome-webfont.eot |   Bin 0 -> 76518 bytes
 .../ui/app/styles/fonts/fontawesome-webfont.svg |   685 +
 .../ui/app/styles/fonts/fontawesome-webfont.ttf |   Bin 0 -> 152796 bytes
 .../app/styles/fonts/fontawesome-webfont.woff   |   Bin 0 -> 90412 bytes
 .../app/styles/fonts/fontawesome-webfont.woff2  |   Bin 0 -> 71896 bytes
 .../fonts/glyphicons-halflings-regular.eot      |   Bin 0 -> 20127 bytes
 .../fonts/glyphicons-halflings-regular.svg      |   288 +
 .../fonts/glyphicons-halflings-regular.ttf      |   Bin 0 -> 45404 bytes
 .../fonts/glyphicons-halflings-regular.woff     |   Bin 0 -> 23424 bytes
 .../fonts/glyphicons-halflings-regular.woff2    |   Bin 0 -> 18028 bytes
 .../resources/ui/app/styles/img/icon-bolt.png   |   Bin 0 -> 2157 bytes
 .../resources/ui/app/styles/img/icon-spout.png  |   Bin 0 -> 2620 bytes
 .../main/resources/ui/app/styles/img/loader.gif |   Bin 0 -> 15017 bytes
 .../resources/ui/config/webpack.config.base.js  |   101 +
 .../ui/config/webpack.config.development.js     |    64 +
 .../ui/config/webpack.config.production.js      |   131 +
 .../storm/src/main/resources/ui/dev-server.js   |   101 +
 .../storm/src/main/resources/ui/index.html      |    47 +
 .../storm/src/main/resources/ui/package.json    |   110 +
 .../apache/ambari/view/utils/hdfs/HdfsApi.java  |    16 +-
 .../apache/ambari/view/utils/hdfs/HdfsUtil.java |    17 +-
 .../ui/app/domain/workflow-importer.js          |     3 +-
 docs/pom.xml                                    |    22 +-
 pom.xml                                         |     7 +-
 1019 files changed, 52897 insertions(+), 69721 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-agent/src/main/python/ambari_agent/HostInfo.py
----------------------------------------------------------------------
diff --cc ambari-agent/src/main/python/ambari_agent/HostInfo.py
index e3c70d4,4a752fc..a11f188
--- a/ambari-agent/src/main/python/ambari_agent/HostInfo.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
@@@ -313,33 -314,35 +315,33 @@@ class HostInfoLinux(HostInfo)
        logger.exception('Unable to get information about JCE')
        return None
  
-   def register(self, dict, runExpensiveChecks=False, checkJavaProcs=False):
 -  def register(self, metrics, componentsMapped=True, commandsInProgress=True):
 -    """ Return various details about the host
 -    componentsMapped: indicates if any components are mapped to this host
 -    commandsInProgress: indicates if any commands are in progress
 -    """
++  def register(self, metrics, runExpensiveChecks=False, checkJavaProcs=False):
 +    """ Return various details about the host"""
  
-     dict['hostHealth'] = {}
+     metrics['hostHealth'] = {}
  
 -    java = []
 -    self.javaProcs(java)
 -    metrics['hostHealth']['activeJavaProcs'] = java
 +    if checkJavaProcs:
 +      java = []
 +      self.javaProcs(java)
-       dict['hostHealth']['activeJavaProcs'] = java
++      metrics['hostHealth']['activeJavaProcs'] = java
  
      liveSvcs = []
      self.checkLiveServices(self.DEFAULT_LIVE_SERVICES, liveSvcs)
-     dict['hostHealth']['liveServices'] = liveSvcs
+     metrics['hostHealth']['liveServices'] = liveSvcs
  
-     dict['umask'] = str(self.getUMask())
+     metrics['umask'] = str(self.getUMask())
  
-     dict['transparentHugePage'] = self.getTransparentHugePage()
-     dict['firewallRunning'] = self.checkFirewall()
-     dict['firewallName'] = self.getFirewallName()
-     dict['reverseLookup'] = self.checkReverseLookup()
-     dict['hasUnlimitedJcePolicy'] = self.checkUnlimitedJce()
+     metrics['transparentHugePage'] = self.getTransparentHugePage()
+     metrics['firewallRunning'] = self.checkFirewall()
+     metrics['firewallName'] = self.getFirewallName()
+     metrics['reverseLookup'] = self.checkReverseLookup()
+     metrics['hasUnlimitedJcePolicy'] = self.checkUnlimitedJce()
      # If commands are in progress or components are already mapped to this 
host
      # Then do not perform certain expensive host checks
 -    if componentsMapped or commandsInProgress:
 +    if not runExpensiveChecks:
-       dict['alternatives'] = []
-       dict['stackFoldersAndFiles'] = []
-       dict['existingUsers'] = []
+       metrics['alternatives'] = []
+       metrics['stackFoldersAndFiles'] = []
+       metrics['existingUsers'] = []
  
      else:
        etcs = []
@@@ -433,10 -436,12 +435,10 @@@ class HostInfoWindows(HostInfo)
      code, out, err = 
run_powershell_script(self.SERVICE_STATUS_CMD.format(serivce_name))
      return out, err, code
  
-   def register(self, dict, runExpensiveChecks=False):
 -  def register(self, metrics, componentsMapped=True, commandsInProgress=True):
++  def register(self, metrics, runExpensiveChecks=False):
      """ Return various details about the host
 -    componentsMapped: indicates if any components are mapped to this host
 -    commandsInProgress: indicates if any commands are in progress
      """
-     dict['hostHealth'] = {}
+     metrics['hostHealth'] = {}
  
      java = []
      self.javaProcs(java)
@@@ -444,18 -449,19 +446,18 @@@
  
      liveSvcs = []
      self.checkLiveServices(self.DEFAULT_LIVE_SERVICES, liveSvcs)
-     dict['hostHealth']['liveServices'] = liveSvcs
+     metrics['hostHealth']['liveServices'] = liveSvcs
  
-     dict['umask'] = str(self.getUMask())
+     metrics['umask'] = str(self.getUMask())
  
-     dict['firewallRunning'] = self.checkFirewall()
-     dict['firewallName'] = self.getFirewallName()
-     dict['reverseLookup'] = self.checkReverseLookup()
+     metrics['firewallRunning'] = self.checkFirewall()
+     metrics['firewallName'] = self.getFirewallName()
+     metrics['reverseLookup'] = self.checkReverseLookup()
 -    # If commands are in progress or components are already mapped to this 
host
 -    # Then do not perform certain expensive host checks
 -    if componentsMapped or commandsInProgress:
 +
 +    if not runExpensiveChecks:
-       dict['alternatives'] = []
-       dict['stackFoldersAndFiles'] = []
-       dict['existingUsers'] = []
+       metrics['alternatives'] = []
+       metrics['stackFoldersAndFiles'] = []
+       metrics['existingUsers'] = []
      else:
        existingUsers = []
        self.checkUsers(self.DEFAULT_USERS, existingUsers)

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-agent/src/main/python/ambari_agent/alerts/base_alert.py
----------------------------------------------------------------------
diff --cc ambari-agent/src/main/python/ambari_agent/alerts/base_alert.py
index eb658be,5c0305e..35aff82
--- a/ambari-agent/src/main/python/ambari_agent/alerts/base_alert.py
+++ b/ambari-agent/src/main/python/ambari_agent/alerts/base_alert.py
@@@ -484,8 -462,8 +484,8 @@@ class BaseAlert(object)
  
        # get the host for dfs.namenode.http-address.c1ha.nn1 and see if it's
        # this host
 -      value = self._get_configuration_value(key)
 +      value = self._get_configuration_value(configurations, key)
-       if value is not None and (self.host_name in value or 
self.public_host_name in value):
+       if value is not None and (self.host_name.lower() in value.lower() or 
self.public_host_name.lower() in value.lower()):
          return AlertUri(uri=value, is_ssl_enabled=is_ssl_enabled)
  
      return None

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-common/src/main/python/resource_management/libraries/functions/package_conditions.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-common/src/main/python/resource_management/libraries/functions/stack_select.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-common/src/main/python/resource_management/libraries/script/script.py
----------------------------------------------------------------------
diff --cc 
ambari-common/src/main/python/resource_management/libraries/script/script.py
index 97e7e50,88e5336..2c45b16
--- 
a/ambari-common/src/main/python/resource_management/libraries/script/script.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/script/script.py
@@@ -775,10 -776,9 +776,10 @@@ class Script(object)
      if self.available_packages_in_repos:
        return self.available_packages_in_repos
  
 -    pkg_provider = get_provider("Package")   
 +
 +    pkg_provider = get_provider("Package")
      try:
-       self.available_packages_in_repos = 
pkg_provider.get_available_packages_in_repos(self.get_config()['repositoryFile']['repositories'])
+       self.available_packages_in_repos = 
pkg_provider.get_available_packages_in_repos(CommandRepository(self.get_config()['repositoryFile']))
      except Exception as err:
        Logger.exception("Unable to load available packages")
        self.available_packages_in_repos = []

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-project/pom.xml
----------------------------------------------------------------------
diff --cc ambari-project/pom.xml
index d9ad50b,f6e3bc7..a141c4f
--- a/ambari-project/pom.xml
+++ b/ambari-project/pom.xml
@@@ -30,7 -30,8 +30,8 @@@
      <solr.version>5.5.2</solr.version>
      <ambari.dir>${project.parent.basedir}</ambari.dir>
      <powermock.version>1.6.3</powermock.version>
 -    <jetty.version>8.1.19.v20160209</jetty.version>
 +    <jetty.version>9.4.2.v20170220</jetty.version>
+     <ldap-api.version>1.0.0</ldap-api.version>
      <checkstyle.version>6.19</checkstyle.version> <!-- last version that does 
not require Java 8 -->
      <swagger.version>1.5.10</swagger.version>
      <swagger.maven.plugin.version>3.1.4</swagger.maven.plugin.version>

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
index 1bf67c3,191e86c..7e8e61f
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java
@@@ -20,8 -20,8 +20,7 @@@ package org.apache.ambari.server.action
  import static 
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.HOOKS_FOLDER;
  import static 
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_PACKAGE_FOLDER;
  import static 
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.VERSION;
- import static 
org.apache.ambari.server.stack.StackManager.DEFAULT_HOOKS_FOLDER;
  
 -import java.util.HashMap;
  import java.util.Map;
  import java.util.TreeMap;
  
@@@ -47,6 -52,8 +51,7 @@@ import org.apache.ambari.server.state.S
  import org.apache.ambari.server.state.UpgradeContext;
  import org.apache.ambari.server.state.UpgradeContext.UpgradeSummary;
  import org.apache.ambari.server.state.UpgradeContextFactory;
+ import org.apache.ambari.server.state.stack.upgrade.RepositoryVersionHelper;
 -import org.apache.commons.collections.MapUtils;
  import org.apache.commons.lang.StringUtils;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
index aea8ff5,449d2d5..7e0f269
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/CommandRepository.java
@@@ -47,9 -45,23 +49,24 @@@ public class CommandRepository 
    private long m_repoVersionId;
  
    @SerializedName("stackName")
 +  @JsonProperty("stackName")
    private String m_stackName;
  
+   @SerializedName("repoFileName")
+   private String m_repoFileName;
+ 
+   @SerializedName("feature")
+   private final CommandRepositoryFeature feature = new 
CommandRepositoryFeature();
+ 
+   /**
+    * Provides {@link CommandRepository} feature
+    *
+    * @return {@link CommandRepositoryFeature}
+    */
+   public CommandRepositoryFeature getFeature(){
+     return feature;
+   }
+ 
    /**
     * {@code true} if Ambari believes that this repository has reported back 
it's
     * version after distribution.

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartbeatMonitor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartbeatProcessor.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/agent/HeartbeatProcessor.java
index 466b24c,83d2c98..fa69727
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartbeatProcessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartbeatProcessor.java
@@@ -223,18 -227,18 +227,17 @@@ public class HeartbeatProcessor extend
     * {@link AlertEvent}s for each one. If there is a problem looking up the
     * cluster, then alerts will not be processed.
     *
-    * @param heartbeat
-    *          the heartbeat to process.
+    * @param heartbeat the heartbeat to process.
     */
    protected void processAlerts(HeartBeat heartbeat) {
 -    if (heartbeat == null) {
 -      return;
 +    if (heartbeat != null) {
 +      processAlerts(heartbeat.getHostname(), heartbeat.getAlerts());
      }
 +  }
  
 -    String hostname = heartbeat.getHostname();
 -
 -    if (null != heartbeat.getAlerts()) {
 -      AlertEvent event = new AlertReceivedEvent(heartbeat.getAlerts());
 -      for (Alert alert : event.getAlerts()) {
 +  public void processAlerts(String hostname, List<Alert> alerts) {
 +    if (alerts != null && !alerts.isEmpty()) {
 +      for (Alert alert : alerts) {
          if (alert.getHostName() == null) {
            alert.setHostName(hostname);
          }
@@@ -307,16 -353,16 +311,17 @@@
  
    /**
     * Process reports of tasks executed on agents
+    *
     * @param heartbeat heartbeat to process
-    * @param now cached current time
+    * @param now       cached current time
     * @throws AmbariException
     */
 -  protected void processCommandReports(
 -      HeartBeat heartbeat, long now)
 +  protected void processCommandReports(HeartBeat heartbeat, long now) throws 
AmbariException {
 +    processCommandReports(heartbeat.getReports(), heartbeat.getHostname(), 
now);
 +  }
 +
 +  protected void processCommandReports(List<CommandReport> reports, String 
hostName, Long now)
        throws AmbariException {
 -    String hostname = heartbeat.getHostname();
 -    List<CommandReport> reports = heartbeat.getReports();
  
      // Cache HostRoleCommand entities because we will need them few times
      List<Long> taskIds = new ArrayList<>();
@@@ -402,9 -463,11 +414,11 @@@
            }
          } else if (CHECK_KEYTABS.equalsIgnoreCase(customCommand)) {
            ListKeytabsStructuredOut structuredOut = 
gson.fromJson(report.getStructuredOut(), ListKeytabsStructuredOut.class);
-           for (MissingKeytab each : structuredOut.missingKeytabs){
-             LOG.info("Missing keytab: {} on host: {} principal: {}", 
each.keytabFilePath, hostName, each.principal);
-             kerberosPrincipalHostDAO.remove(each.principal, host.getHostId());
+           for (MissingKeytab each : structuredOut.missingKeytabs) {
 -            LOG.info("Missing principal: {} for keytab: {} on host: {}", 
each.principal, each.keytabFilePath, hostname);
++            LOG.info("Missing principal: {} for keytab: {} on host: {}", 
each.principal, each.keytabFilePath, hostName);
+             KerberosPrincipalHostEntity kphe = 
kerberosPrincipalHostDAO.find(each.principal, host.getHostId(), 
each.keytabFilePath);
+             kphe.setDistributed(false);
+             kerberosPrincipalHostDAO.merge(kphe);
            }
          }
        }

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HostRepositories.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HostRepositories.java
index a076c66,0000000..37d1146
mode 100644,000000..100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HostRepositories.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/agent/stomp/dto/HostRepositories.java
@@@ -1,58 -1,0 +1,58 @@@
 +/**
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * "License"); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + * <p/>
 + * http://www.apache.org/licenses/LICENSE-2.0
 + * <p/>
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +
 +package org.apache.ambari.server.agent.stomp.dto;
 +
 +import java.util.Map;
 +
 +import org.apache.ambari.server.agent.CommandRepository;
 +
 +import com.fasterxml.jackson.annotation.JsonInclude;
 +import com.fasterxml.jackson.annotation.JsonProperty;
 +
- @JsonInclude(JsonInclude.Include.NON_EMPTY)
++@JsonInclude(JsonInclude.Include.NON_NULL)
 +public class HostRepositories {
 +
 +  @JsonProperty("commandRepos")
 +  private Map<Long, CommandRepository> repositories;
 +
 +  @JsonProperty("componentRepos")
 +  private Map<String, Long> componentRepos;
 +
 +  public HostRepositories(Map<Long, CommandRepository> repositories, 
Map<String, Long> componentRepos) {
 +    this.repositories = repositories;
 +    this.componentRepos = componentRepos;
 +  }
 +
 +  public Map<Long, CommandRepository> getRepositories() {
 +    return repositories;
 +  }
 +
 +  public void setRepositories(Map<Long, CommandRepository> repositories) {
 +    this.repositories = repositories;
 +  }
 +
 +  public Map<String, Long> getComponentRepos() {
 +    return componentRepos;
 +  }
 +
 +  public void setComponentRepos(Map<String, Long> componentRepos) {
 +    this.componentRepos = componentRepos;
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
index 49679b4,b1eba8f..c69dceb
--- 
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
@@@ -45,9 -42,8 +45,9 @@@ import org.apache.ambari.annotations.Ex
  import org.apache.ambari.server.AmbariException;
  import org.apache.ambari.server.ParentObjectNotFoundException;
  import org.apache.ambari.server.StackAccessException;
 +import org.apache.ambari.server.agent.CommandRepository;
  import org.apache.ambari.server.configuration.Configuration;
- import 
org.apache.ambari.server.controller.RootServiceResponseFactory.Services;
+ import org.apache.ambari.server.controller.RootService;
  import org.apache.ambari.server.controller.utilities.PropertyHelper;
  import org.apache.ambari.server.customactions.ActionDefinition;
  import org.apache.ambari.server.customactions.ActionDefinitionManager;

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
index 7a98b7c,c4df0b1..e094fa7
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
@@@ -67,9 -68,9 +68,8 @@@ import org.apache.ambari.server.configu
  import org.apache.ambari.server.controller.internal.RequestOperationLevel;
  import org.apache.ambari.server.controller.internal.RequestResourceFilter;
  import org.apache.ambari.server.controller.spi.Resource;
 -import org.apache.ambari.server.controller.spi.SystemException;
  import org.apache.ambari.server.metadata.ActionMetadata;
  import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
- import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
  import org.apache.ambari.server.state.Cluster;
  import org.apache.ambari.server.state.Clusters;
  import org.apache.ambari.server.state.CommandScriptDefinition;

http://git-wip-us.apache.org/repos/asf/ambari/blob/366f6ca9/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java
----------------------------------------------------------------------

Reply via email to