You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Jonathan Hurley (JIRA)" <ji...@apache.org> on 2017/11/17 13:57:00 UTC
[jira] [Created] (AMBARI-22465) Post-Upgrade Tasks Use the Wrong
Repository and Hooks Folders
Jonathan Hurley created AMBARI-22465:
----------------------------------------
Summary: Post-Upgrade Tasks Use the Wrong Repository and Hooks Folders
Key: AMBARI-22465
URL: https://issues.apache.org/jira/browse/AMBARI-22465
Project: Ambari
Issue Type: Bug
Affects Versions: 2.6.0
Reporter: Jonathan Hurley
Priority: Critical
Fix For: 2.6.1
During an express upgrade, when performing an upgrade between stack versions, the wrong repository/stacks/hooks are sent down during the {{post-upgrade}} step:
{code}
<component name="FOO">
<pre-upgrade>
<task xsi:type="execute" hosts="all">
<script>scripts/upgrade.py</script>
<function>bar</function>
</task>
</pre-upgrade>
<upgrade>
<task xsi:type="restart-task"/>
</upgrade>
<post-upgrade>
<task xsi:type="execute" hosts="any">
<script>scripts/upgrade.py</script>
<function>baz</function>
</task>
</post-upgrade>
{code}
In both the {{pre-upgrade}} and {{post-upgrade}} commands, the scripts folder location refers to the old stack. The restart/start command, however, is correct.
It appears as though the problem is found here:
https://github.com/apache/ambari/blob/branch-2.6/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java#L1052-L1055
{code:title=makeActionStage()}
// the ru_execute_tasks invokes scripts - it needs information about where
// the scripts live and for that it should always use the target repository
// stack
applyRepositoryAssociatedParameters(wrapper, effectiveRepositoryVersion.getStackId(), params);
{code}
It uses the effective stack ID which during an express upgrade is the source stack of the upgrade.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)