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/66a5083c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/66a5083c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/66a5083c

Branch: refs/heads/branch-3.0-perf
Commit: 66a5083c5e9434586ef53af647081670596d982c
Parents: f51351e dc31e51
Author: Andrew Onishuk <aonis...@hortonworks.com>
Authored: Thu Dec 14 16:59:02 2017 +0200
Committer: Andrew Onishuk <aonis...@hortonworks.com>
Committed: Thu Dec 14 16:59:02 2017 +0200

----------------------------------------------------------------------
 .../resources/ui/admin-web/app/scripts/app.js   |   2 +-
 .../stackVersions/StackVersionsCreateCtrl.js    |  28 +-
 .../stackVersions/StackVersionsEditCtrl.js      |   2 +-
 .../admin-web/app/views/ambariViews/edit.html   |   8 +-
 .../app/views/ambariViews/viewsList.html        |   2 +-
 .../app/views/directives/editableList.html      |   2 +-
 .../app/views/modals/AddRepositoryModal.html    |   2 +-
 .../app/views/modals/RoleDetailsModal.html      |   2 +-
 .../app/views/remoteClusters/list.html          |   2 +-
 .../admin-web/app/views/stackVersions/list.html |   4 +-
 .../views/stackVersions/stackVersionPage.html   |   4 +-
 .../app/views/userManagement/groupEdit.html     |  14 +-
 .../app/views/userManagement/groupsList.html    |   6 +-
 .../userManagement/modals/changePassword.html   |   2 +-
 .../userManagement/modals/groupCreate.html      |   2 +-
 .../views/userManagement/modals/userCreate.html |   3 +-
 .../app/views/userManagement/userEdit.html      |  18 +-
 .../app/views/userManagement/usersList.html     |   4 +-
 .../src/main/resources/ui/admin-web/bower.json  |  11 +-
 .../main/resources/ui/admin-web/package.json    |   2 +-
 .../core/providers/package/__init__.py          |  15 +
 .../core/providers/package/yumrpm.py            | 121 ++-
 .../libraries/functions/constants.py            |  12 +-
 .../libraries/functions/lzo_utils.py            |   6 +-
 .../functions/setup_ranger_plugin_xml.py        |  14 +-
 .../libraries/providers/hdfs_resource.py        |   2 +
 .../config/api/LogSearchConfigFactory.java      |  49 +-
 .../config/api/LogSearchConfigLogFeeder.java    |   3 +-
 .../ambari-logsearch-logfeeder/.gitignore       |   1 +
 .../ambari-logsearch-logfeeder/pom.xml          |  62 +-
 .../org/apache/ambari/logfeeder/LogFeeder.java  | 167 +---
 .../ambari/logfeeder/LogFeederCommandLine.java  |  28 +-
 .../ambari/logfeeder/common/ConfigHandler.java  |  47 +-
 .../ambari/logfeeder/common/ConfigItem.java     |   8 +-
 .../logfeeder/common/LogEntryParseTester.java   |   3 +-
 .../logfeeder/common/LogFeederConstants.java    |  50 ++
 .../logfeeder/conf/ApplicationConfig.java       | 107 +++
 .../logfeeder/conf/InputSimulateConfig.java     | 154 ++++
 .../logfeeder/conf/LogEntryCacheConfig.java     | 118 +++
 .../ambari/logfeeder/conf/LogFeederProps.java   | 226 ++++++
 .../logfeeder/conf/LogFeederSecurityConfig.java | 189 +++++
 .../logfeeder/conf/MetricsCollectorConfig.java  | 113 +++
 .../apache/ambari/logfeeder/filter/Filter.java  |   7 +-
 .../ambari/logfeeder/filter/FilterGrok.java     |   7 +-
 .../ambari/logfeeder/filter/FilterKeyValue.java |   5 +-
 .../logfeeder/input/AbstractInputFile.java      |  11 +-
 .../apache/ambari/logfeeder/input/Input.java    |  25 +-
 .../logfeeder/input/InputConfigUploader.java    |  82 +-
 .../ambari/logfeeder/input/InputManager.java    |  28 +-
 .../ambari/logfeeder/input/InputSimulate.java   |  44 +-
 .../logfeeder/loglevelfilter/FilterLogData.java |  73 --
 .../loglevelfilter/LogLevelFilterHandler.java   |  89 ++-
 .../logfeeder/metrics/LogFeederAMSClient.java   |  22 +-
 .../logfeeder/metrics/MetricsManager.java       |  16 +-
 .../ambari/logfeeder/metrics/StatsLogger.java   |  83 ++
 .../ambari/logfeeder/output/OutputFile.java     |   5 +-
 .../ambari/logfeeder/output/OutputHDFSFile.java |   8 +-
 .../ambari/logfeeder/output/OutputKafka.java    |   5 +-
 .../ambari/logfeeder/output/OutputManager.java  |  36 +-
 .../ambari/logfeeder/output/OutputS3File.java   |   8 +-
 .../ambari/logfeeder/output/OutputSolr.java     |  10 +-
 .../logfeeder/util/LogFeederPropertiesUtil.java | 498 ------------
 .../apache/ambari/logfeeder/util/SSLUtil.java   | 134 ----
 .../shipper-conf/input.config-sample.json       |   2 +-
 .../src/main/resources/log4j.xml                |  15 +-
 .../src/main/resources/logfeeder.properties     |  18 +-
 .../ambari/logfeeder/filter/FilterGrokTest.java |   3 +-
 .../ambari/logfeeder/filter/FilterJSONTest.java |   3 +-
 .../logfeeder/filter/FilterKeyValueTest.java    |   3 +-
 .../ambari/logfeeder/input/InputFileTest.java   |  11 +-
 .../logfeeder/input/InputManagerTest.java       |  12 +-
 .../logconfig/LogConfigHandlerTest.java         | 148 ----
 .../logfeeder/metrics/MetricsManagerTest.java   |   7 -
 .../logfeeder/output/OutputKafkaTest.java       |   7 +-
 .../logfeeder/output/OutputManagerTest.java     |  32 +-
 .../logfeeder/output/OutputS3FileTest.java      |   9 +-
 .../ambari/logfeeder/output/OutputSolrTest.java |  10 +-
 ...xternalServerAuthenticationProviderTest.java |   1 -
 .../ambari-logsearch-web/package.json           |   3 +-
 .../ambari-logsearch-web/src/app/app.module.ts  |   8 +-
 .../src/app/classes/filtering.ts                |   2 +-
 .../src/app/classes/histogram-options.ts        |   3 +-
 .../action-menu/action-menu.component.less      |   3 -
 .../action-menu/action-menu.component.ts        |   4 -
 .../audit-logs-table.component.html             |   8 +-
 .../dropdown-button.component.html              |   4 +-
 .../dropdown-button.component.less              |  17 +-
 .../dropdown-button.component.ts                |   3 +
 .../dropdown-list/dropdown-list.component.less  |  24 +-
 .../filters-panel/filters-panel.component.html  |  17 +-
 .../filters-panel/filters-panel.component.less  |  11 +-
 .../filters-panel/filters-panel.component.ts    |  40 +-
 .../logs-container.component.html               |   2 +-
 .../logs-container.component.less               |   5 +-
 .../menu-button/menu-button.component.less      |  13 +-
 .../src/app/components/mixins.less              |  52 +-
 .../pagination/pagination.component.html        |   4 +-
 .../search-box/search-box.component.html        |  28 +-
 .../search-box/search-box.component.less        |  36 +-
 .../search-box/search-box.component.spec.ts     |  79 ++
 .../search-box/search-box.component.ts          | 242 +++---
 .../service-logs-table.component.html           |   7 +-
 .../service-logs-table.component.less           |   1 -
 .../time-histogram.component.html               |  29 +
 .../time-histogram.component.less               | 162 +++-
 .../time-histogram.component.spec.ts            | 138 +++-
 .../time-histogram/time-histogram.component.ts  | 377 +++++++--
 .../components/top-menu/top-menu.component.html |   7 +-
 .../components/top-menu/top-menu.component.less |   4 +
 .../top-menu/top-menu.component.spec.ts         |  64 +-
 .../components/top-menu/top-menu.component.ts   |  25 +-
 .../src/app/components/variables.less           |   3 +-
 .../app/services/component-actions.service.ts   |   9 +-
 .../src/app/services/logs-container.service.ts  |  37 +-
 .../src/assets/i18n/en.json                     |  15 +-
 .../ambari-logsearch-web/webpack.config.js      |  20 +-
 ambari-logsearch/ambari-logsearch-web/yarn.lock |   6 +-
 ambari-logsearch/docker/all.yml                 |   2 +-
 .../ambari-metrics-hadoop-sink/pom.xml          |   4 +-
 .../ambari/server/agent/ExecutionCommand.java   |  37 +-
 .../server/api/handlers/CreateHandler.java      |   8 +-
 .../server/api/handlers/UpdateHandler.java      |   8 +-
 .../resources/ResourceInstanceFactoryImpl.java  |   4 +-
 ...ootServiceComponentConfigurationService.java |  15 +
 .../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 --
 .../services/serializers/JsonSerializer.java    |  38 +-
 .../commands/StackAdvisorCommand.java           |  14 +-
 .../RequiredServicesInRepositoryCheck.java      |  18 +-
 .../AmbariManagementControllerImpl.java         |  77 +-
 .../ambari/server/controller/AmbariServer.java  |   3 +
 .../server/controller/RepositoryRequest.java    |  22 +-
 .../controller/ResourceProviderFactory.java     |  17 +-
 .../controller/SessionHandlerConfigurer.java    |   5 +
 .../AbstractAuthorizedResourceProvider.java     |  12 +-
 .../AbstractControllerResourceProvider.java     |  83 +-
 .../internal/AbstractDRResourceProvider.java    |   9 +-
 .../internal/ActionResourceProvider.java        |  34 +-
 .../ActiveWidgetLayoutResourceProvider.java     |   2 +-
 .../AlertDefinitionResourceProvider.java        |   2 +-
 .../internal/AlertGroupResourceProvider.java    |   2 +-
 .../internal/AlertHistoryResourceProvider.java  |   2 +-
 .../internal/AlertNoticeResourceProvider.java   |   2 +-
 .../internal/AlertResourceProvider.java         |   2 +-
 .../internal/AlertTargetResourceProvider.java   |   2 +-
 .../AmbariPrivilegeResourceProvider.java        |  36 +-
 .../AmbariServerConfigurationCategory.java      |  69 ++
 .../AmbariServerConfigurationHandler.java       | 110 +++
 .../AmbariServerLDAPConfigurationHandler.java   | 172 +++++
 .../internal/BlueprintResourceProvider.java     |  37 +-
 .../internal/ClientConfigResourceProvider.java  |  33 +-
 ...usterKerberosDescriptorResourceProvider.java |   2 +-
 .../ClusterPrivilegeResourceProvider.java       |  31 +-
 .../internal/ClusterResourceProvider.java       |  23 +-
 .../ClusterStackVersionResourceProvider.java    |  16 +-
 .../internal/ConfigGroupResourceProvider.java   |  39 +-
 .../internal/ConfigurationResourceProvider.java |   2 +-
 .../internal/CredentialResourceProvider.java    |   2 +-
 .../internal/DefaultProviderModule.java         |  17 +-
 .../internal/ExtensionLinkResourceProvider.java |  33 +-
 .../internal/ExtensionResourceProvider.java     |  27 +-
 .../ExtensionVersionResourceProvider.java       |  32 +-
 .../internal/FeedResourceProvider.java          |  41 +-
 .../GroupPrivilegeResourceProvider.java         |  42 +-
 .../internal/GroupResourceProvider.java         |  32 +-
 .../HostComponentProcessResourceProvider.java   |  38 +-
 .../internal/HostComponentResourceProvider.java |  49 +-
 .../HostKerberosIdentityResourceProvider.java   |   2 +-
 .../internal/HostResourceProvider.java          |  53 +-
 .../HostStackVersionResourceProvider.java       |   2 +-
 .../internal/InstanceResourceProvider.java      |  35 +-
 .../internal/JobResourceProvider.java           |  57 +-
 .../KerberosDescriptorResourceProvider.java     |  20 +-
 .../internal/LdapSyncEventResourceProvider.java |  47 +-
 .../internal/LoggingResourceProvider.java       |   9 +-
 .../internal/MemberResourceProvider.java        |  29 +-
 .../OperatingSystemResourceProvider.java        |   2 +-
 .../internal/OperationStatusMetaData.java       |  90 +++
 .../internal/PermissionResourceProvider.java    |  25 +-
 .../internal/PrivilegeResourceProvider.java     |   2 +-
 .../QuickLinkArtifactResourceProvider.java      |   2 +-
 .../internal/ReadOnlyResourceProvider.java      |   7 -
 .../RecommendationResourceProvider.java         |  65 +-
 .../internal/RemoteClusterResourceProvider.java |  28 +-
 .../internal/RepositoryResourceProvider.java    |   3 +-
 .../internal/RequestResourceProvider.java       |  25 +-
 .../RequestScheduleResourceProvider.java        |  55 +-
 .../RoleAuthorizationResourceProvider.java      |   2 +-
 ...ootServiceComponentConfigurationHandler.java | 114 +++
 ...iceComponentConfigurationHandlerFactory.java |  54 ++
 ...eComponentConfigurationResourceProvider.java | 245 +++---
 .../RootServiceComponentResourceProvider.java   |  31 +-
 ...ootServiceHostComponentResourceProvider.java |  34 +-
 .../internal/RootServiceResourceProvider.java   |  26 +-
 .../internal/ScaleClusterRequest.java           |  17 +-
 .../ServiceConfigVersionResourceProvider.java   |   2 +-
 .../internal/SettingResourceProvider.java       |   2 +-
 .../internal/StackAdvisorResourceProvider.java  |   7 +-
 .../internal/StackArtifactResourceProvider.java |   2 +-
 ...ConfigurationDependencyResourceProvider.java |  40 +-
 .../StackConfigurationResourceProvider.java     |  42 +-
 .../StackDependencyResourceProvider.java        |  41 +-
 ...StackLevelConfigurationResourceProvider.java |  40 +-
 .../internal/StackResourceProvider.java         |  28 +-
 .../StackServiceComponentResourceProvider.java  |  52 +-
 .../internal/StackServiceResourceProvider.java  |  45 +-
 .../internal/StackVersionResourceProvider.java  |  39 +-
 .../internal/StageResourceProvider.java         |   2 +-
 .../internal/TargetClusterResourceProvider.java |  31 +-
 .../internal/TaskAttemptResourceProvider.java   |  53 +-
 .../internal/TaskResourceProvider.java          |  27 +-
 .../internal/ThemeArtifactResourceProvider.java |   2 +-
 .../internal/UpgradeGroupResourceProvider.java  |   2 +-
 .../internal/UpgradeItemResourceProvider.java   |   2 +-
 .../internal/UpgradeResourceProvider.java       |   2 +-
 .../UpgradeSummaryResourceProvider.java         |   2 +-
 .../UserAuthorizationResourceProvider.java      |   2 +-
 .../internal/UserPrivilegeResourceProvider.java |  40 +-
 .../internal/UserResourceProvider.java          |  33 +-
 .../internal/ValidationResourceProvider.java    |  86 ++-
 .../VersionDefinitionResourceProvider.java      |   2 +-
 .../internal/ViewInstanceResourceProvider.java  |  55 +-
 .../ViewPermissionResourceProvider.java         |  29 +-
 .../internal/ViewPrivilegeResourceProvider.java |  36 +-
 .../internal/ViewResourceProvider.java          |  19 +-
 .../internal/ViewURLResourceProvider.java       |  25 +-
 .../internal/ViewVersionResourceProvider.java   |  45 +-
 .../internal/WidgetLayoutResourceProvider.java  |   2 +-
 .../internal/WidgetResourceProvider.java        |   2 +-
 .../internal/WorkflowResourceProvider.java      |  54 +-
 .../controller/utilities/PropertyHelper.java    |   6 +-
 .../upgrade/HostVersionOutOfSyncListener.java   |  24 +
 .../apache/ambari/server/ldap/LdapModule.java   |   4 -
 .../ldap/domain/AmbariLdapConfigKeys.java       |  83 --
 .../ldap/domain/AmbariLdapConfiguration.java    |  85 +--
 .../domain/AmbariLdapConfigurationFactory.java  |  34 -
 .../domain/AmbariLdapConfigurationKeys.java     |  83 ++
 .../AmbariLdapConfigurationProvider.java        |  19 +-
 .../server/ldap/service/AmbariLdapFacade.java   |   4 +-
 .../ambari/server/ldap/service/LdapFacade.java  |   9 +-
 .../DefaultLdapAttributeDetectionService.java   |   8 +-
 .../ads/DefaultLdapConfigurationService.java    |   4 +-
 .../ads/detectors/GroupMemberAttrDetector.java  |   4 +-
 .../ads/detectors/GroupNameAttrDetector.java    |   7 +-
 .../ads/detectors/GroupObjectClassDetector.java |   8 +-
 .../detectors/UserGroupMemberAttrDetector.java  |   5 +-
 .../ads/detectors/UserNameAttrDetector.java     |   4 +-
 .../ads/detectors/UserObjectClassDetector.java  |   4 +-
 .../system/impl/AmbariMetricSinkImpl.java       |   2 -
 .../org/apache/ambari/server/state/Cluster.java |   9 +
 .../server/state/cluster/ClusterImpl.java       |  31 +
 .../state/repository/VersionDefinitionXml.java  |  59 +-
 .../server/upgrade/UpgradeCatalog260.java       |   4 +
 .../python/ambari_server/serverConfiguration.py |  17 +-
 .../main/python/ambari_server/serverSetup.py    |   5 +-
 .../main/python/ambari_server/serverUpgrade.py  |  14 +-
 .../2.0.0.3.0/package/scripts/status_params.py  |   2 +-
 .../3.0.0.3.0/package/scripts/status_params.py  |   2 +-
 .../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/package/scripts/hive.py      |  10 +-
 .../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 |  39 +
 .../configuration/kafka_client_jaas_conf.xml    |  43 ++
 .../0.10.0/configuration/kafka_jaas_conf.xml    | 116 +++
 .../KAFKA/0.8.1/configuration/kafka-env.xml     |   2 +-
 .../KAFKA/0.8.1/package/scripts/kafka.py        |   4 +-
 .../KAFKA/0.8.1/package/scripts/params.py       |  16 +-
 .../0.8.1/package/scripts/service_check.py      |  15 +-
 .../0.8.1/package/scripts/setup_ranger_kafka.py |  21 +-
 .../KAFKA/0.8.1/package/scripts/upgrade.py      |   3 +-
 .../package/templates/kafka_client_jaas.conf.j2 |   3 +
 .../0.8.1/package/templates/kafka_jaas.conf.j2  |  47 ++
 .../KAFKA/0.9.0/configuration/kafka-broker.xml  |   2 +-
 .../1.10.3-10/configuration/kerberos-env.xml    |   4 +-
 .../1.10.3-30/configuration/kerberos-env.xml    |   4 +-
 .../package/scripts/setup_ranger_knox.py        |  16 +-
 .../package/scripts/setup_ranger_knox.py        |  16 +-
 .../MAHOUT/1.0.0.2.3/package/scripts/mahout.py  |  12 +-
 .../package/scripts/oozie_server_upgrade.py     |  24 +-
 .../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 +-
 .../common-services/SPARK/1.2.1/alerts.json     |   2 +-
 .../SPARK/1.2.1/package/scripts/livy_service.py |  18 +-
 .../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 |  13 +-
 .../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 +-
 .../2.0.0/package/scripts/livy2_service.py      |  11 +-
 .../SPARK2/2.0.0/package/scripts/params.py      |   2 +
 .../SPARK2/2.0.0/package/scripts/setup_spark.py |  22 +-
 .../0.9.1/package/scripts/setup_ranger_storm.py |  15 +-
 .../package/scripts/setup_ranger_storm.py       |  15 +-
 .../configuration-mapred/mapred-site.xml        |   2 +-
 .../2.1.0.2.0/package/scripts/params_linux.py   |  41 +-
 .../configuration-mapred/mapred-site.xml        |   2 +-
 .../YARN/3.0.0.3.0/kerberos.json                |   4 +-
 .../3.0.0.3.0/package/scripts/params_linux.py   |  41 +-
 .../scripts/interpreter_json_template.py        | 154 +++-
 .../package/scripts/livy2_config_template.py    | 112 ---
 .../ZEPPELIN/0.7.0/package/scripts/master.py    |  24 +-
 .../package/scripts/spark2_config_template.py   |  84 ---
 .../custom_actions/scripts/install_packages.py  |  12 +-
 .../src/main/resources/key_properties.json      | 161 ----
 .../src/main/resources/properties.json          | 487 ------------
 .../HDP/2.0.6/properties/stack_features.json    |  11 +
 .../HDP/2.0.6/properties/stack_packages.json    |  10 +-
 .../stacks/HDP/2.0.6/services/stack_advisor.py  |   2 +-
 .../2.6/services/TEZ/configuration/tez-site.xml |   8 +
 .../stacks/HDP/2.6/upgrades/config-upgrade.xml  |   2 +-
 .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml |   2 +-
 .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml     |   2 +-
 .../HDP/3.0/properties/stack_features.json      |   6 +
 .../HDP/3.0/properties/stack_packages.json      |   9 -
 .../KERBEROS/configuration/kerberos-env.xml     |   4 +-
 .../ExecutionCommandWrapperTest.java            |   5 +
 .../api/query/render/MinimalRendererTest.java   |   6 +
 .../commands/StackAdvisorCommandTest.java       |   4 +-
 .../RequiredServicesInRepositoryCheckTest.java  |   6 +-
 .../AmbariCustomCommandExecutionHelperTest.java |  46 ++
 .../AmbariManagementControllerImplTest.java     |  53 +-
 .../AmbariManagementControllerTest.java         |   7 +-
 .../AbstractControllerResourceProviderTest.java |  10 +-
 .../AbstractDRResourceProviderTest.java         |   2 -
 .../internal/AbstractResourceProviderTest.java  |  26 +-
 .../internal/ActionResourceProviderTest.java    |   4 -
 .../ActiveWidgetLayoutResourceProviderTest.java |   2 -
 .../internal/BlueprintResourceProviderTest.java |  21 +-
 .../ClientConfigResourceProviderTest.java       |  10 -
 .../internal/ClusterControllerImplTest.java     |  14 +-
 ...rKerberosDescriptorResourceProviderTest.java |  17 -
 .../internal/ClusterResourceProviderTest.java   |  14 -
 ...ClusterStackVersionResourceProviderTest.java |  12 +-
 .../ConfigGroupResourceProviderTest.java        |   2 -
 .../ConfigurationResourceProviderTest.java      |   6 -
 .../CredentialResourceProviderTest.java         |  23 -
 .../internal/ExtensionResourceProviderTest.java |   2 -
 .../internal/FeedResourceProviderTest.java      |  29 +-
 .../internal/GroupResourceProviderTest.java     |   8 -
 ...ostComponentProcessResourceProviderTest.java |   2 -
 .../HostComponentResourceProviderTest.java      |  49 +-
 .../internal/HostResourceProviderTest.java      |  53 +-
 .../HostStackVersionResourceProviderTest.java   |  14 +-
 .../internal/InstanceResourceProviderTest.java  |  29 +-
 .../internal/JMXHostProviderTest.java           |   5 +-
 .../internal/JobResourceProviderTest.java       |  37 +-
 .../KerberosDescriptorResourceProviderTest.java |   6 +-
 .../internal/MemberResourceProviderTest.java    |  25 +-
 .../internal/RequestResourceProviderTest.java   |  42 +-
 .../RequestScheduleResourceProviderTest.java    |   2 -
 ...ponentConfigurationResourceProviderTest.java | 214 +++++-
 ...ootServiceComponentResourceProviderTest.java |   2 -
 ...erviceHostComponentResourceProviderTest.java |   2 -
 .../RootServiceResourceProviderTest.java        |   2 -
 .../internal/ScaleClusterRequestTest.java       |  38 +-
 .../StackAdvisorResourceProviderTest.java       |  12 +-
 .../StackArtifactResourceProviderTest.java      |   2 -
 ...igurationDependencyResourceProviderTest.java |   2 -
 .../StackConfigurationResourceProviderTest.java |   4 -
 .../StackDependencyResourceProviderTest.java    |   5 +-
 ...kLevelConfigurationResourceProviderTest.java |   4 -
 .../internal/StackResourceProviderTest.java     |   2 -
 .../StackServiceResourceProviderTest.java       |   4 -
 .../TargetClusterResourceProviderTest.java      |  28 +-
 .../TaskAttemptResourceProviderTest.java        |   2 +-
 .../internal/TaskResourceProviderTest.java      |  22 +-
 .../internal/TestIvoryProviderModule.java       |   6 +-
 .../internal/UpgradeResourceProviderTest.java   |   4 +-
 .../internal/UserResourceProviderDBTest.java    |   2 +-
 .../internal/UserResourceProviderTest.java      |   2 -
 .../ValidationResourceProviderTest.java         |   3 +-
 .../internal/WorkflowResourceProviderTest.java  |  30 +-
 .../server/ldap/LdapModuleFunctionalTest.java   |  49 +-
 .../TestAmbariLdapConfigurationFactory.java     |  29 -
 .../ldap/service/AmbariLdapFacadeTest.java      |  36 +-
 ...efaultLdapAttributeDetectionServiceTest.java |  24 +-
 .../DefaultLdapConfigurationServiceTest.java    |  31 +-
 .../apache/ambari/server/orm/OrmTestHelper.java |   3 +
 .../state/repository/VersionDefinitionTest.java |  55 ++
 .../server/upgrade/UpgradeCatalog260Test.java   |   4 +
 .../stacks/2.0.6/OOZIE/test_oozie_server.py     |  24 +-
 .../stacks/2.0.6/common/test_stack_advisor.py   |   4 +-
 .../2.6/KAFKA/test_kafka_broker_other_sasl.py   |  97 +++
 .../2.6/ZEPPELIN/interpreter_json_generated.py  |   8 +-
 .../2.6/configs/default_kafka_plaintext.json    | 631 ++++++++++++++++
 .../configs/default_kafka_plaintextsasl.json    | 631 ++++++++++++++++
 .../configs/default_kafka_sasl_plaintext.json   | 631 ++++++++++++++++
 .../2.6/configs/default_kafka_sasl_ssl.json     | 631 ++++++++++++++++
 ambari-web/app/assets/test/tests.js             |   2 +-
 .../controllers/main/service/info/configs.js    |  41 +-
 ambari-web/app/controllers/main/service/item.js |   4 +-
 ambari-web/app/data/db_properties_info.js       |  15 +-
 ambari-web/app/messages.js                      |  15 +-
 .../mixins/common/configs/configs_comparator.js |   5 +-
 .../app/mixins/common/configs/configs_loader.js |   8 +-
 ambari-web/app/models/configs/config_group.js   |   8 +
 ambari-web/app/models/repository.js             |   3 +-
 ambari-web/app/styles/application.less          | 263 +------
 ambari-web/app/styles/bootstrap_overrides.less  |   2 +-
 ambari-web/app/styles/common.less               |   1 +
 ambari-web/app/styles/config_history_flow.less  | 414 ----------
 .../app/styles/config_versions_control.less     | 144 ++++
 ambari-web/app/styles/modal_popups.less         |   8 +-
 .../app/styles/service_configurations.less      | 297 ++++++++
 ambari-web/app/styles/widgets.less              |  14 +-
 ambari-web/app/styles/wizard.less               |  19 +-
 ambari-web/app/templates.js                     |   2 +
 .../common/configs/compare_property.hbs         |  38 -
 .../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 ++-
 .../service_config_layout_tab_compare.hbs       |  80 ++
 .../common/configs/service_config_wizard.hbs    |   8 +-
 .../comparison/config_widget_comparison.hbs     |  37 -
 .../common/configs/widgets/controls.hbs         |  15 -
 .../templates/common/filter_combo_cleanable.hbs |   7 +-
 .../app/templates/main/host/configs_service.hbs |   2 +-
 .../app/templates/main/service/info/configs.hbs |   2 +-
 ambari-web/app/views.js                         |   6 +-
 .../common/configs/compare_property_view.js     |  25 -
 .../views/common/configs/config_history_flow.js | 643 ----------------
 .../configs/config_versions_control_view.js     | 224 ++++++
 .../configs/config_versions_dropdown_view.js    |  52 ++
 .../configs/overriddenPropertyRow_view.js       |  31 -
 .../service_config_layout_tab_compare_view.js   |  31 +
 .../views/common/configs/service_config_view.js |  69 ++
 .../configs/service_configs_by_category_view.js |  17 +-
 .../comparison/config_widget_comparison_view.js |  23 -
 ambari-web/app/views/common/controls_view.js    |   5 +-
 .../app/views/common/filter_combo_cleanable.js  |   6 +-
 .../upgrade_version_column_view.js              |  11 +-
 .../common/configs/configs_comparator_test.js   |   5 -
 .../common/configs/config_history_flow_test.js  | 756 -------------------
 .../config_versions_control_view_test.js        | 151 ++++
 .../configs/overriddenProperty_view_test.js     |  42 --
 .../common/configs/service_config_view_test.js  |  52 +-
 .../service_configs_by_category_view_test.js    |  18 +-
 .../test/views/common/controls_view_test.js     |  46 +-
 .../host_progress_popup_body_view_test.js       |   9 +-
 452 files changed, 11049 insertions(+), 7789 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index 76494c7,64a4338..0c47e3d
