-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64751/
-----------------------------------------------------------
(Updated Dec. 21, 2017, 3:25 p.m.)
Review request for Ambari, Jonathan Hurley and Nate Cole.
Changes
-------
Addressed comments
Bugs: AMBARI-22678
https://issues.apache.org/jira/browse/AMBARI-22678
Repository: ambari
Description
-------
There are two scenarios to cover here:
# Ambari never conf-select'd a component (maybe because of a bug or because the
component didn't support it)
# The conf pointers of a component are broken
In either event, when distributing a new stack, the code detects this problem
(as it would on a first-time install) and tries to fix it:
{code}
/etc/component/conf (directory)
/usr/hdp/current/component -> /usr/hdp/v1/component
/usr/hdp/v1/component -> /etc/component/conf
{code}
The stack distribution thinks this is a first-time installed and tries to fix
the symlinks. We end up with:
{code}
/etc/component/conf -> /usr/hdp/current/component
/usr/hdp/current/component -> /usr/hdp/v1/component
/usr/hdp/v1/component -> /etc/component/conf
/usr/hdp/v2/component -> /etc/component/v2/0
{code}
Because we're only conf-selecting v2, v1 never gets corrected since it's
already installed. Thus, we have a circular symlink.
Most likely the proper fix will be:
- Iterate over the entire known conf-select structure
- Check to see the state /etc/component/conf - if it's bad, fix it to defaults
Chances are we can do this directly in
{{conf_select.convert_conf_directories_to_symlinks}}:
{code}
stack_name = Script.get_stack_name()
for directory_struct in dirs:
if not os.path.exists(directory_struct['conf_dir']):
Logger.info("Skipping the conf-select tool on {0} since {1} does not
exist.".format(
package, directory_struct['conf_dir']))
return
{code}
Diffs (updated)
-----
ambari-server/src/main/resources/common-services/SPARK/1.2.1/package/scripts/livy_service.py
cce2148ab6
ambari-server/src/main/resources/common-services/SPARK2/2.0.0/package/scripts/livy2_service.py
dfadd84613
ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
c8497cd2cb
ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
62a46b91bd
Diff: https://reviews.apache.org/r/64751/diff/2/
Changes: https://reviews.apache.org/r/64751/diff/1-2/
Testing
-------
mvn clean test
Live cluster check
Thanks,
Dmitro Lisnichenko