----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47656/ -----------------------------------------------------------
(Updated June 3, 2016, 4:54 p.m.) Review request for Ambari, Alexander Denissov, Alejandro Fernandez, bhuvnesh chaudhary, Jayush Luniya, Oleksandr Diachenko, Sumit Mohanty, Srimanth Gunturi, and Yusaku Sako. Changes ------- Re-merged over latest trunk code 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/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 9f221d5 ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java fe9204d 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 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 01322b2 ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 940542d ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql eb2b349 ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql de8c2e6 ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 0a8d6c9 ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 4b65a69 ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql 5ef07d0 ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 0b5f3b8 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 182df79 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 b1f7cd1 ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java 3919fec 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