--- 
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
@@@ -557,8 -560,10 +557,11 @@@ public class AmbariServer 
         * Start the server after controller state is recovered.
         */
        server.start();
 +      handlerList.shareSessionCacheToViews(sessionHandler.getSessionCache());
  
+       //views initialization will reset inactive interval with default value, 
so we should set it after
 -      configureMaxInactiveInterval();
++      sessionHandlerConfigurer.configureMaxInactiveInterval(sessionHandler);
+ 
        serverForAgent.start();
        LOG.info("********* Started Server **********");
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/SessionHandlerConfigurer.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/controller/SessionHandlerConfigurer.java
index 449cf2b,0000000..a1eab2f
mode 100644,000000..100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/SessionHandlerConfigurer.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/SessionHandlerConfigurer.java
@@@ -1,57 -1,0 +1,62 @@@
 +/**
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * "License"); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.ambari.server.controller;
 +
 +import org.apache.ambari.server.configuration.Configuration;
 +import org.eclipse.jetty.server.session.SessionHandler;
 +
 +import com.google.inject.Inject;
 +import com.google.inject.Singleton;
 +
 +@Singleton
 +public class SessionHandlerConfigurer {
 +
 +  @Inject
 +  Configuration configuration;
 +
 +  /**
 +   * Performs basic configuration of session handler with static values and 
values from
 +   * configuration file.
 +   *
 +   * @param sessionHandler session handler
 +   */
 +  protected void configureSessionHandler(SessionHandler sessionHandler) {
 +    sessionHandler.getSessionCookieConfig().setPath("/");
 +
 +    // use AMBARISESSIONID instead of JSESSIONID to avoid conflicts with
 +    // other services (like HDFS) that run on the same context but a different
 +    // port
 +    sessionHandler.setSessionCookie("AMBARISESSIONID");
 +
 +    sessionHandler.getSessionCookieConfig().setHttpOnly(true);
 +    if (configuration.getApiSSLAuthentication()) {
 +      sessionHandler.getSessionCookieConfig().setSecure(true);
 +    }
 +
++    configureMaxInactiveInterval(sessionHandler);
++  }
++
++  protected void configureMaxInactiveInterval(SessionHandler sessionHandler) {
 +    // each request that does not use AMBARISESSIONID will create a new
 +    // HashedSession in Jetty; these MUST be reaped after inactivity in order
 +    // to prevent a memory leak
++
 +    int sessionInactivityTimeout = 
configuration.getHttpSessionInactiveTimeout();
 +    sessionHandler.setMaxInactiveInterval(sessionInactivityTimeout);
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
index 519794e,776be0c..bd746f5
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
@@@ -156,12 -148,43 +159,46 @@@ public class HostResourceProvider exten
  
    //todo use the same json structure for cluster host addition (cluster 
template and upscale)
  
