> On April 22, 2016, 6:15 p.m., Jayush Luniya wrote: > > ambari-server/src/main/resources/common-services/PXF/3.0.0/service_advisor.py, > > line 31 > > <https://reviews.apache.org/r/44210/diff/2/?file=1348345#file1348345line31> > > > > Lets say we have > > common-services/MYSERVICE/1.0.0 > > |__ service_advisor.py > > common-services/MYSERVICE/2.0.0 (<- extends > > common-services/MYSERVICE/1.0.0) > > |__ service_advisor.py > > > > stacks/HDP/2.3/services/MYSERVICE (<- extends > > common-services/MYSERVICE/1.0.0) > > |__ service_advisor.py > > > > stacks/HDP/2.5/services/MYSERVICE (<- extends > > common-services/MYSERVICE/2.0.0) > > |__ service_advisor.py > > > > I believe we wont support any sort of inheritance between them? I am ok > > with keeping things simple right now but we should call out this limitation > > and that there could be certain duplication. > > Jayush Luniya wrote: > Sorry the formatting went off after publishing :( > > Tim Thorpe wrote: > Hi Jayush, you are right there won't be any automatic inheritance but I > don't think that's really a bad thing. You can still have explicit > inheritance with code like this: > > SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) > PARENT_DIR = os.path.join(SCRIPT_DIR, '../../../2.2/services/YARN/') > PARENT_FILE = os.path.join(PARENT_DIR, 'service_advisor.py') > > try: > with open(PARENT_FILE, 'rb') as fp: > service_advisor = imp.load_module('service_advisor', fp, PARENT_FILE, > ('.py', 'rb', imp.PY_SOURCE)) > except Exception as e: > traceback.print_exc() > print "Failed to load parent" > > > class > HDP23MAPREDUCE2ServiceAdvisor(service_advisor.HDP22MAPREDUCE2ServiceAdvisor): > > Jayush Luniya wrote: > Lets just document this in the abstract service_advisor.py. Since stack > advisor supports such inheritance, just want to make sure that we call this > out and devs dont assume it will just work :)
I'll add that in when I do my documentation changes. - Tim ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/44210/#review130141 ----------------------------------------------------------- On April 22, 2016, 6:27 p.m., Tim Thorpe wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/44210/ > ----------------------------------------------------------- > > (Updated April 22, 2016, 6:27 p.m.) > > > Review request for Ambari, Alexander Denissov, bhuvnesh chaudhary, Jayush > Luniya, Oleksandr Diachenko, Sumit Mohanty, Srimanth Gunturi, and Yusaku Sako. > > > Bugs: AMBARI-15226 > https://issues.apache.org/jira/browse/AMBARI-15226 > > > Repository: ambari > > > Description > ------- > > Currently the stack advisor is defined under each stack version such as > HDP/2.3. The problem with this is that it restricts the services that can be > added to the stack. If a custom service is to be added, they would need to > modify the stack advisor. If the configuration recommendation and validation > can be done at the service level then the custom service could just include > their own recommendations and validations separately. > > > Diffs > ----- > > ambari-server/src/main/assemblies/server.xml e1a4919 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java > df65010 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java > 00c8696 > > ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java > ca1968e > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java > 6c6fa91 > > ambari-server/src/main/java/org/apache/ambari/server/stack/CommonServiceDirectory.java > 636de37 > > ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceDirectory.java > d574d60 > > ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java > b7e09a9 > > ambari-server/src/main/java/org/apache/ambari/server/stack/StackServiceDirectory.java > d27e52a > ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java > db95fec > > ambari-server/src/main/resources/common-services/HAWQ/2.0.0/service_advisor.py > PRE-CREATION > > ambari-server/src/main/resources/common-services/PXF/3.0.0/service_advisor.py > PRE-CREATION > ambari-server/src/main/resources/properties.json eac0dbd > ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py > 0130483 > ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py > 3a65541 > ambari-server/src/main/resources/stacks/service_advisor.py PRE-CREATION > ambari-server/src/main/resources/stacks/stack_advisor.py 539bd25 > ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py > 6c9fd46 > > Diff: https://reviews.apache.org/r/44210/diff/ > > > Testing > ------- > > Ran all the non java unit tests. > > Total run:945 > Total errors:0 > Total failures:0 > > Manually configured HAWQ and PXF as part of the HDP 2.3 stack and made sure > their service advisors were called. > > > Thanks, > > Tim Thorpe > >
