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'),
  

Reply via email to