-   private static final Set<String> PK_PROPERTY_IDS = 
ImmutableSet.of(HOST_HOST_NAME_PROPERTY_ID);
+   /**
+    * The key property ids for a Host resource.
+    */
+   public static Map<Resource.Type, String> keyPropertyIds = 
ImmutableMap.<Resource.Type, String>builder()
+       .put(Resource.Type.Host, HOST_HOST_NAME_PROPERTY_ID)
+       .put(Resource.Type.Cluster, HOST_CLUSTER_NAME_PROPERTY_ID)
+       .build();
+ 
+   /**
+    * The property ids for a Host resource.
+    */
+   public static Set<String> propertyIds = Sets.newHashSet(
+       HOST_CLUSTER_NAME_PROPERTY_ID,
+       HOST_CPU_COUNT_PROPERTY_ID,
+       HOST_DESIRED_CONFIGS_PROPERTY_ID,
+       HOST_DISK_INFO_PROPERTY_ID,
+       HOST_HOST_HEALTH_REPORT_PROPERTY_ID,
+       HOST_HOST_STATUS_PROPERTY_ID,
+       HOST_IP_PROPERTY_ID,
+       HOST_LAST_AGENT_ENV_PROPERTY_ID,
+       HOST_LAST_HEARTBEAT_TIME_PROPERTY_ID,
+       HOST_LAST_REGISTRATION_TIME_PROPERTY_ID,
+       HOST_MAINTENANCE_STATE_PROPERTY_ID,
+       HOST_HOST_NAME_PROPERTY_ID,
+       HOST_OS_ARCH_PROPERTY_ID,
+       HOST_OS_FAMILY_PROPERTY_ID,
+       HOST_OS_TYPE_PROPERTY_ID,
+       HOST_PHYSICAL_CPU_COUNT_PROPERTY_ID,
+       HOST_PUBLIC_NAME_PROPERTY_ID,
+       HOST_RACK_INFO_PROPERTY_ID,
+       HOST_RECOVERY_REPORT_PROPERTY_ID,
+       HOST_RECOVERY_SUMMARY_PROPERTY_ID,
+       HOST_STATE_PROPERTY_ID,
+       HOST_TOTAL_MEM_PROPERTY_ID,
+       HOST_ATTRIBUTES_PROPERTY_ID);
  
    @Inject
 +  private MaintenanceStateHelper maintenanceStateHelper;
 +
 +  @Inject
    private OsFamily osFamily;
  
    @Inject

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index b634fb2,c23b971..d3ba1d5
--- 
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
@@@ -2796,68 -2727,33 +2796,99 @@@ public class ClusterImpl implements Clu
    }
  
    /**
 +   * Calculates cluster config types were changed during configs change.
 +   * @param currentServiceConfigEntity service config entity with populated 
current cluster configs
 +   * @param configGroupId id of config group contained changed configs. Can 
be null in case group is default
 +   * @param clusterId cluster id
 +   * @param serviceName service name configs were changed for
 +   * @return set of type names of cluster configs were changed
 +   */
 +  private Set<String> getChangedConfigTypes(ServiceConfigEntity 
currentServiceConfigEntity,
 +                                            Long configGroupId, Long 
clusterId, String serviceName) {
 +    ServiceConfigEntity previousServiceConfigEntity;
 +    List<ClusterConfigEntity> previousConfigEntities = new ArrayList<>();
 +    List<ClusterConfigEntity> currentConfigEntities = new ArrayList<>();
 +    
currentConfigEntities.addAll(currentServiceConfigEntity.getClusterConfigEntities());
 +    // Retrieve group cluster configs
 +    if (configGroupId != null) {
 +      previousServiceConfigEntity =
 +          
serviceConfigDAO.getLastServiceConfigVersionsForGroup(configGroupId);
 +      if (previousServiceConfigEntity != null) {
 +        
previousConfigEntities.addAll(previousServiceConfigEntity.getClusterConfigEntities());
 +      }
 +    }
 +    // Service config with custom group contains not all config types, so it 
is needed
 +    // to complement it with configs from default group
 +    previousServiceConfigEntity =
 +        
serviceConfigDAO.getLastServiceConfigForServiceDefaultGroup(clusterId, 
serviceName);
 +    if (previousServiceConfigEntity != null) {
 +      for (ClusterConfigEntity clusterConfigEntity : 
previousServiceConfigEntity.getClusterConfigEntities()) {
 +        // Add only configs not present yet
 +        ClusterConfigEntity exist =
 +            previousConfigEntities.stream()
 +                .filter(c -> 
c.getType().equals(clusterConfigEntity.getType())).findAny().orElse(null);
 +        if (exist == null) {
 +          previousConfigEntities.add(clusterConfigEntity);
 +        }
 +        // Complement current custom group service config to correct comparing
 +        if (configGroupId != null) {
 +          exist = currentConfigEntities.stream()
 +              .filter(c -> 
c.getType().equals(clusterConfigEntity.getType())).findAny().orElse(null);
 +          if (exist == null) {
 +            currentConfigEntities.add(clusterConfigEntity);
 +          }
 +        }
 +      }
 +    }
 +    Map<String, String> previousConfigs = new HashMap<>();
 +    Map<String, String> currentConfigs = new HashMap<>();
 +    for (ClusterConfigEntity clusterConfigEntity : currentConfigEntities) {
 +      currentConfigs.put(clusterConfigEntity.getType(), 
clusterConfigEntity.getData());
 +    }
 +    for (ClusterConfigEntity clusterConfigEntity : previousConfigEntities) {
 +      previousConfigs.put(clusterConfigEntity.getType(), 
clusterConfigEntity.getData());
 +    }
 +    // Get diff for current and previous sets of cluster configs
 +    Set<Entry<String, String>> diff1 = new 
HashSet<>(currentConfigs.entrySet());
 +    Set<Entry<String, String>> diff2 = new 
HashSet<>(previousConfigs.entrySet());
 +    diff1.removeAll(previousConfigs.entrySet());
 +    diff2.removeAll(currentConfigs.entrySet());
 +    diff1.addAll(diff2);
 +    Set<String> changedConfigs = new HashSet<>();
 +    for (Entry<String, String> diff : diff1) {
 +      changedConfigs.add(diff.getKey());
 +    }
 +    return changedConfigs;
 +  }
