----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47656/ -----------------------------------------------------------
(Updated June 17, 2016, 12:26 p.m.) Review request for Ambari, Alexander Denissov, Alejandro Fernandez, bhuvnesh chaudhary, Jayush Luniya, Oleksandr Diachenko, Sumit Mohanty, Srimanth Gunturi, and Yusaku Sako. Changes ------- Fixed patch so it can apply over trunk again Bugs: AMBARI-12885 https://issues.apache.org/jira/browse/AMBARI-12885 Repository: ambari Description ------- The purpose of this proposal is to facilitate adding custom services to an existing stack. Ideally this would support adding and upgrading custom services separately from the core services defined in the stack. In particular we are looking at custom services that need to support several different stacks (different distributions of Ambari). The release cycle of the custom services may be different from that of the core stack; that is, a custom service may be upgraded at a different rate than the core distribution itself and may be upgraded multiple times within the lifespan of a single release of the core distribution. One possible approach to handling this would be dynamically extending a stack (after install time). It would be best to extend the stack in packages where a stack extension package can have one or more custom services. Diffs (updated) ----- ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py fc1b72a ambari-agent/src/main/python/ambari_agent/FileCache.py b7c5dee ambari-server/conf/unix/ambari.properties a88a025 ambari-server/src/main/assemblies/server.xml 1560d8d ambari-server/src/main/java/org/apache/ambari/server/api/resources/ExtensionLinkResourceDefinition.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/api/resources/ExtensionResourceDefinition.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/api/resources/ExtensionVersionResourceDefinition.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java cf7c391 ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java f0928cf ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java 557ce98 ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java 2b7fca0 ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java b488af3 ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b5c6fc2 ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionLinkRequest.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionLinkResponse.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionRequest.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionResponse.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionVersionRequest.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/ExtensionVersionResponse.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java 3721113 ambari-server/src/main/java/org/apache/ambari/server/controller/internal/Extension.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java 99e4ccd ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ExtensionDAO.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ExtensionLinkDAO.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ExtensionEntity.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ExtensionLinkEntity.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/stack/BaseModule.java ef2438f ambari-server/src/main/java/org/apache/ambari/server/stack/CommonServiceDirectory.java cbbdb91 ambari-server/src/main/java/org/apache/ambari/server/stack/ComponentModule.java 65da145 ambari-server/src/main/java/org/apache/ambari/server/stack/ConfigurationModule.java 9c4e9d1 ambari-server/src/main/java/org/apache/ambari/server/stack/ExtensionDirectory.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/stack/ExtensionHelper.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/stack/ExtensionModule.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/stack/ModuleFileUnmarshaller.java 9e2f997 ambari-server/src/main/java/org/apache/ambari/server/stack/QuickLinksConfigurationModule.java 84da70e ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceDirectory.java 9ed2c24 ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java 17a2a93 ambari-server/src/main/java/org/apache/ambari/server/stack/StackDefinitionModule.java b35afb2 ambari-server/src/main/java/org/apache/ambari/server/stack/StackDirectory.java ee9e383 ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java c224b56 ambari-server/src/main/java/org/apache/ambari/server/stack/StackManagerFactory.java 105b715 ambari-server/src/main/java/org/apache/ambari/server/stack/StackModule.java d819a52 ambari-server/src/main/java/org/apache/ambari/server/stack/StackServiceDirectory.java 68c1dd6 ambari-server/src/main/java/org/apache/ambari/server/stack/ThemeModule.java d8f50c6 ambari-server/src/main/java/org/apache/ambari/server/state/ExtensionId.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/state/ExtensionInfo.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java 76840ea ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java c7738cd ambari-server/src/main/java/org/apache/ambari/server/state/stack/ExtensionMetainfoXml.java PRE-CREATION ambari-server/src/main/java/org/apache/ambari/server/state/stack/ServiceMetainfoXml.java 418c389 ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog240.java 81b5653 ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 257ca42 ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 9b68174 ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 362c714 ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 04a4361 ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 21e6cec ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql 24c1b63 ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql cef4866 ambari-server/src/main/resources/META-INF/persistence.xml 5671dcf ambari-server/src/main/resources/extensions/README.txt PRE-CREATION ambari-server/src/main/resources/key_properties.json 8069349 ambari-server/src/main/resources/properties.json eac0dbd ambari-server/src/test/java/org/apache/ambari/server/api/services/ExtensionsServiceTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/stack/ComponentModuleTest.java a02311a ambari-server/src/test/java/org/apache/ambari/server/stack/QuickLinksConfigurationModuleTest.java 8fcc76e ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java c9bcf60 ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java 969e07c ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerExtensionTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerMiscTest.java 55a3c46 ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java 3a16418 ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java f4b4b93 ambari-server/src/test/resources/extensions/EXT/0.1/metainfo.xml PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/configuration/oozie2-site.xml PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.1/services/OOZIE2/package/dummy-script.py PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.1/services/PIG2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/extensions/EXT/0.2/services/OOZIE2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks/OTHER/1.0/services/PIG2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/HDFS/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/MAPREDUCE/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/services/PIG/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HBASE/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/global.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hadoop-env.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hbase-site.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-log4j.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/configuration/hdfs-site.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HDFS/package/dummy-script.py PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/HIVE/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/MAPREDUCE/metainfo.xml PRE-CREATION ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/services/ZOOKEEPER/metainfo.xml PRE-CREATION Diff: https://reviews.apache.org/r/47656/diff/ Testing ------- Successfully ran all the following tests in ambari/ambari-server/src/test/java/org/apache/ambari/server/stack src/test/java/org/apache/ambari/server/api/services/ExtensionsServiceTest.java src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java src/test/java/org/apache/ambari/server/stack/ComponentModuleTest.java src/test/java/org/apache/ambari/server/stack/KerberosDescriptorTest.java src/test/java/org/apache/ambari/server/stack/QuickLinksConfigurationModuleTest.java src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java src/test/java/org/apache/ambari/server/stack/StackManagerExtensionTest.java src/test/java/org/apache/ambari/server/stack/StackManagerMiscTest.java src/test/java/org/apache/ambari/server/stack/StackManagerTest.java src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java Thanks, Tim Thorpe