-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44831/
-----------------------------------------------------------
Review request for Ambari, Alejandro Fernandez, Dmitro Lisnichenko, and Nate
Cole.
Bugs: AMBARI-15419
https://issues.apache.org/jira/browse/AMBARI-15419
Repository: ambari
Description
-------
During an upgrade, configuration files from the old stack are not copied to the
new configuration folders created using {{conf-select}}. This means that files
which Ambari does not track, are never included in the new configuration
directories.
This is what happens on a clean install:
```
/etc/foo/conf (physical conf files placed here)
/usr/hdp/<version>/foo/conf -> /etc/foo/conf
```
Ambari then uses {{conf-select}} to change this:
```
/etc/foo/conf.backup (contents of original /etc/foo/conf folder)
/etc/foo/conf -> /usr/hdp/<version>/foo/conf
/usr/hdp/<version>/foo/conf -> /etc/foo/<version>/0
/etc/foo/<version>/0 (physical conf files placed here)
```
But in this scenario, we make sure to seed {{/etc/foo/<version>/0}} with the
files which were in {{/etc/foo/conf}} originally, including files which we
don't track. This is to prevent files, like JKS keystores, from being lost.
*Now the upgrade scenario:*
----
If you already have {{/usr/hdp/2.3.0.0}} installed, that means that you have
{{/etc/foo/conf}} and all associated files already on the disk. When you
distribute HDP 2.4, {{/usr/hdp/2.4.0.0}} is created. However, it cannot
overwrite any existing configurations since you haven't upgraded yet. So, it
basically does nothing with the configurations. We invoke {{conf-select}} to
create {{/etc/foo/2.4.0.0/0}}, but it is never seeded with any values from
{{/etc/foo/2.3.0.0/0}}.
Diffs
-----
ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
59c717b
ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
08bdcc3
ambari-server/src/test/python/stacks/2.0.6/hooks/after-INSTALL/test_after_install.py
daee726
Diff: https://reviews.apache.org/r/44831/diff/
Testing
-------
----------------------------------------------------------------------
Total run:924
Total errors:0
Total failures:0
OK
Thanks,
Jonathan Hurley