++
++  /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Map<String, Map<String, String>> getComponentVersionMap() {
+     Map<String, Map<String, String>> componentVersionMap = new HashMap<>();
+ 
+     for (Service service : getServices().values()) {
+       Map<String, String> componentMap = new HashMap<>();
+       for (ServiceComponent component : 
service.getServiceComponents().values()) {
+         // skip components which don't advertise a version
+         if (!component.isVersionAdvertised()) {
+           continue;
+         }
+ 
+         // if the repo isn't resolved, then we can't trust the version
+         if (!component.getDesiredRepositoryVersion().isResolved()) {
+           continue;
+         }
+ 
+         componentMap.put(component.getName(), component.getDesiredVersion());
+       }
+ 
+       if (!componentMap.isEmpty()) {
+         componentVersionMap.put(service.getName(), componentMap);
+       }
+     }
+ 
+     return componentVersionMap;
+   }
  }

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HBASE/2.0.0.3.0/package/scripts/status_params.py
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/resources/common-services/HBASE/2.0.0.3.0/package/scripts/status_params.py
index ad8501d,90669c5..3379810
--- 
a/ambari-server/src/main/resources/common-services/HBASE/2.0.0.3.0/package/scripts/status_params.py
+++ 
b/ambari-server/src/main/resources/common-services/HBASE/2.0.0.3.0/package/scripts/status_params.py
@@@ -48,10 -48,10 +48,10 @@@ else
  
    hbase_master_pid_file = format("{pid_dir}/hbase-{hbase_user}-master.pid")
    regionserver_pid_file = 
