----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47656/ -----------------------------------------------------------
Review request for Ambari, Alexander Denissov, Alejandro Fernandez, bhuvnesh chaudhary, Jayush Luniya, Oleksandr Diachenko, Sumit Mohanty, Srimanth Gunturi, and Yusaku Sako. 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 ----- ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py fcea23f ambari-agent/src/main/python/ambari_agent/FileCache.py b7c5dee ambari-server/conf/unix/ambari.properties 9f1692e 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 9c864b6 ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java c54fe3f 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 f5e8f39 ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java d6b9d0e ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java dd3d098 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 de5147d 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 8a352bd ambari-server/src/main/java/org/apache/ambari/server/stack/StackManagerFactory.java 5aa2b5f 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/resources/Ambari-DDL-Derby-CREATE.sql 31dd8f2 ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 3c4f1ca ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql f31af16 ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql d1147b7 ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 5a7a6a5 ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql 2dba3b7 ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql e769e5b ambari-server/src/main/resources/META-INF/persistence.xml 5671dcf 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 6f3cf78 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 850c716 ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java 8e9f81a 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