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

Dahyun Ko updated AMBARI-26538:
-------------------------------
    Description: 
h3. Summary

The variable stack_version is used before initialization, which throws an error 
when using Ranger.
{code:java}
# 
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py

def setup_ranger_plugin(...):
if not plugin_home:
  stack_root = Script.get_stack_root()
  service_name = str(service_name).lower()
  plugin_home = 
format("{stack_root}/{stack_version}/ranger-{service_name}-plugin/")

#...

if stack_version_override is None:
  stack_version = get_stack_version(component_select_name)
else:
  stack_version = stack_version_override{code}
 

Stack Trace
{code:java}
Traceback (most recent call last):
  File 
"/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/nifi.py",
 line 343, in <module>
    Master().execute()
  File 
"/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", 
line 413, in execute
    method(env)
  File 
"/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", 
line 1196, in restart
    self.start(env, upgrade_type=upgrade_type)
  File 
"/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/nifi.py",
 line 157, in start
    setup_ranger_nifi(upgrade_type=None)
  File 
"/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/setup_ranger_nifi.py",
 line 67, in setup_ranger_nifi
    setup_ranger_plugin('nifi', params.service_name, params.previous_jdbc_jar,
  File 
"/usr/lib/ambari-agent/lib/resource_management/libraries/functions/setup_ranger_plugin_xml.py",
 line 88, in setup_ranger_plugin
    plugin_home = 
format("{stack_root}/{stack_version}/ranger-{service_name}-plugin/")
                  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File 
"/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py", 
line 100, in format
    return ConfigurationFormatter().format(format_string, args, **result)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File 
"/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py", 
line 60, in format
    result_protected = self.vformat(format_string, args, all_params)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/string.py", line 194, in vformat
    result, _ = self._vformat(format_string, args, kwargs, used_args, 2)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/string.py", line 234, in _vformat
    obj, arg_used = self.get_field(field_name, args, kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/string.py", line 299, in get_field
    obj = self.get_value(first, args, kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/string.py", line 256, in get_value
    return kwargs[key]
           ~~~~~~^^^^^
  File "/usr/lib/ambari-agent/lib/resource_management/core/utils.py", line 68, 
in __getitem__
    return self._convert_value(self._dict[name])
                               ~~~~~~~~~~^^^^^^
KeyError: 'stack_version' {code}

  was:
h3. Summary

The variable stack_version is used before initialization, which throws an error 
when using Ranger.
{code:java}
# 
ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py

def setup_ranger_plugin(...):
if not plugin_home:
  stack_root = Script.get_stack_root()
  service_name = str(service_name).lower()
  plugin_home = 
format("{stack_root}/{stack_version}/ranger-{service_name}-plugin/")

#...

if stack_version_override is None:
  stack_version = get_stack_version(component_select_name)
else:
  stack_version = stack_version_override{code}


> Fix stack_version initialization in setup_ranger_plugin
> -------------------------------------------------------
>
>                 Key: AMBARI-26538
>                 URL: https://issues.apache.org/jira/browse/AMBARI-26538
>             Project: Ambari
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Dahyun Ko
>            Priority: Major
>             Fix For: 3.1.0
>
>
> h3. Summary
> The variable stack_version is used before initialization, which throws an 
> error when using Ranger.
> {code:java}
> # 
> ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
> def setup_ranger_plugin(...):
> if not plugin_home:
>   stack_root = Script.get_stack_root()
>   service_name = str(service_name).lower()
>   plugin_home = 
> format("{stack_root}/{stack_version}/ranger-{service_name}-plugin/")
> #...
> if stack_version_override is None:
>   stack_version = get_stack_version(component_select_name)
> else:
>   stack_version = stack_version_override{code}
>  
> Stack Trace
> {code:java}
> Traceback (most recent call last):
>   File 
> "/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/nifi.py",
>  line 343, in <module>
>     Master().execute()
>   File 
> "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", 
> line 413, in execute
>     method(env)
>   File 
> "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", 
> line 1196, in restart
>     self.start(env, upgrade_type=upgrade_type)
>   File 
> "/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/nifi.py",
>  line 157, in start
>     setup_ranger_nifi(upgrade_type=None)
>   File 
> "/var/lib/ambari-agent/cache/common-services/NIFI/1.27.0/package/scripts/setup_ranger_nifi.py",
>  line 67, in setup_ranger_nifi
>     setup_ranger_plugin('nifi', params.service_name, params.previous_jdbc_jar,
>   File 
> "/usr/lib/ambari-agent/lib/resource_management/libraries/functions/setup_ranger_plugin_xml.py",
>  line 88, in setup_ranger_plugin
>     plugin_home = 
> format("{stack_root}/{stack_version}/ranger-{service_name}-plugin/")
>                   
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File 
> "/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py",
>  line 100, in format
>     return ConfigurationFormatter().format(format_string, args, **result)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File 
> "/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py",
>  line 60, in format
>     result_protected = self.vformat(format_string, args, all_params)
>                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.11/string.py", line 194, in vformat
>     result, _ = self._vformat(format_string, args, kwargs, used_args, 2)
>                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.11/string.py", line 234, in _vformat
>     obj, arg_used = self.get_field(field_name, args, kwargs)
>                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.11/string.py", line 299, in get_field
>     obj = self.get_value(first, args, kwargs)
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.11/string.py", line 256, in get_value
>     return kwargs[key]
>            ~~~~~~^^^^^
>   File "/usr/lib/ambari-agent/lib/resource_management/core/utils.py", line 
> 68, in __getitem__
>     return self._convert_value(self._dict[name])
>                                ~~~~~~~~~~^^^^^^
> KeyError: 'stack_version' {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ambari.apache.org
For additional commands, e-mail: issues-h...@ambari.apache.org

Reply via email to