Jonathan Hurley created AMBARI-21580:
----------------------------------------

             Summary: Replace Hard Coded stack-select Structures
                 Key: AMBARI-21580
                 URL: https://issues.apache.org/jira/browse/AMBARI-21580
             Project: Ambari
          Issue Type: Task
    Affects Versions: 2.5.3
            Reporter: Jonathan Hurley
            Assignee: Jonathan Hurley
            Priority: Critical
             Fix For: 2.5.3


Currently, both the stack-select and conf-select python files have hard-coded 
structures inside of them which contain mappings for things like configuration 
directories and stack-select component names. 

This is mainly used for pairing the Ambari role name (defined from 
metainfo.xml) with the {{stack-select}} package name. There are places, like 
{{params.py}} where we have not yet entered the target python file (like 
{{AccumuloScript}}) where we could get this information. Some components need 
this to be able to build things like the Hadoop conf dir:
{code:title=stack_select.py}
SERVER_ROLE_DIRECTORY_MAP = {
  'ACCUMULO_MASTER' : 'accumulo-master',
  'ACCUMULO_MONITOR' : 'accumulo-monitor',
  'ACCUMULO_GC' : 'accumulo-gc',
  'ACCUMULO_TRACER' : 'accumulo-tracer',
  'ACCUMULO_TSERVER' : 'accumulo-tablet',
  'ATLAS_SERVER' : 'atlas-server',
  'FLUME_HANDLER' : 'flume-server',
  'FALCON_SERVER' : 'falcon-server',
...
{code}

With the coming of management packs replacing stacks, we can no longer hard 
code this in Python. My suggestion is to begin moving this data into a property 
of some sort. Today, {{cluster-env}} exists and would be the only place for it 
(where the stack-feature tools are now). However, I believe that 
{{cluster-env}} is also going away and being replaced with something similar to 
"Cluster Settings". 

In any event, this Jira is to track the work needed to replace this logic.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to