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)