[ 
https://issues.apache.org/jira/browse/AMBARI-22649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Doroszlai, Attila updated AMBARI-22649:
---------------------------------------
    Attachment: AMBARI-22649-test.patch

> Library for querying cluster_settings and stack_settings in command*.json.
> --------------------------------------------------------------------------
>
>                 Key: AMBARI-22649
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22649
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>            Reporter: Swapan Shridhar
>            Assignee: Swapan Shridhar
>             Fix For: 3.0.0
>
>         Attachments: AMBARI-22649-test.patch, AMBARI-22649.1.patch, 
> AMBARI-22649.2.patch, AMBARI-22649.patch
>
>
> Background : AMBARI-22198 added "stack settings", and AMBARI-22196 introduced 
> "cluster settings" in Ambari.
> *=========================================================================*
> *Library for querying _clusterSettings_ and _stackSettings_ for its contents 
> in command\*.json.*
> *=========================================================================*
> One should be able to query for a given *clusterSettings* or *stackSettings*:
>  -  by passing in the setting name(one or more) in order to get it back as 
> key-value map, or
>  -  just get the value back for a passed-in setting.
> *Functions for clusterSettings:*
> *-----------------------------------------*
>   - get_cluster_setting_entries(setting_names) : 
>     -- Retrieves the passed-in cluster setting entr(y/ies) and their values 
> as a map.
>        If 'setting_names' is passed-in as None : all the settings names and 
> their corresponding values will be returned as map.
>        If 'setting_names' is passed-in as empty set : None will be returned.
>   - get_cluster_setting_value(setting_name) :
>     -- Retrieves the passed-in cluster setting entry's value.
>   - is_security_enabled() : 
>     -- Retrieves the cluster's security status.
> *Functions for stackSettings:* 
> *-----------------------------------------*
> Stack settings as of now has 5 settings : stack_name, stack_root, 
> stack_features, stack_tools, stack_packages. stack_name, stack_root have 
> string as values, whereas stack_features, stack_tools, stack_packages have 
> values as JSON. Further there already exists python functions in files : 
> *stack_features.py*, *stack_tools.py* and *stack_select.py*.
>    - get_stack_setting_entries(setting_names) : 
>       --   Retrieves the passed-in stack setting entr(y/ies) and their values 
> as a map.
>             If 'setting_names' is passed-in as None, all the settings names 
> and their corresponding values will be returned as map.
>             If 'setting_names' is passed-in as empty set : None will be 
> returned.
>    - get_stack_setting_value(setting_name):
>     -- Retrieves the passed-in stack setting entry's value.
> - get_stack_name():
>     -- Retrieves the stack name.
> - get_stack_root():
>    -- Retrieves the stack root.
>  
> *Modifications in  _stack_features.py, stack_tools.py and stack_select.py_ 
> files:*
> *--------------------------------------------------------------------------------------------------------------*
> - Given that these already exist and as of now they read the relevant stack 
> setting from *configurations/cluster_env*. 
> - Thus, code has been added to try reading from /stackSettings first by 
> calling the new fn.() get_stack_setting_value(). if setting not found, go for 
> the fall back  *configurations/cluster_env* (which would be removed soon, 
> when we remove cluster_env).



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

Reply via email to