----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/50196/#review142824 -----------------------------------------------------------
Ship it! Ship It! - Jayush Luniya On July 19, 2016, 6: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, 6: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 > >