> On March 2, 2016, 9:37 p.m., jun aoki wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/service_advisor_HDP206HBASE.py,
> > line 1
> > <https://reviews.apache.org/r/44210/diff/1/?file=1275516#file1275516line1>
> >
> > Hi Tim, nice effort to decouple stack_advisor!
> >
> > Is this file naming service_advisor_HDP206HBASE.py a bit redundant?
> > this is under
> > ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE, any files
> > under this folder is meant for HDP, version 2.0.6 and HBASE.
I tried having the name as you stated but had a problem with python. For
example in 2.3/services/HDFS, I have the following:
SCRIPT_DIR = os.path.dirname(os.path.abspath(file))
PARENT_DIR = os.path.join(SCRIPT_DIR, '../../../2.2/services/HDFS/')
sys.path.append(PARENT_DIR)
from service_advisor_HDP22HDFS import *
If the file name is the same in 2.3 and 2.2, then "from service_advisor import
*" could reference the 2.2 or the 2.3 file. I tried it with import
HDP22HDFSServiceAdvisor as well and both of them failed to find the correct
parent class.
The other way I could have solved this is to load all the service advisor files
from the default_stack_advisor.py walking my way up the stack. This would have
allowed you to avoid the inheritance code in the service_advisor.py files but
it would restrict you from inheriting from outside of your stack (unless at
that point you started including the inheritance code and the change of file
names).
> On March 2, 2016, 9:37 p.m., jun aoki wrote:
> > ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/service_advisor_HDP206HBASE.py,
> > line 32
> > <https://reviews.apache.org/r/44210/diff/1/?file=1275516#file1275516line32>
> >
> > Could this inheritate a brand new DefaultServiceAdvisor instead of the
> > stack advisor? service and stack are different hierarchy and I feel somehow
> > wrong if a service inheritate a stack.
Point well taken. I'll look at refactoring it that way but really would prefer
to get the code in the current way first. There are code changes to the stack
advisor files on a daily basis and the longer it waits the more merges will be
needed. I will already be refactoring the code to split the test scripts to be
on the service level rather than the stack level. I will attempt to do both of
these tasks at the same time.
- Tim
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44210/#review121720
-----------------------------------------------------------
On March 1, 2016, 4:53 p.m., Tim Thorpe wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44210/
> -----------------------------------------------------------
>
> (Updated March 1, 2016, 4:53 p.m.)
>
>
> Review request for Ambari, Sumit Mohanty 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-agent/pom.xml c2c993f
> ambari-server/src/main/assemblies/server.xml e1a4919
>
> 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/scripts/stack_advisor.py cdd9acb
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/GANGLIA/service_advisor_BIGTOP08GANGLIA.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HBASE/service_advisor_BIGTOP08HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/service_advisor_BIGTOP08HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/service_advisor_BIGTOP08HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/OOZIE/service_advisor_BIGTOP08OOZIE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/service_advisor_BIGTOP08YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/ZOOKEEPER/service_advisor_BIGTOP08ZOOKEEPER.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/stack_advisor.py
> 53591cd
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/AMBARI_METRICS/service_advisor_HDP206AMBARI_METRICS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/service_advisor_HDP206GANGLIA.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/service_advisor_HDP206HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/service_advisor_HDP206HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/service_advisor_HDP206HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/service_advisor_HDP206OOZIE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/service_advisor_HDP206YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/service_advisor_HDP206ZOOKEEPER.py
> PRE-CREATION
> ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
> f6f8cde
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/service_advisor_HDP21FALCON.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/service_advisor_HDP21HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/OOZIE/service_advisor_HDP21OOZIE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/service_advisor_HDP21STORM.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/service_advisor_HDP21TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/service_advisor_HDP21YARN.py
> PRE-CREATION
> ambari-server/src/main/resources/stacks/HDP/2.1/services/stack_advisor.py
> 3a552b8
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/AMBARI_METRICS/metainfo.xml
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/AMBARI_METRICS/service_advisor_HDP22AMBARI_METRICS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/HBASE/service_advisor_HDP22HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/service_advisor_HDP22HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/service_advisor_HDP22HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/KAFKA/service_advisor_HDP22KAFKA.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/service_advisor_HDP22KNOX.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/RANGER/service_advisor_HDP22RANGER.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/service_advisor_HDP22STORM.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/TEZ/service_advisor_HDP22TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/service_advisor_HDP22YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/stack_advisor.py
> bffbc26
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/service_advisor_HDP23HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/service_advisor_HDP23HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/HIVE/service_advisor_HDP23HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/KAFKA/service_advisor_HDP23KAFKA.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/service_advisor_HDP23RANGER.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER_KMS/service_advisor_HDP23RANGER_KMS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/SPARK/service_advisor_HDP23SPARK.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/TEZ/service_advisor_HDP23TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/service_advisor_HDP23YARN.py
> PRE-CREATION
> ambari-server/src/main/resources/stacks/HDP/2.4/services/stack_advisor.py
> 985c101
> ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
> 9dd5cc7
> ambari-server/src/main/resources/stacks/HDP/2.6/services/stack_advisor.py
> af269de
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMBARI_METRICS/service_advisor_HDPWIN21AMBARI_METRICS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/FALCON/service_advisor_HDPWIN21FALCON.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HBASE/service_advisor_HDPWIN21HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/service_advisor_HDPWIN21HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/service_advisor_HDPWIN21HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/OOZIE/service_advisor_HDPWIN21OOZIE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/STORM/service_advisor_HDPWIN21STORM.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/TEZ/service_advisor_HDPWIN21TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/YARN/service_advisor_HDPWIN21YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/service_advisor_HDPWIN21ZOOKEEPER.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/stack_advisor.py
> b99c484
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/AMBARI_METRICS/service_advisor_HDPWIN22AMBARI_METRICS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/service_advisor_HDPWIN22HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HDFS/service_advisor_HDPWIN22HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HIVE/service_advisor_HDPWIN22HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/KNOX/service_advisor_HDPWIN22KNOX.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/STORM/service_advisor_HDPWIN22STORM.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/TEZ/service_advisor_HDPWIN22TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/YARN/service_advisor_HDPWIN22YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/HBASE/service_advisor_HDPWIN23HBASE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/HDFS/service_advisor_HDPWIN23HDFS.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/HIVE/service_advisor_HDPWIN23HIVE.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/TEZ/service_advisor_HDPWIN23TEZ.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/YARN/service_advisor_HDPWIN23YARN.py
> PRE-CREATION
>
> ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/stack_advisor.py
> 3631c88
> ambari-server/src/main/resources/stacks/default_stack_advisor.py
> PRE-CREATION
> ambari-server/src/main/resources/stacks/stack_advisor.py 539bd25
> ambari-server/src/test/python/TestStackAdvisor.py 149ae1d
> ambari-server/src/test/python/stacks/2.0.6/common/test_stack_advisor.py
> e15582e
> ambari-server/src/test/python/stacks/2.1/common/test_stack_advisor.py
> 7ede5a3
> ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py
> d95e6c7
> ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor_perf.py
> 5b8c30c
> ambari-server/src/test/python/stacks/2.3/common/test_stack_advisor.py
> 8932bde
>
> ambari-server/src/test/resources/stacks/XYZ/1.0.0/services/YARN/service_advisor_XYZ100YARN.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/XYZ/1.0.0/services/stack_advisor.py
> ba140bb
>
> ambari-server/src/test/resources/stacks/XYZ/1.0.1/services/YARN/service_advisor_XYZ101YARN.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/XYZ/1.0.1/services/stack_advisor.py
> 74a4b31
> ambari-server/src/test/resources/stacks/old/HDP206stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP21stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP22stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP23stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP24stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP25stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/HDP26stack_advisor.py
> PRE-CREATION
> ambari-server/src/test/resources/stacks/old/stack_advisor.py PRE-CREATION
>
> Diff: https://reviews.apache.org/r/44210/diff/
>
>
> Testing
> -------
>
> Ran all the non java unit tests.
>
> Total run:921
> Total errors:1
> Total failures:0
>
> The only test which failed also failed on a fresh trunk test run: test_start
> (test_metrics_grafana.TestMetricsGrafana)
>
>
> Thanks,
>
> Tim Thorpe
>
>