Merge branch 'trunk' into branch-feature-AMBARI-14714
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ddb5a411 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ddb5a411 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ddb5a411 Branch: refs/heads/branch-feature-AMBARI-14714 Commit: ddb5a41123264cdcfcf096f86c4ba93e269a6c00 Parents: 259036f 6d676a9 Author: Madhuvanthi Radhakrishnan <[email protected]> Authored: Mon Oct 30 14:48:28 2017 -0700 Committer: Madhuvanthi Radhakrishnan <[email protected]> Committed: Mon Oct 30 14:48:28 2017 -0700 ---------------------------------------------------------------------- .gitignore | 3 + .../ui/admin-web/app/scripts/i18n.config.js | 2 +- .../src/main/python/ambari_agent/ActionQueue.py | 5 +- .../core/providers/package/__init__.py | 2 +- .../core/providers/package/apt.py | 23 +- .../core/providers/package/yumrpm.py | 79 +- .../core/providers/package/zypper.py | 37 +- .../libraries/functions/repository_util.py | 79 +- .../libraries/script/script.py | 4 +- ambari-funtest/pom.xml | 67 - ambari-infra/ambari-infra-assembly/pom.xml | 4 + .../solr/AmbariSolrCloudClientBuilder.java | 4 +- .../solr/commands/CreateCollectionCommand.java | 12 +- .../infra/solr/commands/CreateShardCommand.java | 5 +- .../infra/solr/commands/GetShardsCommand.java | 2 +- ambari-infra/pom.xml | 2 +- .../ambari-logsearch-assembly/pom.xml | 4 +- .../ambari-logsearch-logfeeder/pom.xml | 4 + .../ambari/logfeeder/input/InputFile.java | 4 +- .../ambari-logsearch-server/pom.xml | 4 + .../ambari-logsearch-web/package.json | 2 +- ambari-logsearch/ambari-logsearch-web/pom.xml | 3 + .../ambari-logsearch-web/src/app/app.module.ts | 6 + .../src/app/classes/filtering.ts | 369 + .../src/app/classes/models/app-state.ts | 14 +- .../src/app/classes/models/store.ts | 12 +- .../src/app/classes/models/tab.ts | 53 + .../accordion-panel.component.less | 2 +- .../src/app/components/app.component.less | 2 +- .../collapsible-panel.component.html | 27 + .../collapsible-panel.component.less | 42 + .../collapsible-panel.component.spec.ts | 139 + .../collapsible-panel.component.ts | 89 + .../dropdown-button.component.less | 2 +- .../dropdown-button.component.spec.ts | 18 +- .../dropdown-list/dropdown-list.component.less | 2 +- .../dropdown-list.component.spec.ts | 7 +- .../filter-button.component.spec.ts | 18 +- .../filter-dropdown.component.spec.ts | 18 +- .../filters-panel/filters-panel.component.html | 19 +- .../filters-panel/filters-panel.component.less | 6 +- .../filters-panel.component.spec.ts | 5 +- .../filters-panel/filters-panel.component.ts | 44 +- .../log-context/log-context.component.spec.ts | 5 +- .../log-file-entry.component.less | 2 +- .../logs-container.component.html | 21 +- .../logs-container.component.less | 7 +- .../logs-container.component.spec.ts | 16 +- .../logs-container/logs-container.component.ts | 118 +- .../logs-list/logs-list.component.html | 24 +- .../logs-list/logs-list.component.less | 2 +- .../components/logs-list/logs-list.component.ts | 25 +- .../main-container.component.html | 10 +- .../main-container.component.less | 6 +- .../main-container.component.spec.ts | 15 +- .../main-container/main-container.component.ts | 51 +- .../src/app/components/main.less | 20 + .../menu-button/menu-button.component.less | 18 +- .../menu-button/menu-button.component.spec.ts | 18 +- .../menu-button/menu-button.component.ts | 5 +- .../src/app/components/mixins.less | 200 + .../pagination-controls.component.less | 2 +- .../pagination/pagination.component.html | 2 +- .../pagination/pagination.component.less | 4 +- .../pagination/pagination.component.ts | 6 +- .../search-box/search-box.component.less | 2 +- .../src/app/components/tabs/tabs.component.html | 25 + .../src/app/components/tabs/tabs.component.less | 22 + .../app/components/tabs/tabs.component.spec.ts | 125 + .../src/app/components/tabs/tabs.component.ts | 48 + .../time-histogram.component.less | 3 +- .../time-range-picker.component.less | 2 +- .../time-range-picker.component.spec.ts | 13 +- .../time-range-picker.component.ts | 4 +- .../timezone-picker.component.spec.ts | 18 +- .../components/top-menu/top-menu.component.html | 2 +- .../components/top-menu/top-menu.component.less | 2 +- .../src/app/components/variables.less | 123 +- .../services/component-actions.service.spec.ts | 5 +- .../app/services/component-actions.service.ts | 33 +- .../component-generator.service.spec.ts | 7 +- .../src/app/services/filtering.service.spec.ts | 3 + .../src/app/services/filtering.service.ts | 341 +- .../app/services/logs-container.service.spec.ts | 5 +- .../src/app/services/logs-container.service.ts | 60 +- .../app/services/storage/reducers.service.ts | 4 +- .../src/app/services/storage/tabs.service.ts | 33 + .../src/assets/i18n/en.json | 11 +- ambari-logsearch/docker/.gitignore | 1 + ambari-logsearch/docker/Dockerfile | 19 +- ambari-logsearch/docker/all.yml | 40 + ambari-logsearch/docker/bin/start.sh | 92 +- ambari-logsearch/docker/docker-compose.yml | 89 + ambari-logsearch/docker/logsearch-docker.sh | 51 +- ambari-logsearch/docker/logsearch-logfeeder.yml | 35 + ambari-logsearch/docker/logsearch-server.yml | 35 + ambari-logsearch/docker/solr.yml | 34 + ambari-logsearch/docker/zookeeper.yml | 52 + ambari-logsearch/pom.xml | 3 +- ambari-metrics/ambari-metrics-assembly/pom.xml | 2 + ambari-metrics/ambari-metrics-common/pom.xml | 6 + .../ambari-metrics-timelineservice/pom.xml | 10 + ambari-project/pom.xml | 52 +- ambari-server/pom.xml | 83 +- ambari-server/src/main/assemblies/server.xml | 10 + .../ambari/server/agent/CommandRepository.java | 85 + .../ambari/server/agent/ExecutionCommand.java | 1 + .../resources/ResourceInstanceFactoryImpl.java | 4 + .../AmbariConfigurationRequestSwagger.java | 47 + .../AmbariConfigurationResponseSwagger.java | 40 + .../services/AmbariConfigurationService.java | 193 + .../api/services/ldap/AmbariConfiguration.java | 87 + .../api/services/ldap/LdapConfigOperation.java | 43 + .../services/ldap/LdapConfigurationRequest.java | 49 + .../services/ldap/LdapConfigurationService.java | 185 + .../api/services/ldap/LdapRequestInfo.java | 61 + .../stackadvisor/StackAdvisorRequest.java | 12 + .../commands/StackAdvisorCommand.java | 54 + .../server/checks/AbstractCheckDescriptor.java | 81 +- .../ambari/server/checks/CheckDescription.java | 8 + .../RequiredServicesInRepositoryCheck.java | 91 + .../ambari/server/checks/UpgradeCheck.java | 11 + .../server/configuration/Configuration.java | 13 + .../controller/AmbariActionExecutionHelper.java | 1 - .../AmbariCustomCommandExecutionHelper.java | 18 +- .../controller/AmbariManagementController.java | 6 +- .../AmbariManagementControllerImpl.java | 63 +- .../controller/AmbariManagementHelper.java | 26 + .../ambari/server/controller/AmbariServer.java | 3 +- .../server/controller/ControllerModule.java | 3 + .../server/controller/KerberosHelperImpl.java | 2 +- .../controller/ResourceProviderFactory.java | 24 +- .../AbstractControllerResourceProvider.java | 2 + .../internal/AbstractProviderModule.java | 2 +- .../AmbariConfigurationResourceProvider.java | 328 + .../BlueprintConfigurationProcessor.java | 6 - .../ClusterStackVersionResourceProvider.java | 31 +- .../internal/DefaultProviderModule.java | 24 +- .../internal/ExtensionLinkResourceProvider.java | 15 + .../internal/ServiceResourceProvider.java | 2 +- .../ambari/server/controller/spi/Resource.java | 5 +- .../ambari/server/events/AmbariEvent.java | 11 +- .../events/AmbariLdapConfigChangedEvent.java | 37 + .../apache/ambari/server/ldap/LdapModule.java | 82 + .../ldap/domain/AmbariLdapConfigKeys.java | 83 + .../ldap/domain/AmbariLdapConfiguration.java | 199 + .../domain/AmbariLdapConfigurationFactory.java | 34 + .../AmbariLdapConfigurationProvider.java | 120 + .../ldap/service/AmbariLdapException.java | 33 + .../server/ldap/service/AmbariLdapFacade.java | 140 + .../server/ldap/service/AttributeDetector.java | 41 + .../service/LdapAttributeDetectionService.java | 40 + .../ldap/service/LdapConfigurationService.java | 60 + .../service/LdapConnectionConfigService.java | 36 + .../ambari/server/ldap/service/LdapFacade.java | 58 + .../DefaultLdapAttributeDetectionService.java | 200 + .../ads/DefaultLdapConfigurationService.java | 213 + .../ads/DefaultLdapConnectionConfigService.java | 113 + .../ads/LdapConnectionTemplateFactory.java | 111 + .../ads/detectors/AttributeDetectorFactory.java | 75 + .../ads/detectors/ChainedAttributeDetector.java | 73 + .../ads/detectors/GroupMemberAttrDetector.java | 65 + .../ads/detectors/GroupNameAttrDetector.java | 70 + .../ads/detectors/GroupObjectClassDetector.java | 73 + .../OccurrenceAndWeightBasedDetector.java | 143 + .../detectors/UserGroupMemberAttrDetector.java | 64 + .../ads/detectors/UserNameAttrDetector.java | 71 + .../ads/detectors/UserObjectClassDetector.java | 69 + .../ambari/server/orm/DBAccessorImpl.java | 24 +- .../server/orm/dao/AmbariConfigurationDAO.java | 89 + .../apache/ambari/server/orm/dao/DaoUtils.java | 13 +- .../orm/entities/AmbariConfigurationEntity.java | 70 + .../orm/entities/ConfigurationBaseEntity.java | 159 + .../orm/entities/RepositoryVersionEntity.java | 32 +- .../orm/entities/ServiceDesiredStateEntity.java | 4 +- .../authorization/RoleAuthorization.java | 95 +- .../AbstractPrepareKerberosServerAction.java | 14 + .../AtlasProxyUserConfigCalculation.java | 62 + .../serveraction/upgrades/ConfigureAction.java | 5 + .../upgrades/FinalizeUpgradeAction.java | 70 +- .../upgrades/PreconfigureKerberosAction.java | 13 + .../ambari/server/stack/ExtensionHelper.java | 31 +- .../ambari/server/stack/MasterHostResolver.java | 2 +- .../ambari/server/state/RepositoryType.java | 18 + .../ambari/server/state/UpgradeContext.java | 57 +- .../server/state/repository/StackPackage.java | 69 + .../state/repository/VersionDefinitionXml.java | 87 + .../ambari/server/state/stack/UpgradePack.java | 30 +- .../state/stack/upgrade/ClusterGrouping.java | 13 + .../state/stack/upgrade/ConfigureTask.java | 16 + .../stack/upgrade/RepositoryVersionHelper.java | 21 +- .../server/upgrade/UpgradeCatalog260.java | 38 + .../main/resources/Ambari-DDL-Derby-CREATE.sql | 22 + .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 21 + .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 29 +- .../resources/Ambari-DDL-Postgres-CREATE.sql | 26 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 21 + .../resources/Ambari-DDL-SQLServer-CREATE.sql | 21 + .../src/main/resources/META-INF/persistence.xml | 2 + .../package/scripts/accumulo_script.py | 1 + .../0.1.0/package/scripts/metrics_collector.py | 4 +- .../0.1.0/package/scripts/metrics_grafana.py | 4 +- .../0.1.0/package/scripts/metrics_monitor.py | 4 +- .../DRUID/0.10.1/package/scripts/druid_node.py | 1 + .../DRUID/0.10.1/themes/theme.json | 26 +- .../0.96.0.2.0/configuration/hbase-site.xml | 17 +- .../HIVE/0.12.0.2.0/configuration/hive-site.xml | 228 +- .../HIVE/0.12.0.2.0/package/scripts/hive.py | 34 +- .../package/scripts/hive_interactive.py | 13 + .../0.12.0.2.0/package/scripts/params_linux.py | 4 + .../HIVE/2.1.0.3.0/configuration/hive-site.xml | 48 + .../HIVE/2.1.0.3.0/package/scripts/hive.py | 32 + .../package/scripts/hive_interactive.py | 13 + .../2.1.0.3.0/package/scripts/params_linux.py | 4 + .../LOGSEARCH/0.5.0/metainfo.xml | 6 +- .../0.4.0/package/scripts/ranger_admin.py | 23 +- .../0.4.0/package/scripts/ranger_tagsync.py | 23 +- .../1.0.0.3.0/package/scripts/ranger_admin.py | 24 +- .../1.0.0.3.0/package/scripts/ranger_tagsync.py | 23 +- .../0.5.0.2.3/package/scripts/kms_server.py | 21 +- .../1.0.0.3.0/package/scripts/kms_server.py | 19 +- .../package/scripts/supervisord_service.py | 1 + .../package/scripts/supervisord_service.py | 1 + .../SUPERSET/0.15.0/themes/theme.json | 22 +- .../2.1.0.2.0/package/scripts/params_linux.py | 34 +- .../2.1.0.2.0/package/scripts/status_params.py | 52 +- .../YARN/3.0.0.3.0/configuration/yarn-site.xml | 2 +- .../3.0.0.3.0/package/scripts/params_linux.py | 53 +- .../3.0.0.3.0/package/scripts/status_params.py | 52 +- .../YARN/3.0.0.3.0/service_advisor.py | 3 +- .../ZEPPELIN/0.7.0/package/scripts/master.py | 134 +- .../ZEPPELIN/0.7.0/package/scripts/params.py | 26 +- .../ZOOKEEPER/3.4.5/metainfo.xml | 1 + .../custom_actions/scripts/install_packages.py | 5 +- .../HDP/2.0.6/properties/stack_packages.json | 8 +- .../stacks/HDP/2.0.6/role_command_order.json | 2 +- .../stacks/HDP/2.3/upgrades/config-upgrade.xml | 7 + .../HDP/2.3/upgrades/nonrolling-upgrade-2.6.xml | 3 + .../stacks/HDP/2.3/upgrades/upgrade-2.6.xml | 1 + .../stacks/HDP/2.4/upgrades/config-upgrade.xml | 6 + .../HDP/2.4/upgrades/nonrolling-upgrade-2.6.xml | 3 + .../stacks/HDP/2.4/upgrades/upgrade-2.6.xml | 1 + .../stacks/HDP/2.5/services/stack_advisor.py | 3 +- .../stacks/HDP/2.5/upgrades/config-upgrade.xml | 12 + .../HDP/2.5/upgrades/nonrolling-upgrade-2.6.xml | 7 + .../stacks/HDP/2.5/upgrades/upgrade-2.6.xml | 4 + .../configuration/application-properties.xml | 15 + .../stacks/HDP/2.6/services/DRUID/kerberos.json | 45 +- .../configuration/hive-interactive-site.xml | 225 + .../services/STORM/configuration/storm-site.xml | 6 +- .../HDP/2.6/services/SUPERSET/kerberos.json | 10 +- .../services/YARN/configuration/yarn-site.xml | 2 +- .../stacks/HDP/2.6/services/stack_advisor.py | 22 +- .../stacks/HDP/2.6/upgrades/config-upgrade.xml | 34 +- .../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml | 15 +- .../stacks/HDP/2.6/upgrades/upgrade-2.6.xml | 5 + .../stacks/HDP/3.0/role_command_order.json | 2 +- .../resources/stacks/PERF/1.0/hdp_urlinfo.json | 12 + .../stacks/PERF/1.0/repos/repoinfo.xml | 1 + .../src/main/resources/stacks/PERF/1.0/vdf.xml | 73 + .../resources/stacks/PERF/2.0/hdp_urlinfo.json | 12 + .../stacks/PERF/2.0/repos/repoinfo.xml | 1 + .../src/main/resources/stacks/PERF/2.0/vdf.xml | 74 + .../commands/StackAdvisorCommandTest.java | 212 + .../checks/AbstractCheckDescriptorTest.java | 3 + .../checks/AutoStartDisabledCheckTest.java | 12 +- .../checks/ClientRetryPropertyCheckTest.java | 2 + .../checks/ComponentExistsInRepoCheckTest.java | 2 + .../checks/ComponentsInstallationCheckTest.java | 3 + .../checks/ConfigurationMergeCheckTest.java | 2 + .../checks/DruidHighAvailabilityCheckTest.java | 2 + .../checks/HiveMultipleMetastoreCheckTest.java | 3 + .../checks/HiveNotRollingWarningTest.java | 3 + .../server/checks/HostsHeartbeatCheckTest.java | 2 + .../checks/HostsMasterMaintenanceCheckTest.java | 5 +- .../checks/HostsRepositoryVersionCheckTest.java | 2 + .../server/checks/InstallPackagesCheckTest.java | 2 + .../server/checks/KafkaKerberosCheckTest.java | 2 + ...duce2JobHistoryStatePreservingCheckTest.java | 2 + .../server/checks/RangerAuditDbCheckTest.java | 3 + .../server/checks/RangerPasswordCheckTest.java | 3 + .../server/checks/RangerSSLConfigCheckTest.java | 3 + .../RequiredServicesInRepositoryCheckTest.java | 115 + .../SecondaryNamenodeDeletedCheckTest.java | 3 + .../ServicesMaintenanceModeCheckTest.java | 2 + ...vicesMapReduceDistributedCacheCheckTest.java | 3 + ...rvicesNamenodeHighAvailabilityCheckTest.java | 3 + .../ServicesNamenodeTruncateCheckTest.java | 2 + .../ServicesTezDistributedCacheCheckTest.java | 3 + .../server/checks/ServicesUpCheckTest.java | 2 + .../ServicesYarnWorkPreservingCheckTest.java | 2 + .../server/checks/StormShutdownWarningTest.java | 3 + .../server/checks/UpgradeCheckOrderTest.java | 3 +- ...AmbariConfigurationResourceProviderTest.java | 251 + .../BlueprintConfigurationProcessorTest.java | 28 - ...ClusterStackVersionResourceProviderTest.java | 2 + .../StackAdvisorResourceProviderTest.java | 97 +- .../internal/UpgradeResourceProviderTest.java | 13 + .../server/ldap/LdapModuleFunctionalTest.java | 149 + .../TestAmbariLdapConfigurationFactory.java | 29 + .../ldap/service/AmbariLdapFacadeTest.java | 215 + ...efaultLdapAttributeDetectionServiceTest.java | 188 + .../DefaultLdapConfigurationServiceTest.java | 221 + .../detectors/GroupMemberAttrDetectorTest.java | 107 + .../notifications/DispatchFactoryTest.java | 3 +- .../server/orm/InMemoryDefaultTestModule.java | 2 + .../ambari/server/orm/JdbcPropertyTest.java | 5 +- ...uthenticationProviderForDNWithSpaceTest.java | 35 +- .../AmbariLdapAuthenticationProviderTest.java | 3 +- .../AmbariLocalUserProviderTest.java | 3 +- .../authorization/LdapServerPropertiesTest.java | 5 +- ...AbstractPrepareKerberosServerActionTest.java | 5 + .../AtlasProxyUserConfigCalculationTest.java | 127 + .../server/stack/StackManagerExtensionTest.java | 22 +- .../ambari/server/state/CheckHelperTest.java | 7 + .../ambari/server/state/UpgradeContextTest.java | 38 +- .../state/stack/ConfigUpgradeValidityTest.java | 10 + .../src/test/python/TestAmbariServer.py | 4 - .../configs/install_packages_config.json | 1 + .../install_packages_repository_file.json | 1 + .../stacks/2.0.6/configs/repository_file.json | 1 + .../stacks/2.5/HIVE/test_hive_server_int.py | 16 + .../stacks/2.5/common/test_stack_advisor.py | 5 +- .../stacks/2.6/ZEPPELIN/test_zeppelin_070.py | 111 +- .../stacks/2.6/common/test_stack_advisor.py | 32 +- .../resources/extensions/EXT/0.2/metainfo.xml | 4 +- .../resources/extensions/EXT/0.4/metainfo.xml | 32 + .../EXT/0.4/services/OOZIE2/metainfo.xml | 118 + .../services/OOZIE2/themes/broken_theme.json | 3 + ambari-utility/pom.xml | 6 + ambari-web/app/app.js | 24 +- ambari-web/app/assets/test/tests.js | 3 + .../main/admin/stack_and_upgrade_controller.js | 4 +- .../main/dashboard/config_history_controller.js | 92 +- .../main/service/reassign/step3_controller.js | 18 +- ambari-web/app/messages.js | 24 +- .../mixins/wizard/assign_master_components.js | 2 +- .../app/models/alerts/alert_definition.js | 18 +- ambari-web/app/models/alerts/alert_group.js | 2 +- .../models/configs/service_config_version.js | 9 +- ambari-web/app/models/host_stack_version.js | 4 +- ambari-web/app/routes/installer.js | 3 +- ambari-web/app/routes/main.js | 2 +- ambari-web/app/styles/application.less | 16 +- ambari-web/app/styles/common.less | 2 +- ambari-web/app/styles/dashboard.less | 6 +- ambari-web/app/styles/hosts.less | 89 +- .../app/styles/theme/bootstrap-ambari.css | 5 +- ambari-web/app/styles/visualsearch.less | 100 + ambari-web/app/styles/wizard.less | 24 +- .../common/configs/config_history_flow.hbs | 8 +- .../common/configs/service_version_box.hbs | 8 +- .../templates/common/host_progress_popup.hbs | 6 +- .../modal_popups/widget_browser_popup.hbs | 6 +- ambari-web/app/templates/experimental.hbs | 6 +- ambari-web/app/templates/installer.hbs | 2 +- .../main/admin/stack_upgrade/versions.hbs | 6 +- ambari-web/app/templates/main/alerts.hbs | 22 +- .../alert_definition_summary.hbs | 2 +- .../main/alerts/alert_definitions_actions.hbs | 2 +- ambari-web/app/templates/main/dashboard.hbs | 2 +- .../templates/main/dashboard/config_history.hbs | 25 +- ambari-web/app/templates/main/host.hbs | 32 +- .../templates/main/host/bulk_operation_menu.hbs | 134 +- .../templates/main/host/combo_search_box.hbs | 9 +- .../main/host/details/host_component.hbs | 176 +- .../app/templates/main/host/stack_versions.hbs | 4 +- ambari-web/app/templates/main/host/summary.hbs | 120 +- .../templates/main/service/reassign/step3.hbs | 6 +- .../templates/main/service/services/hdfs.hbs | 116 +- .../templates/main/service/services/yarn.hbs | 184 +- ambari-web/app/utils/ajax/ajax.js | 4 + ambari-web/app/utils/helper.js | 23 + ambari-web/app/views.js | 3 + ambari-web/app/views/common/search_box_view.js | 165 + ambari-web/app/views/common/table_view.js | 11 + .../stack_upgrade/upgrade_version_box_view.js | 4 +- .../upgrade_version_column_view.js | 1 - .../app/views/main/alert_definitions_view.js | 264 - .../alert_definition_summary.js | 2 +- .../app/views/main/alerts/alert_search_box.js | 195 + .../main/dashboard/config_history_search_box.js | 221 + .../views/main/dashboard/config_history_view.js | 101 - .../app/views/main/host/combo_search_box.js | 36 +- .../views/main/host/hosts_table_menu_view.js | 4 +- .../app/views/main/host/stack_versions_view.js | 2 +- ambari-web/app/views/main/service/item.js | 2 +- .../app/views/main/service/services/yarn.js | 21 +- ambari-web/test/init_test.js | 8 + .../wizard/assign_master_components_test.js | 2 +- .../test/models/alerts/alert_group_test.js | 5 +- .../test/views/common/search_box_view_test.js | 240 + .../views/main/alert_definitions_view_test.js | 152 - .../views/main/alerts/alert_search_box_test.js | 168 + .../dashboard/config_history_search_box_test.js | 207 + .../main/dashboard/config_history_view_test.js | 188 +- .../views/main/host/combo_search_box_test.js | 66 +- ambari-web/test/views/main/service/item_test.js | 6 +- .../views/main/service/services/yarn_test.js | 22 - .../vendor/scripts/theme/bootstrap-ambari.js | 30 +- .../view/hive20/resources/browser/DDLProxy.java | 154 +- .../hive20/resources/uploads/UploadService.java | 12 +- .../uploads/query/InsertFromQueryInput.java | 13 +- .../databases/database/tables/upload-table.js | 12 + contrib/views/storm/pom.xml | 103 +- .../src/main/resources/images/icon-bolt.png | Bin 2157 -> 0 bytes .../src/main/resources/images/icon-spout.png | Bin 2620 -> 0 bytes .../storm/src/main/resources/images/loader.gif | Bin 15017 -> 0 bytes .../views/storm/src/main/resources/index.html | 45 - .../js/backbone-paginator.min.js | 1325 -- .../main/resources/libs/Backbone/js/Backbone.js | 1920 -- .../libs/Bootstrap/css/bootstrap-editable.css | 663 - .../libs/Bootstrap/css/bootstrap-slider.min.css | 28 - .../libs/Bootstrap/css/bootstrap-switch.min.css | 22 - .../resources/libs/Bootstrap/css/bootstrap.css | 5959 ----- .../fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 288 - .../fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes .../resources/libs/Bootstrap/images/clear.png | Bin 509 -> 0 bytes .../resources/libs/Bootstrap/images/loading.gif | Bin 1849 -> 0 bytes .../libs/Bootstrap/js/bootstrap-editable.min.js | 7 - .../libs/Bootstrap/js/bootstrap-notify.min.js | 1 - .../libs/Bootstrap/js/bootstrap-slider.min.js | 29 - .../libs/Bootstrap/js/bootstrap-switch.min.js | 22 - .../libs/Bootstrap/js/bootstrap.min.js | 7 - .../libs/Font-Awesome/css/font-awesome.min.css | 4 - .../libs/Font-Awesome/fonts/FontAwesome.otf | Bin 109688 -> 0 bytes .../Font-Awesome/fonts/fontawesome-webfont.eot | Bin 70807 -> 0 bytes .../Font-Awesome/fonts/fontawesome-webfont.svg | 655 - .../Font-Awesome/fonts/fontawesome-webfont.ttf | Bin 142072 -> 0 bytes .../Font-Awesome/fonts/fontawesome-webfont.woff | Bin 83588 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 66624 -> 0 bytes .../resources/libs/Underscore/js/Underscore.js | 1548 -- .../resources/libs/bootbox/js/bootbox.min.js | 6 - .../src/main/resources/libs/d3/js/d3-tip.min.js | 1 - .../src/main/resources/libs/d3/js/d3.min.js | 5 - .../resources/libs/dagre-d3/dagre-d3.min.js | 28 - .../libs/jQuery/js/jquery-2.2.3.min.js | 4 - .../main/resources/libs/jsx/JSXTransformer.js | 15201 ------------ .../storm/src/main/resources/libs/jsx/jsx.js | 75 - .../main/resources/libs/react/js/react-dom.js | 42 - .../libs/react/js/react-with-addons.js | 20775 ----------------- .../resources/libs/require-js/js/require.min.js | 36 - .../main/resources/libs/require-text/js/text.js | 390 - .../scripts/collections/BaseCollection.js | 197 - .../scripts/collections/VNimbusConfigList.js | 52 - .../scripts/collections/VNimbusList.js | 52 - .../scripts/collections/VSupervisorList.js | 52 - .../scripts/collections/VTopologyConfigList.js | 49 - .../scripts/collections/VTopologyList.js | 52 - .../resources/scripts/components/BarChart.jsx | 402 - .../scripts/components/Breadcrumbs.jsx | 50 - .../main/resources/scripts/components/Modal.jsx | 60 - .../scripts/components/RadialChart.jsx | 127 - .../resources/scripts/components/SearchLogs.jsx | 89 - .../main/resources/scripts/components/Table.jsx | 101 - .../scripts/components/TopologyGraph.jsx | 199 - .../scripts/containers/ClusterSummary.jsx | 122 - .../scripts/containers/NimbusConfigSummary.jsx | 103 - .../scripts/containers/NimbusSummary.jsx | 139 - .../scripts/containers/SupervisorSummary.jsx | 155 - .../containers/TopologyConfiguration.jsx | 93 - .../scripts/containers/TopologyDetailGraph.jsx | 66 - .../scripts/containers/TopologyListing.jsx | 188 - .../storm/src/main/resources/scripts/main.js | 98 - .../main/resources/scripts/models/BaseModel.js | 83 - .../main/resources/scripts/models/VCluster.js | 42 - .../main/resources/scripts/models/VNimbus.js | 42 - .../resources/scripts/models/VNimbusConfig.js | 42 - .../resources/scripts/models/VSupervisor.js | 42 - .../main/resources/scripts/models/VTopology.js | 90 - .../resources/scripts/models/VTopologyConfig.js | 34 - .../scripts/modules/Table/PageableTable.jsx | 47 - .../scripts/modules/Table/Pagination.jsx | 161 - .../src/main/resources/scripts/router/Router.js | 123 - .../src/main/resources/scripts/utils/Globals.js | 30 - .../main/resources/scripts/utils/Overrides.js | 30 - .../src/main/resources/scripts/utils/Utils.js | 113 - .../scripts/views/ComponentDetailView.jsx | 534 - .../main/resources/scripts/views/Dashboard.jsx | 65 - .../src/main/resources/scripts/views/Footer.jsx | 48 - .../scripts/views/NimbusSummaryView.jsx | 65 - .../resources/scripts/views/ProfilingView.jsx | 214 - .../resources/scripts/views/RebalanceView.jsx | 223 - .../scripts/views/SupervisorSummaryView.jsx | 65 - .../scripts/views/TopologyDetailView.jsx | 1039 - .../scripts/views/TopologyListingView.jsx | 65 - .../storm/src/main/resources/styles/style.css | 579 - .../views/storm/src/main/resources/ui/.babelrc | 25 + .../src/main/resources/ui/.eslintignore.js | 3 + .../storm/src/main/resources/ui/.eslintrc.js | 58 + .../src/main/resources/ui/app/scripts/app.js | 40 + .../ui/app/scripts/components/BarChart.jsx | 429 + .../ui/app/scripts/components/Breadcrumbs.jsx | 45 + .../app/scripts/components/CommonExpanded.jsx | 30 + .../scripts/components/CommonNotification.jsx | 69 + .../app/scripts/components/CommonPagination.jsx | 56 + .../components/CommonSwitchComponent.jsx | 41 + .../scripts/components/CommonWindowPanel.jsx | 99 + .../scripts/components/CustomToastContainer.jsx | 41 + .../ui/app/scripts/components/Editable.jsx | 127 + .../ui/app/scripts/components/FSModel.jsx | 149 + .../ui/app/scripts/components/FSReactToastr.jsx | 37 + .../ui/app/scripts/components/Footer.jsx | 28 + .../scripts/components/LogLevelComponent.jsx | 236 + .../ui/app/scripts/components/ProfilingView.jsx | 168 + .../ui/app/scripts/components/RadialChart.jsx | 134 + .../scripts/components/RebalanceTopology.jsx | 152 + .../ui/app/scripts/components/SearchLogs.jsx | 84 + .../ui/app/scripts/components/TopologyGraph.jsx | 208 + .../ui/app/scripts/containers/BaseContainer.jsx | 50 + .../app/scripts/containers/ClusterSummary.jsx | 125 + .../scripts/containers/ComponentDetailView.jsx | 714 + .../ui/app/scripts/containers/Dashboard.jsx | 52 + .../scripts/containers/NimbusConfigSummary.jsx | 126 + .../ui/app/scripts/containers/NimbusSummary.jsx | 150 + .../scripts/containers/SupervisorSummary.jsx | 165 + .../scripts/containers/TopologyDetailView.jsx | 862 + .../app/scripts/containers/TopologyListing.jsx | 222 + .../src/main/resources/ui/app/scripts/main.js | 46 + .../ui/app/scripts/rest/TopologyREST.js | 118 + .../resources/ui/app/scripts/routers/routes.jsx | 68 + .../resources/ui/app/scripts/utils/Constants.js | 45 + .../resources/ui/app/scripts/utils/Utils.js | 51 + .../resources/ui/app/styles/css/bootstrap.css | 6757 ++++++ .../ui/app/styles/css/font-awesome.min.css | 4 + .../main/resources/ui/app/styles/css/style.css | 836 + .../resources/ui/app/styles/css/toastr.min.css | 1 + .../ui/app/styles/fonts/fontawesome-webfont.eot | Bin 0 -> 76518 bytes .../ui/app/styles/fonts/fontawesome-webfont.svg | 685 + .../ui/app/styles/fonts/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes .../app/styles/fonts/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../app/styles/fonts/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../resources/ui/app/styles/img/icon-bolt.png | Bin 0 -> 2157 bytes .../resources/ui/app/styles/img/icon-spout.png | Bin 0 -> 2620 bytes .../main/resources/ui/app/styles/img/loader.gif | Bin 0 -> 15017 bytes .../resources/ui/config/webpack.config.base.js | 101 + .../ui/config/webpack.config.development.js | 64 + .../ui/config/webpack.config.production.js | 131 + .../storm/src/main/resources/ui/dev-server.js | 101 + .../storm/src/main/resources/ui/index.html | 47 + .../storm/src/main/resources/ui/package.json | 110 + docs/pom.xml | 83 +- pom.xml | 7 +- 551 files changed, 27001 insertions(+), 58663 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/assemblies/server.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/checks/AbstractCheckDescriptor.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/checks/AbstractCheckDescriptor.java index ae23897,478489d..6f1e77c --- a/ambari-server/src/main/java/org/apache/ambari/server/checks/AbstractCheckDescriptor.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/AbstractCheckDescriptor.java @@@ -35,7 -35,8 +35,8 @@@ import org.apache.ambari.server.state.C import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.DesiredConfig; +import org.apache.ambari.server.state.Service; + import org.apache.ambari.server.state.RepositoryType; -import org.apache.ambari.server.state.ServiceInfo; import org.apache.ambari.server.state.repository.ClusterVersionSummary; import org.apache.ambari.server.state.repository.VersionDefinitionXml; import org.apache.ambari.server.state.stack.PrereqCheckStatus; http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/events/AmbariEvent.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java index e70b522,dbb999e..84465aa --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java @@@ -37,17 -39,13 +37,17 @@@ import org.apache.ambari.server.state.S @Entity public class ServiceDesiredStateEntity { - @Column(name = "cluster_id", nullable = false, insertable = false, updatable = false, length = 10) @Id + @Column(name = "cluster_id", nullable = false, insertable = false, updatable = false, length = 10) private Long clusterId; + @Column(name = "service_group_id", nullable = false, insertable = false, updatable = false, length = 10) + @Id + private Long serviceGroupId; + + @Column(name = "service_id", nullable = false, insertable = false, updatable = false, length = 10) @Id - @Column(name = "service_name", nullable = false, insertable = false, updatable = false) - private String serviceName; + private Long serviceId; @Column(name = "desired_state", nullable = false, insertable = true, updatable = true) @Enumerated(value = EnumType.STRING) http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java index 4f11ab0,755f28e..f0ae0c8 --- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java @@@ -370,30 -368,29 +368,30 @@@ public class FinalizeUpgradeAction exte Set<String> servicesParticipating = upgradeContext.getSupportedServices(); for (String serviceName : servicesParticipating) { Service service = cluster.getService(serviceName); - String targetVersion = upgradeContext.getTargetVersion(serviceName); + RepositoryVersionEntity repositoryVersionEntity = upgradeContext.getTargetRepositoryVersion(serviceName); + StackId targetStackId = repositoryVersionEntity.getStackId(); + String targetVersion = repositoryVersionEntity.getVersion(); for (ServiceComponent serviceComponent : service.getServiceComponents().values()) { - ComponentInfo componentInfo = ambariMetaInfo.getComponent(targetStackId.getStackName(), - targetStackId.getStackVersion(), service.getName(), serviceComponent.getName()); + for (ServiceComponentHost serviceComponentHost : serviceComponent.getServiceComponentHosts().values()) { + ComponentInfo componentInfo = ambariMetaInfo.getComponent(targetStackId.getStackName(), + targetStackId.getStackVersion(), service.getServiceType(), serviceComponent.getName()); + + if (!componentInfo.isVersionAdvertised()) { + continue; + } - if (!componentInfo.isVersionAdvertised()) { - continue; - } + - for (ServiceComponentHost serviceComponentHost : serviceComponent.getServiceComponentHosts().values()) { if (!StringUtils.equals(targetVersion, serviceComponentHost.getVersion())) { errors.add(new InfoTuple(service.getName(), serviceComponent.getName(), -- serviceComponentHost.getHostName(), serviceComponentHost.getVersion(), -- targetVersion)); ++ serviceComponentHost.getHostName(), serviceComponentHost.getVersion(), ++ targetVersion)); ++ } } } } -- return errors; } http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/java/org/apache/ambari/server/state/repository/VersionDefinitionXml.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/META-INF/persistence.xml ---------------------------------------------------------------------- diff --cc ambari-server/src/main/resources/META-INF/persistence.xml index 5f56f09,0f8e964..698ab27 --- a/ambari-server/src/main/resources/META-INF/persistence.xml +++ b/ambari-server/src/main/resources/META-INF/persistence.xml @@@ -98,8 -96,8 +98,10 @@@ <class>org.apache.ambari.server.orm.entities.KerberosDescriptorEntity</class> <class>org.apache.ambari.server.orm.entities.RemoteAmbariClusterEntity</class> <class>org.apache.ambari.server.orm.entities.RemoteAmbariClusterServiceEntity</class> + <class>org.apache.ambari.server.orm.entities.MpackEntity</class> + <class>org.apache.ambari.server.orm.entities.RegistryEntity</class> + <class>org.apache.ambari.server.orm.entities.ConfigurationBaseEntity</class> + <class>org.apache.ambari.server.orm.entities.AmbariConfigurationEntity</class> <properties> <property name="eclipselink.cache.size.default" value="10000" /> http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/common-services/YARN/3.0.0.3.0/service_advisor.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java index 9859db6,ebc2596..1168e94 --- a/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java @@@ -122,11 -122,8 +123,12 @@@ public class InMemoryDefaultTestModule properties.setProperty(Configuration.RESOURCES_DIR.getKey(), resourcesDir); } + if (!properties.containsKey(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey())) { + properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpacksv2Dir); + } + try { + install(new LdapModule()); install(Modules.override(new BeanDefinitionsCachingTestControllerModule(properties)).with(new AbstractModule() { @Override protected void configure() { http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerExtensionTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-web/app/app.js ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-web/app/routes/installer.js ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-web/app/templates/installer.hbs ---------------------------------------------------------------------- diff --cc ambari-web/app/templates/installer.hbs index 451d6d8,73ecff4..a99408a --- a/ambari-web/app/templates/installer.hbs +++ b/ambari-web/app/templates/installer.hbs @@@ -23,18 -23,18 +23,18 @@@ {{else}} <div class="wizard"> <div class="wizard-body row"> - <div class="wizard-nav col-md-3"> + <div class="wizard-nav"> <ul class="nav nav-pills nav-stacked" {{QAAttr "wizard-nav"}}> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep0:active view.isStep0Disabled:disabled view.isStep0Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep0 target="controller"}}><i class="step-marker"><span class="step-index">0</span></i><p class="step-name">{{t installer.step0.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep1:active view.isStep1Disabled:disabled view.isStep1Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep1 target="controller"}}><i class="step-marker"><span class="step-index">1</span></i><p class="step-name">{{t installer.step1.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep2:active view.isStep2Disabled:disabled view.isStep2Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep2 target="controller"}}><i class="step-marker"><span class="step-index">2</span></i><p class="step-name">{{t installer.step2.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep3:active view.isStep3Disabled:disabled view.isStep3Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep3 target="controller"}}><i class="step-marker"><span class="step-index">3</span></i><p class="step-name">{{t installer.step3.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep4:active view.isStep4Disabled:disabled view.isStep4Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep4 target="controller"}}><i class="step-marker"><span class="step-index">4</span></i><p class="step-name">{{t installer.step4.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep5:active view.isStep5Disabled:disabled view.isStep5Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep5 target="controller"}}><i class="step-marker"><span class="step-index">5</span></i><p class="step-name">{{t installer.step5.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep6:active view.isStep6Disabled:disabled view.isStep6Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep6 target="controller"}}><i class="step-marker"><span class="step-index">6</span></i><p class="step-name">{{t installer.step6.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep7:active view.isStep7Disabled:disabled view.isStep7Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep7 target="controller"}}><i class="step-marker"><span class="step-index">7</span></i><p class="step-name">{{t installer.step7.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep8:active view.isStep8Disabled:disabled view.isStep8Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep8 target="controller"}}><i class="step-marker"><span class="step-index">8</span></i><p class="step-name">{{t installer.step8.header}}</p></a></li> - <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep9:active view.isStep9Disabled:disabled view.isStep9Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep9 target="controller"}}><i class="step-marker"><span class="step-index">9</span></i><p class="step-name">{{t installer.step9.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep0:active view.isStep0Disabled:disabled view.isStep0Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep0 target="controller"}}><i class="step-marker"><span class="step-index">0</span></i><p class="step-name">{{t installer.step0.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep2:active view.isStep1Disabled:disabled view.isStep1Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep2 target="controller"}}><i class="step-marker"><span class="step-index">1</span></i><p class="step-name">{{t installer.step2.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep3:active view.isStep2Disabled:disabled view.isStep2Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep3 target="controller"}}><i class="step-marker"><span class="step-index">2</span></i><p class="step-name">{{t installer.step3.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep1:active view.isStep3Disabled:disabled view.isStep3Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep1 target="controller"}}><i class="step-marker"><span class="step-index">3</span></i><p class="step-name">{{t installer.step1.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep4:active view.isStep4Disabled:disabled view.isStep4Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep4 target="controller"}}><i class="step-marker"><span class="step-index">4</span></i><p class="step-name">{{t installer.step4.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep5:active view.isStep5Disabled:disabled view.isStep5Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep5 target="controller"}}><i class="step-marker"><span class="step-index">5</span></i><p class="step-name">{{t installer.step5.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep6:active view.isStep6Disabled:disabled view.isStep6Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep6 target="controller"}}><i class="step-marker"><span class="step-index">6</span></i><p class="step-name">{{t installer.step6.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep7:active view.isStep7Disabled:disabled view.isStep7Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep7 target="controller"}}><i class="step-marker"><span class="step-index">7</span></i><p class="step-name">{{t installer.step7.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep8:active view.isStep8Disabled:disabled view.isStep8Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep8 target="controller"}}><i class="step-marker"><span class="step-index">8</span></i><p class="step-name">{{t installer.step8.header}}</p></a></li> + <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep9:active view.isStep9Disabled:disabled view.isStep9Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep9 target="controller"}}><i class="step-marker"><span class="step-index">9</span></i><p class="step-name">{{t installer.step9.header}}</p></a></li> <li {{QAAttr "wizard-nav-step"}} {{bindAttr class="isStep10:active view.isStep10Disabled:disabled view.isStep10Completed:completed"}}><a href="javascript:void(null);" {{action gotoStep10 target="controller"}}><i class="step-marker"><span class="step-index">10</span></i><p class="step-name">{{t installer.step10.header}}</p></a></li> </ul> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/ddb5a411/ambari-web/app/utils/ajax/ajax.js ----------------------------------------------------------------------