format("{pid_dir}/hbase-{hbase_user}-regionserver.pid")
-   phoenix_pid_file = format("{pid_dir}/phoenix-{hbase_user}-server.pid")
+   phoenix_pid_file = format("{pid_dir}/phoenix-{hbase_user}-queryserver.pid")
  
    # Security related/required params
 -  hostname = config['hostname']
 +  hostname = config['agentLevelParams']['hostname']
    security_enabled = 
config['configurations']['cluster-env']['security_enabled']
    kinit_path_local = 
get_kinit_path(default('/configurations/kerberos-env/executable_search_paths', 
None))
    tmp_dir = Script.get_tmp_dir()

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HDFS/3.0.0.3.0/package/scripts/status_params.py
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/resources/common-services/HDFS/3.0.0.3.0/package/scripts/status_params.py
index d02c921,437ac92..9d254ff
--- 
a/ambari-server/src/main/resources/common-services/HDFS/3.0.0.3.0/package/scripts/status_params.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/3.0.0.3.0/package/scripts/status_params.py
@@@ -42,10 -42,10 +42,10 @@@ else
    snamenode_pid_file = 
format("{hadoop_pid_dir}/hadoop-{hdfs_user}-secondarynamenode.pid")
    journalnode_pid_file = 
format("{hadoop_pid_dir}/hadoop-{hdfs_user}-journalnode.pid")
    zkfc_pid_file = format("{hadoop_pid_dir}/hadoop-{hdfs_user}-zkfc.pid")
