Merge branch 'trunk' into branch-feature-AMBARI-12556
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e3d5344a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e3d5344a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e3d5344a Branch: refs/heads/trunk Commit: e3d5344a6cf0e22455580cd9a63f8e30256c7097 Parents: c8858af 6a0b2a0 Author: Jonathan Hurley <jhur...@hortonworks.com> Authored: Wed Apr 26 13:59:54 2017 -0400 Committer: Jonathan Hurley <jhur...@hortonworks.com> Committed: Wed Apr 26 13:59:54 2017 -0400 ---------------------------------------------------------------------- .../clusters/ClustersManageAccessCtrl.js | 2 +- .../ui/admin-web/app/scripts/i18n.config.js | 2 +- .../ui/admin-web/app/views/users/create.html | 2 +- .../src/main/python/ambari_agent/Controller.py | 18 +- .../test/python/ambari_agent/TestController.py | 14 + .../test/python/ambari_agent/TestHardware.py | 4 +- .../src/test/python/ambari_agent/TestShell.py | 2 +- ambari-infra/ambari-infra-manager/README.md | 25 + ambari-infra/ambari-infra-manager/pom.xml | 375 +++++++++++ .../org/apache/ambari/infra/InfraManager.java | 186 +++++ .../infra/common/InfraManagerConstants.java | 29 + .../infra/conf/InfraManagerApiDocConfig.java | 54 ++ .../ambari/infra/conf/InfraManagerConfig.java | 36 + .../apache/ambari/infra/rest/JobResource.java | 43 ++ .../src/main/resources/infra-manager.properties | 14 + .../src/main/resources/log4j.xml | 31 + .../src/main/resources/swagger/swagger.html | 115 ++++ .../src/main/resources/webapp/index.html | 24 + .../src/main/resources/solrCloudCli.sh | 2 +- ambari-infra/pom.xml | 1 + ambari-logsearch/ambari-logsearch-it/pom.xml | 21 +- .../logsearch/domain/StoryDataRegistry.java | 33 +- .../logsearch/steps/LogSearchDockerSteps.java | 201 ++---- .../ambari/logsearch/steps/SolrSteps.java | 4 +- .../story/log_search_api_query_story.story | 2 +- .../ambari/logsearch/common/MessageEnums.java | 3 +- .../ambari/logsearch/conf/SecurityConfig.java | 15 + .../logsearch/manager/ShipperConfigManager.java | 19 - .../logsearch/rest/ShipperConfigResource.java | 4 +- .../web/filters/LogSearchConfigStateFilter.java | 102 +++ ambari-logsearch/docker/logsearch-docker.sh | 10 +- ambari-server/pom.xml | 2 +- .../actionmanager/ActionDBAccessorImpl.java | 5 +- .../server/actionmanager/HostRoleCommand.java | 10 + .../ambari/server/alerts/AlertRunnable.java | 27 + .../alerts/ComponentVersionAlertRunnable.java | 195 ++++++ .../api/resources/BaseResourceDefinition.java | 3 +- .../StackAdvisorBlueprintProcessor.java | 14 +- .../AmbariCustomCommandExecutionHelper.java | 3 + .../BlueprintConfigurationProcessor.java | 87 ++- .../internal/HostResourceProvider.java | 4 +- .../internal/TaskResourceProvider.java | 3 + .../logging/LogSearchDataRetrievalService.java | 75 ++- .../logging/LoggingRequestHelperImpl.java | 6 + .../server/orm/dao/HostRoleCommandDAO.java | 2 +- .../ambari/server/orm/dao/UpgradeDAO.java | 30 +- .../orm/entities/HostRoleCommandEntity.java | 15 + .../server/orm/entities/UpgradeEntity.java | 2 + .../ambari/server/orm/entities/UserEntity.java | 5 +- .../server/security/authorization/UserName.java | 76 +++ .../server/security/authorization/Users.java | 4 +- .../FixCapacitySchedulerOrderingPolicy.java | 5 + .../upgrades/UpdateDesiredStackAction.java | 14 +- .../org/apache/ambari/server/state/Cluster.java | 7 + .../server/state/CustomCommandDefinition.java | 5 + .../server/state/cluster/ClusterImpl.java | 54 +- .../server/state/cluster/ClustersImpl.java | 4 - .../ambari/server/topology/Blueprint.java | 8 + .../ambari/server/topology/BlueprintImpl.java | 15 + .../topology/ClusterConfigurationRequest.java | 59 +- .../server/upgrade/UpgradeCatalog300.java | 14 + .../main/resources/Ambari-DDL-Derby-CREATE.sql | 1 + .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 1 + .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 1 + .../resources/Ambari-DDL-Postgres-CREATE.sql | 1 + .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 1 + .../resources/Ambari-DDL-SQLServer-CREATE.sql | 1 + ambari-server/src/main/resources/alerts.json | 12 + .../HBASE/2.0.0.3.0/service_advisor.py | 675 +++++++++++++++++++ .../package/scripts/hive_metastore.py | 3 + .../0.12.0.2.0/package/scripts/params_linux.py | 7 + .../package/scripts/setup_ranger_hive.py | 58 ++ .../2.1.0.3.0/package/scripts/hive_metastore.py | 3 + .../2.1.0.3.0/package/scripts/params_linux.py | 7 + .../package/scripts/setup_ranger_hive.py | 58 ++ .../scripts/logsearch_config_aggregator.py | 77 --- .../LOGSEARCH/0.5.0/package/scripts/params.py | 3 - .../SPARK2/2.0.0/quicklinks/quicklinks.json | 1 + .../src/main/resources/properties.json | 1 + .../scripts/check_ambari_permissions.py | 12 +- .../server/actionmanager/TestActionManager.java | 36 + .../ComponentVersionAlertRunnableTest.java | 362 ++++++++++ .../resources/BaseResourceDefinitionTest.java | 2 +- .../server/api/services/AmbariMetaInfoTest.java | 14 +- .../StackAdvisorBlueprintProcessorTest.java | 4 + .../AmbariManagementControllerTest.java | 9 +- .../BlueprintConfigurationProcessorTest.java | 4 + .../internal/HostResourceProviderTest.java | 5 +- .../internal/TaskResourceProviderTest.java | 8 + .../LogSearchDataRetrievalServiceTest.java | 249 ++++++- .../logging/LoggingRequestHelperImplTest.java | 9 + .../metadata/AgentAlertDefinitionsTest.java | 2 +- .../apache/ambari/server/orm/OrmTestHelper.java | 5 +- .../ambari/server/orm/dao/UserDAOTest.java | 3 +- .../orm/entities/HostRoleCommandEntityTest.java | 49 ++ .../server/security/SecurityHelperImplTest.java | 3 +- ...ariAuthorizationProviderDisableUserTest.java | 2 +- .../AmbariLocalUserProviderTest.java | 2 +- .../AmbariUserAuthenticationFilterTest.java | 2 +- .../security/authorization/UserNameTest.java | 70 ++ .../security/authorization/UsersTest.java | 2 +- .../ldap/AmbariLdapDataPopulatorTest.java | 3 +- .../cluster/ClusterEffectiveVersionTest.java | 2 + .../ClusterConfigurationRequestTest.java | 18 +- .../ClusterDeployWithStartOnlyTest.java | 1 + ...InstallWithoutStartOnComponentLevelTest.java | 1 + .../ClusterInstallWithoutStartTest.java | 1 + .../server/upgrade/UpgradeCatalog240Test.java | 3 +- .../server/upgrade/UpgradeCatalog300Test.java | 8 + ambari-web/app/app.js | 6 + .../main/admin/stack_and_upgrade_controller.js | 5 + .../app/controllers/wizard/step9_controller.js | 2 +- .../stack_upgrade/stack_upgrade_wizard.hbs | 18 +- ambari-web/app/utils/ajax/ajax.js | 8 +- ambari-web/app/utils/helper.js | 7 +- ambari-web/app/utils/host_progress_popup.js | 2 +- .../widgets/slider_config_widget_view.js | 6 +- .../app/views/common/quick_view_link_view.js | 17 +- .../views/wizard/step9/hostLogPopupBody_view.js | 2 +- ambari-web/test/utils/helper_test.js | 5 + .../widgets/slider_config_widget_view_test.js | 10 +- .../ambari/view/hive2/actor/HiveActor.java | 32 +- .../ambari/view/hive2/actor/JdbcConnector.java | 8 +- .../view/hive2/actor/OperationController.java | 2 +- .../ambari/view/hive20/actor/HiveActor.java | 32 +- .../ambari/view/hive20/actor/JdbcConnector.java | 6 - .../view/hive20/actor/OperationController.java | 2 +- .../generators/InsertFromQueryGenerator.java | 41 +- .../uploads/query/InsertFromQueryInput.java | 24 +- .../routes/databases/database/tables/table.js | 22 +- .../databases/database/tables/upload-table.js | 16 +- .../databases/database/tables/table.hbs | 19 +- .../resources/ui/app/components/drafts-wf.js | 3 +- .../ui/app/components/recent-projects.js | 11 +- .../ui/app/components/search-create-new-bar.js | 4 +- .../src/main/resources/ui/app/styles/app.less | 5 + .../ui/app/templates/components/drafts-wf.hbs | 4 +- 137 files changed, 3679 insertions(+), 588 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java index bcf3807,dbbbf20..dc6037e --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java @@@ -115,9 -114,9 +117,10 @@@ public class UpgradeCatalog300 extends */ @Override protected void executeDDLUpdates() throws AmbariException, SQLException { + addServiceComponentColumn(); updateStageTable(); updateClusterConfigurationTable(); + addOpsDisplayNameColumnToHostRoleCommand(); } protected void updateStageTable() throws SQLException { @@@ -291,8 -280,20 +294,19 @@@ // the cluster configuration mapping table dbAccessor.dropTable(CLUSTER_CONFIG_MAPPING_TABLE); } - /** + * Adds the {@value #HRC_OPS_DISPLAY_NAME_COLUMN} column to the + * {@value #HOST_ROLE_COMMAND_TABLE} table. + * + * @throws SQLException + */ + private void addOpsDisplayNameColumnToHostRoleCommand() throws SQLException { + dbAccessor.addColumn(HOST_ROLE_COMMAND_TABLE, + new DBAccessor.DBColumnInfo(HRC_OPS_DISPLAY_NAME_COLUMN, String.class, 255, null, true)); + } + + /** * Updates Log Search configs. * * @throws AmbariException http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/main/resources/properties.json ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e3d5344a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java index 83bd608,607a94e..8f1510b --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog300Test.java @@@ -170,13 -170,12 +170,16 @@@ public class UpgradeCatalog300Test Capture<DBAccessor.DBColumnInfo> clusterConfigSelectedColumn = newCapture(); Capture<DBAccessor.DBColumnInfo> clusterConfigSelectedTimestampColumn = newCapture(); + Capture<DBAccessor.DBColumnInfo> hrcOpsDisplayNameColumn = newCapture(); + dbAccessor.addColumn(eq(UpgradeCatalog300.CLUSTER_CONFIG_TABLE), capture(clusterConfigSelectedColumn)); dbAccessor.addColumn(eq(UpgradeCatalog300.CLUSTER_CONFIG_TABLE), capture(clusterConfigSelectedTimestampColumn)); + dbAccessor.addColumn(eq(UpgradeCatalog300.HOST_ROLE_COMMAND_TABLE), capture(hrcOpsDisplayNameColumn)); + // component table + Capture<DBAccessor.DBColumnInfo> componentStateColumn = newCapture(); + dbAccessor.addColumn(eq(UpgradeCatalog250.COMPONENT_TABLE), capture(componentStateColumn)); + replay(dbAccessor, configuration); Injector injector = Guice.createInjector(module); @@@ -193,12 -192,11 +196,17 @@@ Assert.assertEquals(UpgradeCatalog300.CLUSTER_CONFIG_SELECTED_TIMESTAMP_COLUMN, capturedSelectedTimestampColumn.getName()); Assert.assertEquals(Long.class, capturedSelectedTimestampColumn.getType()); + // component table + DBAccessor.DBColumnInfo capturedStateColumn = componentStateColumn.getValue(); + Assert.assertNotNull(componentStateColumn); + Assert.assertEquals("repo_state", capturedStateColumn.getName()); + Assert.assertEquals(String.class, capturedStateColumn.getType()); + + DBAccessor.DBColumnInfo capturedOpsDisplayNameColumn = hrcOpsDisplayNameColumn.getValue(); + Assert.assertEquals(UpgradeCatalog300.HRC_OPS_DISPLAY_NAME_COLUMN, capturedOpsDisplayNameColumn.getName()); + Assert.assertEquals(null, capturedOpsDisplayNameColumn.getDefaultValue()); + Assert.assertEquals(String.class, capturedOpsDisplayNameColumn.getType()); + verify(dbAccessor); }