Merge branch 'trunk' into branch-feature-AMBARI-14714 and fixed some ambari-admin-view issues (mradhakrishnan)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1efc4f0c Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1efc4f0c Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1efc4f0c Branch: refs/heads/branch-feature-AMBARI-14714-blueprintv2 Commit: 1efc4f0c700dbbae5bd05324a47b3a6d71d9bcba Parents: f541d05 b2655aa Author: Madhuvanthi Radhakrishnan <[email protected]> Authored: Tue Dec 5 10:21:05 2017 -0800 Committer: Madhuvanthi Radhakrishnan <[email protected]> Committed: Tue Dec 5 11:15:58 2017 -0800 ---------------------------------------------------------------------- .../resources/ui/admin-web/app/scripts/app.js | 2 +- .../stackVersions/StackVersionsEditCtrl.js | 2 +- .../ui/admin-web/app/scripts/services/Stack.js | 3 +- .../ui/admin-web/app/styles/toggle-switch.css | 72 +++ .../app/views/ambariViews/modals/create.html | 3 +- .../app/views/authentication/main.html | 6 +- .../views/loginActivities/homeDirectory.html | 6 +- .../app/views/loginActivities/loginMessage.html | 6 +- .../userManagement/modals/groupCreate.html | 3 +- .../views/userManagement/modals/userCreate.html | 11 +- .../app/views/userManagement/userEdit.html | 12 +- .../src/main/resources/ui/admin-web/bower.json | 45 +- .../main/resources/ui/admin-web/package.json | 4 +- .../libraries/functions/component_version.py | 9 +- .../libraries/functions/constants.py | 1 + .../libraries/functions/copy_tarball.py | 10 +- ambari-infra/ambari-infra-manager/pom.xml | 11 + .../infra/job/archive/CompositeFileAction.java | 46 ++ .../ambari/infra/job/archive/Document.java | 54 ++ .../infra/job/archive/DocumentDestination.java | 23 + .../archive/DocumentExportConfiguration.java | 118 ++++ .../job/archive/DocumentExportJobListener.java | 35 + .../job/archive/DocumentExportProperties.java | 112 ++++ .../job/archive/DocumentExportStepListener.java | 47 ++ .../infra/job/archive/DocumentExporter.java | 99 +++ .../infra/job/archive/DocumentItemReader.java | 135 ++++ .../infra/job/archive/DocumentItemWriter.java | 25 + .../infra/job/archive/DocumentIterator.java | 25 + .../infra/job/archive/DocumentSource.java | 24 + .../ambari/infra/job/archive/FileAction.java | 25 + .../job/archive/LocalDocumentItemWriter.java | 72 +++ .../ambari/infra/job/archive/S3Properties.java | 64 ++ .../ambari/infra/job/archive/S3Uploader.java | 51 ++ .../infra/job/archive/SolrDocumentIterator.java | 90 +++ .../infra/job/archive/SolrDocumentSource.java | 68 ++ .../infra/job/archive/SolrQueryBuilder.java | 115 ++++ .../infra/job/archive/SolrQueryProperties.java | 69 ++ .../infra/job/archive/TarGzCompressor.java | 50 ++ .../apache/ambari/infra/manager/JobManager.java | 21 +- .../src/main/resources/infra-manager.properties | 12 + .../src/main/resources/log4j2.xml | 2 +- .../infra/job/archive/DocumentExporterTest.java | 147 +++++ .../job/archive/DocumentItemReaderTest.java | 197 ++++++ .../archive/LocalDocumentItemWriterTest.java | 98 +++ .../infra/job/archive/SolrQueryBuilderTest.java | 113 ++++ .../ambari/logfeeder/filter/FilterKeyValue.java | 4 +- .../LogsearchAuthenticationEntryPoint.java | 15 +- .../src/app/classes/filtering.ts | 22 +- .../src/app/classes/models/app-state.ts | 3 +- .../classes/queries/audit-logs-query-params.ts | 3 +- .../service-logs-truncated-query-params.ts | 3 +- .../src/app/classes/string.ts | 25 + .../action-menu/action-menu.component.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 + .../filters-panel/filters-panel.component.html | 18 +- .../filters-panel/filters-panel.component.less | 11 +- .../filters-panel.component.spec.ts | 1 + .../filters-panel/filters-panel.component.ts | 120 ++-- .../logs-container.component.html | 2 +- .../logs-container/logs-container.component.ts | 5 +- .../menu-button/menu-button.component.less | 13 +- .../src/app/components/mixins.less | 19 +- .../pagination/pagination.component.html | 4 +- .../search-box/search-box.component.html | 24 +- .../search-box/search-box.component.less | 27 +- .../search-box/search-box.component.ts | 152 +++-- .../service-logs-table.component.html | 7 +- .../service-logs-table.component.less | 1 - .../components/top-menu/top-menu.component.html | 7 +- .../components/top-menu/top-menu.component.less | 3 + .../top-menu/top-menu.component.spec.ts | 64 +- .../components/top-menu/top-menu.component.ts | 25 +- .../src/app/components/variables.less | 7 +- .../services/component-actions.service.spec.ts | 4 +- .../app/services/component-actions.service.ts | 2 +- .../component-generator.service.spec.ts | 4 +- .../app/services/logs-container.service.spec.ts | 4 +- .../src/app/services/logs-container.service.ts | 80 ++- .../src/app/services/utils.service.ts | 4 + .../src/assets/i18n/en.json | 2 +- .../ambari-logsearch-web/webpack.config.js | 20 +- .../test-config/logfeeder/logfeeder.properties | 2 +- .../ambari-metrics-hadoop-sink/pom.xml | 5 +- .../actionmanager/ExecutionCommandWrapper.java | 5 + .../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 +- .../stackadvisor/StackAdvisorRequest.java | 19 + .../commands/StackAdvisorCommand.java | 16 +- .../AmbariManagementControllerImpl.java | 15 +- .../ambari/server/controller/AmbariServer.java | 4 +- .../server/controller/RepositoryRequest.java | 22 +- .../AmbariServerConfigurationCategory.java | 69 ++ .../AmbariServerConfigurationHandler.java | 110 ++++ .../AmbariServerLDAPConfigurationHandler.java | 172 +++++ .../internal/BlueprintResourceProvider.java | 3 +- .../internal/HostResourceProvider.java | 54 +- .../internal/OperationStatusMetaData.java | 90 +++ .../internal/RepositoryResourceProvider.java | 3 +- ...ootServiceComponentConfigurationHandler.java | 114 ++++ ...iceComponentConfigurationHandlerFactory.java | 54 ++ ...eComponentConfigurationResourceProvider.java | 239 +++---- .../internal/StackAdvisorResourceProvider.java | 9 +- .../internal/UpgradeResourceProvider.java | 8 - .../apache/ambari/server/ldap/LdapModule.java | 4 - .../ldap/domain/AmbariLdapConfigKeys.java | 83 --- .../ldap/domain/AmbariLdapConfiguration.java | 85 +-- .../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 +- .../dispatchers/AmbariSNMPDispatcher.java | 10 +- .../apache/ambari/server/state/ServiceInfo.java | 2 +- .../state/repository/VersionDefinitionXml.java | 2 - .../ambari/server/topology/AmbariContext.java | 4 +- .../ambari/server/topology/Blueprint.java | 2 +- .../ambari/server/topology/BlueprintImpl.java | 3 +- .../server/topology/BlueprintValidator.java | 3 +- .../server/topology/BlueprintValidatorImpl.java | 25 +- .../GPLLicenseNotAcceptedException.java | 28 + .../validators/RequiredPasswordValidator.java | 6 +- .../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 +- .../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 | 8 +- .../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 +- .../OOZIE/4.2.0.3.0/metainfo.xml | 9 +- .../2.1.0.2.0/package/scripts/params_linux.py | 6 + .../3.0.0.3.0/package/scripts/params_linux.py | 6 + .../custom_actions/scripts/ru_execute_tasks.py | 5 +- .../HDP/2.0.6/properties/stack_features.json | 5 + .../HDP/2.0.6/properties/stack_packages.json | 4 +- .../stacks/HDP/2.0.6/services/stack_advisor.py | 35 + .../services/YARN/configuration/yarn-site.xml | 4 +- .../stacks/HDP/2.5/services/stack_advisor.py | 2 +- .../stacks/HDP/2.6/services/FALCON/metainfo.xml | 26 + .../stacks/HDP/2.6/services/OOZIE/metainfo.xml | 37 ++ .../stacks/HDP/2.6/services/stack_advisor.py | 3 + .../stacks/HDP/2.6/upgrades/config-upgrade.xml | 14 +- .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml | 10 +- .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml | 4 + .../HDP/3.0/properties/stack_packages.json | 4 +- .../services/YARN/configuration/yarn-site.xml | 4 +- .../PERF/1.0/configuration/cluster-env.xml | 26 + .../1.0/hooks/before-INSTALL/scripts/hook.py | 7 + .../PERF/1.0/properties/stack_packages.json | 8 + .../FAKEYARN/configuration/yarn-site.xml | 4 +- .../src/main/resources/stacks/stack_advisor.py | 9 + .../ExecutionCommandWrapperTest.java | 15 +- .../commands/StackAdvisorCommandTest.java | 4 +- .../AmbariManagementControllerImplTest.java | 7 +- .../AmbariManagementControllerTest.java | 50 +- .../internal/HostResourceProviderTest.java | 6 +- ...ponentConfigurationResourceProviderTest.java | 214 +++++-- .../ValidationResourceProviderTest.java | 4 +- .../utilities/KerberosIdentityCleanerTest.java | 1 + .../HostVersionOutOfSyncListenerTest.java | 2 +- .../server/ldap/LdapModuleFunctionalTest.java | 46 +- .../ldap/service/AmbariLdapFacadeTest.java | 36 +- ...efaultLdapAttributeDetectionServiceTest.java | 25 +- .../DefaultLdapConfigurationServiceTest.java | 31 +- .../dispatchers/AmbariSNMPDispatcherTest.java | 23 +- .../AlertNoticeDispatchServiceTest.java | 53 +- .../server/topology/BlueprintImplTest.java | 87 ++- .../topology/BlueprintValidatorImplTest.java | 10 +- .../server/upgrade/UpgradeCatalog260Test.java | 4 + .../custom_actions/test_ru_execute_tasks.py | 6 +- .../stacks/2.0.6/common/test_stack_advisor.py | 59 +- .../stacks/2.5/common/test_stack_advisor.py | 2 +- .../2.6/KAFKA/test_kafka_broker_other_sasl.py | 97 +++ .../stacks/2.6/common/test_stack_advisor.py | 11 + .../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 +++++++++++++++++++ .../app/controllers/global/update_controller.js | 2 +- ambari-web/app/controllers/installer.js | 7 +- .../resources/ui/app/components/upload-file.js | 38 +- .../files/src/main/resources/ui/bower.json | 4 +- .../src/main/resources/ui/hive-web/bower.json | 4 +- .../scripts/containers/ComponentDetailView.jsx | 2 +- .../storm/src/main/resources/ui/package.json | 20 +- 212 files changed, 7379 insertions(+), 1358 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-admin/src/main/resources/ui/admin-web/bower.json ---------------------------------------------------------------------- diff --cc ambari-admin/src/main/resources/ui/admin-web/bower.json index c38f464,c9e67f0..fc63dda --- a/ambari-admin/src/main/resources/ui/admin-web/bower.json +++ b/ambari-admin/src/main/resources/ui/admin-web/bower.json @@@ -1,23 -1,23 +1,26 @@@ { -- "name": "adminconsole", -- "private": true, -- "dependencies": { -- "bootstrap": "3.3.7", - "angular": "1.2.26", - "angular-route": "1.2.26", - "angular": "1.5.11", - "angular-route": "1.5.11", -- "angular-bootstrap": "0.11.0", -- "underscore": "1.7.0", -- "restangular": "1.4.0", -- "angular-bootstrap-toggle-switch": "0.5.1", - "angular-animate": "1.2.26", - "angular-animate": "1.5.11", -- "angular-translate": "2.2.0", -- "font-awesome": "4.2.0" -- }, -- "devDependencies": { - "angular-mocks": "1.2.26", - "angular-mocks": "1.5.11", -- "commonjs": "0.2.0", -- "chai": "1.8.0", -- "mocha": "1.14.0", -- "sinon": "1.10.3" -- } ++ "name": "adminconsole", ++ "private": true, ++ "dependencies": { ++ "bootstrap": "3.1.1", ++ "angular": "1.5.11", ++ "angular-route": "1.5.11", ++ "angular-bootstrap": "0.11.0", ++ "underscore": "1.7.0", ++ "restangular": "1.4.0", ++ "angular-bootstrap-toggle-switch": "0.5.1", ++ "angular-animate": "1.5.11", ++ "angular-translate": "2.2.0", ++ "font-awesome": "4.2.0" ++ }, ++ "devDependencies": { ++ "angular-mocks": "1.5.11", ++ "commonjs": "0.2.0", ++ "chai": "1.8.0", ++ "mocha": "1.14.0", ++ "sinon": "1.10.3" ++ }, ++ "resolutions": { ++ "angular": "1.5.11" ++ } } http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-admin/src/main/resources/ui/admin-web/package.json ---------------------------------------------------------------------- diff --cc ambari-admin/src/main/resources/ui/admin-web/package.json index b7c514c,ab117ef..f718a0a --- a/ambari-admin/src/main/resources/ui/admin-web/package.json +++ b/ambari-admin/src/main/resources/ui/admin-web/package.json @@@ -3,7 -3,7 +3,7 @@@ "version": "0.0.0", "dependencies": {}, "devDependencies": { -- "bower": "1.3.8", ++ "bower": "^1.3.8", "gulp": "^3.8.8", "gulp-add-src": "^0.2.0", "gulp-autoprefixer": "0.0.7", http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-logsearch/ambari-logsearch-web/src/app/components/top-menu/top-menu.component.less ---------------------------------------------------------------------- diff --cc ambari-logsearch/ambari-logsearch-web/src/app/components/top-menu/top-menu.component.less index 32d1beb,257768c..0849fd1 --- a/ambari-logsearch/ambari-logsearch-web/src/app/components/top-menu/top-menu.component.less +++ b/ambari-logsearch/ambari-logsearch-web/src/app/components/top-menu/top-menu.component.less @@@ -20,4 -20,8 +20,7 @@@ :host { .default-flex; margin-right: 0; - + .filters { + display: inline-block; + } } http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts ---------------------------------------------------------------------- diff --cc ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts index a715adc,4adf577..26bad11 --- a/ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts +++ b/ambari-logsearch/ambari-logsearch-web/src/app/services/logs-container.service.ts @@@ -41,8 -42,11 +42,12 @@@ import {ClustersService} from '@app/ser import {ComponentsService} from '@app/services/storage/components.service'; import {HostsService} from '@app/services/storage/hosts.service'; import {ActiveServiceLogEntry} from '@app/classes/active-service-log-entry'; - import {FilterCondition, TimeUnitListItem, SortingListItem} from '@app/classes/filtering'; + import { + FilterCondition, TimeUnitListItem, SortingListItem, SearchBoxParameter, SearchBoxParameterTriggered + } from '@app/classes/filtering'; import {ListItem} from '@app/classes/list-item'; + import {LogsType, ScrollType, SortingType} from '@app/classes/string'; ++ import {Tab} from '@app/classes/models/tab'; import {LogField} from '@app/classes/models/log-field'; import {AuditLog} from '@app/classes/models/audit-log'; @@@ -931,4 -962,9 +963,8 @@@ export class LogsContainerService }, {}); } + isFilterConditionDisplayed(key: string): boolean { + return this.logsTypeMap[this.activeLogsType].listFilters.indexOf(key) > -1 - && Boolean(this.filtersForm.controls[key]); + } + } http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-metrics/ambari-metrics-hadoop-sink/pom.xml ---------------------------------------------------------------------- diff --cc ambari-metrics/ambari-metrics-hadoop-sink/pom.xml index a9d342f,83a2159..33e02d3 --- a/ambari-metrics/ambari-metrics-hadoop-sink/pom.xml +++ b/ambari-metrics/ambari-metrics-hadoop-sink/pom.xml @@@ -116,7 -116,7 +116,6 @@@ limitations under the License </execution> </executions> <configuration> -- <skip>true</skip> <attach>false</attach> <submodules>false</submodules> <controlDir>${project.basedir}/../src/main/package/deb/control</controlDir> http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/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 9bd8dd3,863313b..c88b23c --- 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 @@@ -913,8 -908,8 +913,10 @@@ public class AmbariServer PersistKeyValueService.init(injector.getInstance(PersistKeyValueImpl.class)); KeyService.init(injector.getInstance(PersistKeyValueImpl.class)); BootStrapResource.init(injector.getInstance(BootStrapImpl.class)); - StackAdvisorResourceProvider.init(injector.getInstance(StackAdvisorHelper.class)); + StackAdvisorResourceProvider.init(injector.getInstance(StackAdvisorHelper.class), - injector.getInstance(Configuration.class)); ++ injector.getInstance(Configuration.class)); + RegistryAdvisorResourceProvider.init(injector.getInstance(RegistryAdvisor.class)); ++ StageUtils.setGson(injector.getInstance(Gson.class)); StageUtils.setTopologyManager(injector.getInstance(TopologyManager.class)); StageUtils.setConfiguration(injector.getInstance(Configuration.class)); http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java index 7807865,b9e7d67..028cad3 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java @@@ -41,16 -38,10 +38,14 @@@ import org.apache.ambari.server.control import org.apache.ambari.server.controller.spi.UnsupportedPropertyException; import org.apache.ambari.server.controller.utilities.PredicateHelper; import org.apache.ambari.server.controller.utilities.PropertyHelper; - import org.apache.ambari.server.events.AmbariConfigurationChangedEvent; +import org.apache.ambari.server.events.publishers.AmbariEventPublisher; - import org.apache.ambari.server.orm.dao.AmbariConfigurationDAO; - import org.apache.ambari.server.orm.entities.AmbariConfigurationEntity; import org.apache.ambari.server.security.authorization.RoleAuthorization; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + import com.google.inject.Inject; public class RootServiceComponentConfigurationResourceProvider extends AbstractAuthorizedResourceProvider { @@@ -89,11 -78,8 +84,10 @@@ } @Inject - private AmbariConfigurationDAO ambariConfigurationDAO; - - @Inject + private AmbariEventPublisher publisher; + private RootServiceComponentConfigurationHandlerFactory rootServiceComponentConfigurationHandlerFactory; + + public RootServiceComponentConfigurationResourceProvider() { super(PROPERTIES, PK_PROPERTY_MAP); http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfiguration.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfiguration.java index 6c466ba,193a5c2..108c37a --- a/ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfiguration.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfiguration.java @@@ -15,10 -15,10 +15,12 @@@ package org.apache.ambari.server.ldap.domain; + import java.util.Collections; + import java.util.HashMap; import java.util.Map; - import javax.inject.Inject; ++ + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.slf4j.Logger; http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/state/repository/VersionDefinitionXml.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/state/repository/VersionDefinitionXml.java index 7680ee1,a519d00..2638b40 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/repository/VersionDefinitionXml.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/repository/VersionDefinitionXml.java @@@ -331,9 -317,9 +331,7 @@@ public class VersionDefinitionXml versionToCompare = manifest.releaseVersion; summaryReleaseVersion = manifest.releaseVersion; } -- summary.setVersions(manifest.version, summaryReleaseVersion); -- if (RepositoryType.STANDARD == release.repositoryType) { summary.setUpgrade(true); } else { http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java index 8a32265,933afa2..f413768 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java @@@ -49,11 -49,10 +49,12 @@@ import org.apache.ambari.server.control import org.apache.ambari.server.controller.ConfigGroupRequest; import org.apache.ambari.server.controller.ConfigurationRequest; import org.apache.ambari.server.controller.RequestStatusResponse; + import org.apache.ambari.server.controller.RootComponent; import org.apache.ambari.server.controller.ServiceComponentHostRequest; import org.apache.ambari.server.controller.ServiceComponentRequest; +import org.apache.ambari.server.controller.ServiceGroupRequest; import org.apache.ambari.server.controller.ServiceRequest; +import org.apache.ambari.server.controller.StackV2; import org.apache.ambari.server.controller.internal.AbstractResourceProvider; import org.apache.ambari.server.controller.internal.ComponentResourceProvider; import org.apache.ambari.server.controller.internal.ConfigGroupResourceProvider; @@@ -340,14 -398,13 +341,15 @@@ public class AmbariContext final Set<ServiceComponentHostRequest> requests = new HashSet<>(); - for (Map.Entry<String, Collection<String>> entry : components.entrySet()) { - String service = entry.getKey(); - for (String component : entry.getValue()) { + for (Map.Entry<Service, Collection<ComponentV2>> entry : components.entrySet()) { + Service service = entry.getKey(); + for (ComponentV2 component : entry.getValue()) { //todo: handle this in a generic manner. These checks are all over the code try { - if (cluster.getService(service.getName()) != null && !component.getType().equals("AMBARI_SERVER")) { - if (cluster.getService(service) != null && !component.equals(RootComponent.AMBARI_SERVER.name())) { - requests.add(new ServiceComponentHostRequest(clusterName, service, component, hostName, null)); ++ if (cluster.getService(service.getName()) != null && !RootComponent.AMBARI_SERVER.name().equals("AMBARI_SERVER")) { + requests.add(new ServiceComponentHostRequest(clusterName, service.getServiceGroup().getName(), + service.getName(), component.getName(), hostName, null)); ++ } } catch(AmbariException se) { LOG.warn("Service already deleted from cluster: {}", service); http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java index b207071,fbd0e4b..7155dcc --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java @@@ -21,8 -21,12 +21,9 @@@ package org.apache.ambari.server.topolo import java.util.Collection; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.Map; -import java.util.Set; + import org.apache.ambari.server.StaticallyInject; import org.apache.ambari.server.controller.internal.Stack; import org.apache.ambari.server.state.AutoDeployInfo; import org.apache.ambari.server.state.DependencyConditionInfo; http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java index fa528c8,3ad1a19..bd21b08 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java @@@ -19,15 -19,14 +19,16 @@@ import java.util.HashMap import java.util.HashSet; import java.util.Map; + import org.apache.ambari.server.controller.RootComponent; -import org.apache.ambari.server.controller.internal.Stack; +import org.apache.ambari.server.controller.StackV2; import org.apache.ambari.server.state.PropertyInfo; -import org.apache.ambari.server.topology.Blueprint; +import org.apache.ambari.server.topology.BlueprintV2; import org.apache.ambari.server.topology.ClusterTopology; -import org.apache.ambari.server.topology.HostGroup; +import org.apache.ambari.server.topology.ComponentV2; import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.HostGroupV2; import org.apache.ambari.server.topology.InvalidTopologyException; +import org.apache.ambari.server.topology.Service; import org.apache.ambari.server.topology.TopologyValidator; /** @@@ -82,22 -81,23 +83,23 @@@ public class RequiredPasswordValidator groupEntry.getValue().getConfiguration().getFullProperties(3); Collection<String> processedServices = new HashSet<>(); - Blueprint blueprint = topology.getBlueprint(); - Stack stack = blueprint.getStack(); + BlueprintV2 blueprint = topology.getBlueprint(); - HostGroup hostGroup = blueprint.getHostGroup(hostGroupName); - for (String component : hostGroup.getComponentNames()) { + HostGroupV2 hostGroup = blueprint.getHostGroup(hostGroupName); + for (ComponentV2 component : hostGroup.getComponents()) { //for now, AMBARI is not recognized as a service in Stacks - if (component.getType().equals("AMBARI_SERVER")) { - continue; ++ + if (component.equals(RootComponent.AMBARI_SERVER.name())) { + continue; } - String serviceName = stack.getServiceForComponent(component); - if (processedServices.add(serviceName)) { + Service service = component.getService(); + if (processedServices.add(service.getName())) { //todo: do I need to subtract excluded configs? - Collection<Stack.ConfigProperty> requiredProperties = - stack.getRequiredConfigurationProperties(serviceName, PropertyInfo.PropertyType.PASSWORD); + Collection<StackV2.ConfigProperty> requiredProperties = + service.getStack().getRequiredConfigurationProperties(service.getType(), PropertyInfo.PropertyType.PASSWORD); - for (Stack.ConfigProperty property : requiredProperties) { + for (StackV2.ConfigProperty property : requiredProperties) { String category = property.getType(); String name = property.getName(); if (! propertyExists(topology, groupProperties, category, name)) { http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/python/ambari_server/serverConfiguration.py ---------------------------------------------------------------------- diff --cc ambari-server/src/main/python/ambari_server/serverConfiguration.py index f744fa0,27b4472..aaed5d7 --- a/ambari-server/src/main/python/ambari_server/serverConfiguration.py +++ b/ambari-server/src/main/python/ambari_server/serverConfiguration.py @@@ -1151,8 -1145,9 +1145,9 @@@ def update_ambari_env() return -1 return 0 - - def write_gpl_license_accepted(): - ++ + # default should be false / not accepted + def write_gpl_license_accepted(default_prompt_value = False, text = GPL_LICENSE_PROMPT_TEXT): properties = get_ambari_properties() if properties == -1: err = "Error getting ambari properties" http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java index a0d5815,a1f28f1..5c6f374 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java @@@ -156,8 -151,6 +156,7 @@@ import org.apache.ambari.server.utils.S import org.apache.commons.collections.CollectionUtils; import org.easymock.Capture; import org.easymock.EasyMock; + - import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; @@@ -8164,18 -8146,12 +8152,12 @@@ public class AmbariManagementController Set<HostRequest> requests = new HashSet<>(); requests.clear(); requests.add(new HostRequest(host1, cluster1)); - try { - HostResourceProviderTest.deleteHosts(controller, requests); - fail("Expect failure deleting hosts when components exist and have not been deleted."); - } catch (Exception e) { - } - // Case 2: Delete host that is still part of cluster, but do not specify the cluster_name in the request + // Case 1: Delete host that is still part of cluster, but do not specify the cluster_name in the request Set<ServiceComponentHostRequest> schRequests = new HashSet<>(); // Disable HC for non-clients - schRequests.add(new ServiceComponentHostRequest(cluster1, serviceName, componentName1, host1, "DISABLED")); - schRequests.add(new ServiceComponentHostRequest(cluster1, serviceName, componentName2, host1, "DISABLED")); + schRequests.add(new ServiceComponentHostRequest(cluster1, "", serviceName, componentName1, host1, "DISABLED")); + schRequests.add(new ServiceComponentHostRequest(cluster1, "", serviceName, componentName2, host1, "DISABLED")); updateHostComponents(schRequests, new HashMap<>(), false); // Delete HC http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java index a27dab4,ff0f687..1b2ad02 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java @@@ -163,7 -163,7 +163,8 @@@ public class KerberosIdentityCleanerTes } private void uninstallComponent(String service, String component, String host) throws KerberosMissingAdminCredentialsException { - kerberosIdentityCleaner.componentRemoved(new ServiceComponentUninstalledEvent(CLUSTER_ID, "any", "any", service, component, host, false, -1l)); + kerberosIdentityCleaner.componentRemoved(new ServiceComponentUninstalledEvent(CLUSTER_ID, "any", "any", service, "", "", component, host, false, null)); ++ } private void uninstallService(String service, List<Component> components) throws KerberosMissingAdminCredentialsException { http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java index d792c5c,108159c..a86d125 --- a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java @@@ -514,8 -514,8 +514,8 @@@ public class HostVersionOutOfSyncListen ServiceComponentUninstalledEvent event = new ServiceComponentUninstalledEvent( c1.getClusterId(), clusterStackId.getStackName(), clusterStackId.getStackVersion(), - "HDFS", "", "", "DATANODE", sch.getHostName(), false, null); - "HDFS", "DATANODE", sch.getHostName(), false, -1l); ++ "HDFS", "", "", "DATANODE", sch.getHostName(), false, null); m_eventPublisher.publish(event); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/ldap/LdapModuleFunctionalTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/ldap/LdapModuleFunctionalTest.java index 3917cdf,75c9ea3..69c0893 --- a/ambari-server/src/test/java/org/apache/ambari/server/ldap/LdapModuleFunctionalTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/ldap/LdapModuleFunctionalTest.java @@@ -125,14 -130,6 +130,13 @@@ public class LdapModuleFunctionalTest return ldapPropsMap; } ++ + private static Map<String, String> getADProps() { + Map<String, String> ldapPropsMap = Maps.newHashMap(); - - - + return ldapPropsMap; + } + ++ @Test public void testShouldDetectorsBeBound() throws Exception { // GIVEN http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionServiceTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionServiceTest.java index a44bf7c,e23421e..8622113 --- a/ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionServiceTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionServiceTest.java @@@ -161,9 -156,9 +156,8 @@@ public class DefaultLdapAttributeDetect public void testShouldGroupAttributeDetectionFailWhenLdapOerationFails() throws Exception { // GIVEN Map<String, String> configMap = Maps.newHashMap(); - configMap.put(AmbariLdapConfigKeys.GROUP_SEARCH_BASE.key(), "dc=example,dc=com"); - AmbariLdapConfiguration ldapConfiguration = ldapConfigurationFactory.createLdapConfiguration(configMap); - + configMap.put(AmbariLdapConfigurationKeys.GROUP_SEARCH_BASE.key(), "dc=example,dc=com"); + AmbariLdapConfiguration ldapConfiguration = new AmbariLdapConfiguration(configMap); - EasyMock.expect(ldapConnectionTemplateFactoryMock.create(ldapConfiguration)).andThrow(new AmbariLdapException("Testing ...")); // WHEN http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/topology/BlueprintImplTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-web/app/controllers/global/update_controller.js ---------------------------------------------------------------------- diff --cc ambari-web/app/controllers/global/update_controller.js index eee4720,1d4dd86..39f7808 --- a/ambari-web/app/controllers/global/update_controller.js +++ b/ambari-web/app/controllers/global/update_controller.js @@@ -537,8 -536,8 +537,8 @@@ App.UpdateController = Em.Controller.ex updateComponentsState: function (callback) { var testUrl = '/data/services/HDP2/components_state.json'; - var realUrl = '/components/?fields=ServiceComponentInfo/service_name,' + - 'ServiceComponentInfo/category,ServiceComponentInfo/installed_count,ServiceComponentInfo/installed_and_maintenance_off_count,ServiceComponentInfo/started_count,ServiceComponentInfo/init_count,ServiceComponentInfo/install_failed_count,ServiceComponentInfo/unknown_count,ServiceComponentInfo/total_count,ServiceComponentInfo/display_name,host_components/HostRoles/host_name&minimal_response=true'; + var realUrl = '/components/?fields=ServiceComponentInfo/service_name,ServiceComponentInfo/service_type,' + - 'ServiceComponentInfo/category,ServiceComponentInfo/installed_count,ServiceComponentInfo/started_count,ServiceComponentInfo/init_count,ServiceComponentInfo/install_failed_count,ServiceComponentInfo/unknown_count,ServiceComponentInfo/total_count,ServiceComponentInfo/display_name,host_components/HostRoles/host_name&minimal_response=true'; ++ 'ServiceComponentInfo/category,ServiceComponentInfo/installed_count,ServiceComponentInfo/installed_and_maintenance_off_count,ServiceComponentInfo/started_count,ServiceComponentInfo/init_count,ServiceComponentInfo/install_failed_count,ServiceComponentInfo/unknown_count,ServiceComponentInfo/total_count,ServiceComponentInfo/display_name,host_components/HostRoles/host_name&minimal_response=true'; var url = this.getUrl(testUrl, realUrl); App.HttpClient.get(url, App.componentsStateMapper, { http://git-wip-us.apache.org/repos/asf/ambari/blob/1efc4f0c/ambari-web/app/controllers/installer.js ---------------------------------------------------------------------- diff --cc ambari-web/app/controllers/installer.js index 4db0232,f49fc11..6f8996b --- a/ambari-web/app/controllers/installer.js +++ b/ambari-web/app/controllers/installer.js @@@ -1191,10 -1069,8 +1194,10 @@@ App.InstallerController = App.WizardCon }, setStepsEnable: function () { - for (var i = 0; i <= this.totalSteps; i++) { - this.get('isStepDisabled').findProperty('step', i).set('value', i > this.get('currentStep')); + const steps = this.get('steps'); - for (let i = 0, length = steps.length; i < length; i++) { ++ for (var i = 0, length = steps.length; i < length; i++) { + const stepIndex = this.getStepIndex(steps[i]); + this.get('isStepDisabled').findProperty('step', stepIndex).set('value', stepIndex > this.get('currentStep')); } }.observes('currentStep'),
