> On Dec. 14, 2015, 6:52 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/resources/custom_actions/scripts/install_packages.py,
> > lines 188-190
> > <https://reviews.apache.org/r/41273/diff/6/?file=1162113#file1162113line188>
> >
> > Just found this bug and thought you should fix it as part of your
> > review.
> >
> > We should _only_ being doing the symlinking if coming from < 2.3 to >=
> > 2.3
> >
> > Consider this case. You install 2.3.0.0 and all links are correct.
> > /etc/<component>/conf is correctly a pointer to
> > /usr/hdp/current/<component>/conf
> >
> > But then you distribute 2.3.4.0 in preparation for an upgrade. This
> > code will unset the above link and put it back to
> > /etc/<component>/conf.backup
> >
> > Basically we need to add 1 more if-statement here that does this:
> >
> > if existing-current-version >= HDP 2.3:
> > Logger.info("Configuration symlinks are already correct on
> > {0}".format(stack_version))
> > return
Actually, this is already handled in install_packges.py
# Version installing must be 2.3.0.0 or higher
if version.compare_versions(version.format_hdp_stack_version(args[1]),
"2.3.0.0") < 0:
Logger.info("Configuration symlinks are not needed for {0}, only
HDP-2.3+".format(stack_version))
return
# Current HDP stack must be less than 2.3
# if already on HDP 2.3, then there's nothing to do in terms of linking configs
if self.current_hdp_stack_version and
compare_versions(self.current_hdp_stack_version, '2.3') >= 0:
Logger.info("The current cluster stack of {0} does not require linking
configurations".format(stack_version))
return
- Alejandro
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41273/#review110286
-----------------------------------------------------------
On Dec. 14, 2015, 7:17 a.m., Alejandro Fernandez wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/41273/
> -----------------------------------------------------------
>
> (Updated Dec. 14, 2015, 7:17 a.m.)
>
>
> Review request for Ambari, Dmytro Grinenko, Dmitro Lisnichenko, Jonathan
> Hurley, Jayush Luniya, and Nate Cole.
>
>
> Bugs: AMBARI-14307
> https://issues.apache.org/jira/browse/AMBARI-14307
>
>
> Repository: ambari
>
>
> Description
> -------
>
> * Ambari 2.2 at hash for AMBARI-14237
> (e15d1e0fb3777f79cb473cf5de0f7a6bf30e63bd)
> * HDP 2.2.8.0 with HDFS, YARN/MR, ZK, Kafka (this host does not contain any
> hadoop components)
> * RU from to 2.3.4.0 and reach the Finalize screen.
> * Then downgrade,
>
> Kafka broker restart failed on downgrade
> ```
> Traceback (most recent call last):
> File
> \"/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py\",
> line 39, in <module>
> BeforeStartHook().execute()
> File
> \"/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py\",
> line 217, in execute
> method(env)
> File
> \"/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py\",
> line 36, in hook
> create_topology_script_and_mapping()
> File
> \"/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/rack_awareness.py\",
> line 69, in create_topology_script_and_mapping
> create_topology_mapping()
> File
> \"/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/rack_awareness.py\",
> line 36, in create_topology_mapping
> group=params.user_group)
> File \"/usr/lib/python2.6/site-packages/resource_management/core/base.py\",
> line 154, in __init__
> self.env.run()
> File
> \"/usr/lib/python2.6/site-packages/resource_management/core/environment.py\",
> line 158, in run
> self.run_action(resource, action)
> File
> \"/usr/lib/python2.6/site-packages/resource_management/core/environment.py\",
> line 121, in run_action
> provider_action()
> File
> \"/usr/lib/python2.6/site-packages/resource_management/core/providers/system.py\",
> line 144, in action_create
> raise Fail(\"Applying %s failed, looped symbolic links found while
> resolving %s\" % (self.resource, path))
> resource_management.core.exceptions.Fail: Applying
> Directory['/etc/hadoop/conf'] failed, looped symbolic links found while
> resolving /etc/hadoop/conf
> Error: Error: Unable to run the custom hook script ['/usr/bin/python2',
> '/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py',
> 'START', '/var/lib/ambari-agent/data/command-2873.json',
> '/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/before-START',
> '/var/lib/ambari-agent/data/structured-out-2873.json', 'INFO',
> '/var/lib/ambari-agent/tmp']
> ```
>
>
> This failed because /etc/hadoop/conf is now a circular symlink
>
>
> Diffs
> -----
>
>
> ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
> 7fd64b5
>
> ambari-common/src/main/python/resource_management/libraries/script/script.py
> 398cee8
>
> ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts/kafka_broker.py
> 6fcf08a
> ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
> 85d0d25
> ambari-server/src/main/resources/custom_actions/scripts/ru_set_all.py
> f8b38db
> ambari-server/src/test/python/custom_actions/test_ru_set_all.py 186b847
> ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py d2ffb3c
> ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py
> 9e4560c
>
> ambari-server/src/test/python/stacks/2.0.6/hooks/after-INSTALL/test_after_install.py
> 5fd5ef6
> ambari-server/src/test/python/stacks/2.2/KAFKA/test_kafka_broker.py 72cb050
>
> Diff: https://reviews.apache.org/r/41273/diff/
>
>
> Testing
> -------
>
> Tested on the following code paths,
>
> 1. Fresh install of HDP 2.1
> 2. Installed bits for HDP 2.3 and verified the conf folder structure
> 3. EU to HDP 2.3
> 4. Installed HDFS client on the host that didn't have /etc/hadoop/conf and
> then it symlinked it to /usr/hdp/current/hadoop-client/conf
>
>
> 1. Fresh install of HDP 2.2
> 2. Installed bits for HDP 2.3 and verfied the conf folder structure
> 3. RU to HDP 2.3 and downgrade
>
> Python unit tests passed,
> ----------------------------------------------------------------------
> Total run:853
> Total errors:0
> Total failures:0
> OK
>
>
> Thanks,
>
> Alejandro Fernandez
>
>