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}",