-   nfsgateway_pid_file = 
format("{hadoop_pid_dir_prefix}/root/hadoop_privileged_nfs3.pid")
+   nfsgateway_pid_file = 
format("{hadoop_pid_dir_prefix}/privileged-root-nfs3.pid")
  
    # Security related/required params
 -  hostname = config['hostname']
 +  hostname = config['agentLevelParams']['hostname']
    security_enabled = 
config['configurations']['cluster-env']['security_enabled']
    hdfs_user_principal = 
config['configurations']['hadoop-env']['hdfs_principal_name']
    hdfs_user_keytab = 
config['configurations']['hadoop-env']['hdfs_user_keytab']

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/hive.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
index c26ca2b,46fdfba..3428e82
--- 
a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
@@@ -162,10 -163,15 +163,15 @@@ kafka_kerberos_enabled = (('security.in
                           
((config['configurations']['kafka-broker']['security.inter.broker.protocol'] == 
"PLAINTEXTSASL") or
                            
(config['configurations']['kafka-broker']['security.inter.broker.protocol'] == 
"SASL_PLAINTEXT")))
  
+ kafka_other_sasl_enabled = not kerberos_security_enabled and 
check_stack_feature(StackFeature.KAFKA_LISTENERS, stack_version_formatted) and \
+                           
check_stack_feature(StackFeature.KAFKA_EXTENDED_SASL_SUPPORT, 
stack_version_formatted) and \
+                           (("SASL_PLAINTEXT" in 
config['configurations']['kafka-broker']['listeners']) or
+                           ("PLAINTEXTSASL" in 
config['configurations']['kafka-broker']['listeners']) or
+                           ("SASL_SSL" in 
config['configurations']['kafka-broker']['listeners']))
  
- if security_enabled and stack_version_formatted != "" and 
'kafka_principal_name' in config['configurations']['kafka-env'] \
+ if kerberos_security_enabled and stack_version_formatted != "" and 
'kafka_principal_name' in config['configurations']['kafka-env'] \
    and check_stack_feature(StackFeature.KAFKA_KERBEROS, 
stack_version_formatted):
 -    _hostname_lowercase = config['hostname'].lower()
 +    _hostname_lowercase = config['agentLevelParams']['hostname'].lower()
      _kafka_principal_name = 
config['configurations']['kafka-env']['kafka_principal_name']
      kafka_jaas_principal = 
_kafka_principal_name.replace('_HOST',_hostname_lowercase)
      kafka_keytab_path = config['configurations']['kafka-env']['kafka_keytab']

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/setup_ranger_knox.py
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/setup_ranger_knox.py
index 0e565a9,67fec40..fe745a9
--- 
a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/setup_ranger_knox.py
+++ 
b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/setup_ranger_knox.py
@@@ -104,16 -104,24 +104,24 @@@ def setup_ranger_knox(upgrade_type=None
                          params.policy_user, params.policymgr_mgr_url,
                          params.enable_ranger_knox, 
conf_dict=params.knox_conf_dir,
                          component_user=params.knox_user, 
component_group=params.knox_group, cache_service_list=['knox'],
 -                        
plugin_audit_properties=params.config['configurations']['ranger-knox-audit'], 
plugin_audit_attributes=params.config['configuration_attributes']['ranger-knox-audit'],
 -                        
plugin_security_properties=params.config['configurations']['ranger-knox-security'],
 
plugin_security_attributes=params.config['configuration_attributes']['ranger-knox-security'],
 -                        
plugin_policymgr_ssl_properties=params.config['configurations']['ranger-knox-policymgr-ssl'],
 
plugin_policymgr_ssl_attributes=params.config['configuration_attributes']['ranger-knox-policymgr-ssl'],
 +                        
plugin_audit_properties=params.config['configurations']['ranger-knox-audit'], 
plugin_audit_attributes=params.config['configurationAttributes']['ranger-knox-audit'],
 +                        
plugin_security_properties=params.config['configurations']['ranger-knox-security'],
 
plugin_security_attributes=params.config['configurationAttributes']['ranger-knox-security'],
 +                        
plugin_policymgr_ssl_properties=params.config['configurations']['ranger-knox-policymgr-ssl'],
 
plugin_policymgr_ssl_attributes=params.config['configurationAttributes']['ranger-knox-policymgr-ssl'],
                          component_list=['knox-server'], 
audit_db_is_enabled=params.xa_audit_db_is_enabled,
-                         credential_file=params.credential_file, 
xa_audit_db_password=params.xa_audit_db_password, 
+                         credential_file=params.credential_file, 
xa_audit_db_password=params.xa_audit_db_password,
                          
ssl_truststore_password=params.ssl_truststore_password, 
ssl_keystore_password=params.ssl_keystore_password,
                          stack_version_override = stack_version, 
skip_if_rangeradmin_down= not params.retryAble)
-     if params.stack_supports_core_site_for_ranger_plugin and 
params.enable_ranger_knox and params.has_namenode and params.security_enabled:
-       Logger.info("Stack supports core-site.xml creation for Ranger plugin, 
creating core-site.xml from namenode configuraitions")
-       setup_core_site_for_required_plugins(component_user=params.knox_user, 
component_group=params.knox_group,create_core_site_path = params.knox_conf_dir, 
config = params.config)
+     if params.stack_supports_core_site_for_ranger_plugin and 
params.enable_ranger_knox and params.security_enabled:
+       if params.has_namenode:
+         Logger.info("Stack supports core-site.xml creation for Ranger plugin 
and Namenode is installed, creating create core-site.xml from namenode 
configurations")
+         setup_core_site_for_required_plugins(component_user = 
params.knox_user, component_group = params.knox_group,
+                                              create_core_site_path = 
params.knox_conf_dir, configurations = 
params.config['configurations']['core-site'],
+                                              configuration_attributes = 
params.config['configuration_attributes']['core-site'])
+       else:
+         Logger.info("Stack supports core-site.xml creation for Ranger plugin 
and Namenode is not installed, creating create core-site.xml from default 
configurations")
+         setup_core_site_for_required_plugins(component_user = 
params.knox_user, component_group = params.knox_group,
+                                              create_core_site_path = 
params.knox_conf_dir, configurations = { 'hadoop.security.authentication' : 
'kerberos' if params.security_enabled else 'simple' },
+                                              configuration_attributes = {})
      else:
        Logger.info("Stack does not support core-site.xml creation for Ranger 
plugin, skipping core-site.xml configurations")
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/KNOX/0.5.0.3.0/package/scripts/setup_ranger_knox.py
----------------------------------------------------------------------
diff --cc 
ambari-server/src/main/resources/common-services/KNOX/0.5.0.3.0/package/scripts/setup_ranger_knox.py
index 0e565a9,67fec40..fe745a9
--- 
a/ambari-server/src/main/resources/common-services/KNOX/0.5.0.3.0/package/scripts/setup_ranger_knox.py
+++ 
b/ambari-server/src/main/resources/common-services/KNOX/0.5.0.3.0/package/scripts/setup_ranger_knox.py
@@@ -104,16 -104,24 +104,24 @@@ def setup_ranger_knox(upgrade_type=None
                          params.policy_user, params.policymgr_mgr_url,
                          params.enable_ranger_knox, 
conf_dict=params.knox_conf_dir,
                          component_user=params.knox_user, 
component_group=params.knox_group, cache_service_list=['knox'],
 -                        
plugin_audit_properties=params.config['configurations']['ranger-knox-audit'], 
plugin_audit_attributes=params.config['configuration_attributes']['ranger-knox-audit'],
 -                        
plugin_security_properties=params.config['configurations']['ranger-knox-security'],
 
plugin_security_attributes=params.config['configuration_attributes']['ranger-knox-security'],
 -                        
plugin_policymgr_ssl_properties=params.config['configurations']['ranger-knox-policymgr-ssl'],
 
plugin_policymgr_ssl_attributes=params.config['configuration_attributes']['ranger-knox-policymgr-ssl'],
 +                        
plugin_audit_properties=params.config['configurations']['ranger-knox-audit'], 
plugin_audit_attributes=params.config['configurationAttributes']['ranger-knox-audit'],
 +                        
plugin_security_properties=params.config['configurations']['ranger-knox-security'],
 
plugin_security_attributes=params.config['configurationAttributes']['ranger-knox-security'],
 +                        
plugin_policymgr_ssl_properties=params.config['configurations']['ranger-knox-policymgr-ssl'],
 
plugin_policymgr_ssl_attributes=params.config['configurationAttributes']['ranger-knox-policymgr-ssl'],
                          component_list=['knox-server'], 
audit_db_is_enabled=params.xa_audit_db_is_enabled,
-                         credential_file=params.credential_file, 
xa_audit_db_password=params.xa_audit_db_password, 
+                         credential_file=params.credential_file, 
xa_audit_db_password=params.xa_audit_db_password,
                          
ssl_truststore_password=params.ssl_truststore_password, 
ssl_keystore_password=params.ssl_keystore_password,
                          stack_version_override = stack_version, 
skip_if_rangeradmin_down= not params.retryAble)
-     if params.stack_supports_core_site_for_ranger_plugin and 
params.enable_ranger_knox and params.has_namenode and params.security_enabled:
-       Logger.info("Stack supports core-site.xml creation for Ranger plugin, 
creating core-site.xml from namenode configuraitions")
-       setup_core_site_for_required_plugins(component_user=params.knox_user, 
component_group=params.knox_group,create_core_site_path = params.knox_conf_dir, 
config = params.config)
+     if params.stack_supports_core_site_for_ranger_plugin and 
params.enable_ranger_knox and params.security_enabled:
+       if params.has_namenode:
+         Logger.info("Stack supports core-site.xml creation for Ranger plugin 
and Namenode is installed, creating create core-site.xml from namenode 
configurations")
+         setup_core_site_for_required_plugins(component_user = 
params.knox_user, component_group = params.knox_group,
+                                              create_core_site_path = 
params.knox_conf_dir, configurations = 
params.config['configurations']['core-site'],
+                                              configuration_attributes = 
params.config['configuration_attributes']['core-site'])
+       else:
+         Logger.info("Stack supports core-site.xml creation for Ranger plugin 
and Namenode is not installed, creating create core-site.xml from default 
configurations")
+         setup_core_site_for_required_plugins(component_user = 
params.knox_user, component_group = params.knox_group,
+                                              create_core_site_path = 
params.knox_conf_dir, configurations = { 'hadoop.security.authentication' : 
'kerberos' if params.security_enabled else 'simple' },
+                                              configuration_attributes = {})
      else:
        Logger.info("Stack does not support core-site.xml creation for Ranger 
plugin, skipping core-site.xml configurations")
  

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/MAHOUT/1.0.0.2.3/package/scripts/mahout.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/SPARK/1.2.1/package/scripts/params.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/SPARK/2.2.0/package/scripts/params.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/SPARK2/2.0.0/package/scripts/params.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/setup_ranger_storm.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/STORM/1.0.1.3.0/package/scripts/setup_ranger_storm.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/package/scripts/params_linux.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/common-services/ZEPPELIN/0.7.0/package/scripts/master.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/66a5083c/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --cc ambari-web/app/messages.js
index fe6f3ac,57999a8..ae17c49
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@@ -358,9 -358,10 +358,11 @@@ Em.I18n.translations = 
    'common.repositoryType': 'Repository Type',
    'common.rolling.downgrade': 'Rolling Downgrade',
    'common.express.downgrade': 'Express Downgrade',
 +  'common.minute.ago': 'less than a minute ago',
    'common.views': 'Views',
    'common.critical.error': 'Critical',
+   'common.with': 'with',
+   'common.propertyName': 'Property Name',
  
    'models.alert_instance.tiggered.verbose': "Occurred on {0} <br> Checked on 
{1}",
    'models.alert_definition.triggered.verbose': "Occurred on {0}",

Reply via email to