-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50196/#review142792
-----------------------------------------------------------


Ship it!




Ship It!

- Nate Cole


On July 19, 2016, 2:36 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50196/
> -----------------------------------------------------------
> 
> (Updated July 19, 2016, 2:36 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Jayush Luniya, and Nate Cole.
> 
> 
> Bugs: AMBARI-17796
>     https://issues.apache.org/jira/browse/AMBARI-17796
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> This is a specific issues on an EU downgrade from 2.5 to 2.4. Here's the 
> scenario:
> 
> - Ranger supported "Audit to DB" up to HDP 2.5. It was removed in HDP 2.5. 
> Along with it, the properties in {{admin-properties}} were removed as well.
> - The Ranger {{params.py}} uses the {{check_stack_feature}} to determine if 
> "Audit to DB" is supported and if it is, tries to extract the properties it 
> needs.
> 
> All is well and good at this point. The problem comes when a downgrade 
> happens.
> 
> - When downgrading from 2.5 to 2.4 the 2.4 configurations should be restored. 
> However, this doesn't happen on an EU until after the {{STOP}} command is 
> issued for upgraded services. It's during this {{STOP}} command that we run 
> into an issue. Ranger is running on 2.5, so the 2.5 configurations are sent 
> to stop it. However, the version that we're downgrading to is 2.4, so it 
> thinks that it needs to extract the audit properties.
> 
> - On the {{RESTART}} of Ranger on the downgrade, it should be extracting the 
> audit properties since the 2.4 configurations are sent. But the {{STOP}} 
> command is for 2.5 and doesn't have them. 
> 
> So, this means that {{STOP}} and {{RESTART}} are using different 
> configurations on an EU downgrade. We basically need to create a way to 
> reliably determine which stack version should be used for feature checks.
> 
> ```
> Traceback (most recent call last):
>   File 
> \"/var/lib/ambari-agent/cache/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py\",
>  line 199, in <module>
>     RangerAdmin().execute()
>   File 
> \"/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py\",
>  line 280, in execute
>     method(env)
>   File 
> \"/var/lib/ambari-agent/cache/common-services/RANGER/0.4.0/package/scripts/ranger_admin.py\",
>  line 60, in stop
>     import params
>   File 
> \"/var/lib/ambari-agent/cache/common-services/RANGER/0.4.0/package/scripts/params.py\",
>  line 176, in <module>
>     audit_jdbc_url = 
> format('jdbc:postgresql://{db_host}/{ranger_auditdb_name}') if 
> stack_supports_ranger_audit_db else None
>   File 
> \"/usr/lib/python2.6/site-packages/resource_management/libraries/functions/format.py\",
>  line 95, in format
>     return ConfigurationFormatter().format(format_string, args, **result)
>   File 
> \"/usr/lib/python2.6/site-packages/resource_management/libraries/functions/format.py\",
>  line 59, in format
>     result_protected = self.vformat(format_string, args, all_params)
>   File \"/usr/lib/python2.7/string.py\", line 549, in vformat
>     result = self._vformat(format_string, args, kwargs, used_args, 2)
>   File \"/usr/lib/python2.7/string.py\", line 582, in _vformat
>     result.append(self.format_field(obj, format_spec))
>   File \"/usr/lib/python2.7/string.py\", line 599, in format_field
>     return format(value, format_spec)
>   File 
> \"/usr/lib/python2.6/site-packages/resource_management/libraries/script/config_dictionary.py\",
>  line 73, in __getattr__
>     raise Fail(\"Configuration parameter '\" + self.name + \"' was not found 
> in configurations dictionary!\")
> resource_management.core.exceptions.Fail: Configuration parameter 
> 'audit_db_name' was not found in configurations dictionary!
> ```
> 
> 
> Diffs
> -----
> 
>   
> ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py
>  5db1718 
>   
> ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py
>  5a3c723 
>   
> ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py
>  7d1682d 
>   
> ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params_linux.py
>  93987be 
>   
> ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
>  6f8d588 
>   
> ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
>  9068b0c 
>   
> ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/params_linux.py
>  ac21b49 
>   
> ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
>  6ff833b 
>   
> ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
>  6814ca2 
>   
> ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
>  9c6f384 
>   
> ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/params_linux.py
>  b5a4c99 
>   ambari-server/src/test/python/TestStackFeature.py PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/50196/diff/
> 
> 
> Testing
> -------
> 
> ----------------------------------------------------------------------
> Total run:1025
> Total errors:0
> Total failures:0
> OK
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>

Reply via email to