[
https://issues.apache.org/jira/browse/AMBARI-15637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alejandro Fernandez updated AMBARI-15637:
-----------------------------------------
Description:
Currently, if RU/EU is paused, then restarting services manually will use the
version whose state is CURRENT. This means that services may be restarted on
the wrong version, preventing Ambari from correctly Finalizing the upgrade.
Instead, the logic should be as follows during Upgrade:
RU: always use to_version
EU: if haven't completed the action "UPDATE_DESIRED_STACK_ID", then use the
from_version, otherwise, use the to_version.
During Downgrade, both should use the original version, which is actually the
to_version column in the upgrade table.
Assertions:
A: restart a service (should have version parameter,
B: run a service check (no version needed)
C: run HDFS Rebalance (should have version parameter).
Test Cases:
1. Before stack upgrade, run A, B, and C, which should all use the current
version
2. EU, immediately click pause. Run A, B, and C, which should use the original
version if it exists
3. EU, after the services have been stopped and the stack has been upgraded.
Run A, B, and C, which should use the new version since the services are now to
be started.
4. EU, click downgrade and pause. Run A, B, C, which should use the original
version.
5. RU, click pause whenever a manual task occurs. Run A, B, and C, which should
use the destination version.
6. RU, click downgrade. Run A, B, and C, which should use the original version.
was:
Currently, if RU/EU is paused, then restarting services manually will use the
version whose state is CURRENT. This means that services may be restarted on
the wrong version, preventing Ambari from correctly Finalizing the upgrade.
Instead, the logic should be as follows during Upgrade:
RU: always use to_version
EU: if haven't completed the action "UPDATE_DESIRED_STACK_ID", then use the
from_version, otherwise, use the to_version.
During Downgrade, both should use the original version, which is actually the
to_version column in the upgrade table.
> If RU/EU is paused, services are restarted on the older version. EU is more
> complex since stopping services should use the original version.
> --------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMBARI-15637
> URL: https://issues.apache.org/jira/browse/AMBARI-15637
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.2.2
> Reporter: Alejandro Fernandez
> Priority: Critical
> Fix For: 2.2.2
>
> Attachments: AMBARI-15637.branch-2.2.patch
>
>
> Currently, if RU/EU is paused, then restarting services manually will use the
> version whose state is CURRENT. This means that services may be restarted on
> the wrong version, preventing Ambari from correctly Finalizing the upgrade.
> Instead, the logic should be as follows during Upgrade:
> RU: always use to_version
> EU: if haven't completed the action "UPDATE_DESIRED_STACK_ID", then use the
> from_version, otherwise, use the to_version.
> During Downgrade, both should use the original version, which is actually the
> to_version column in the upgrade table.
> Assertions:
> A: restart a service (should have version parameter,
> B: run a service check (no version needed)
> C: run HDFS Rebalance (should have version parameter).
> Test Cases:
> 1. Before stack upgrade, run A, B, and C, which should all use the current
> version
> 2. EU, immediately click pause. Run A, B, and C, which should use the
> original version if it exists
> 3. EU, after the services have been stopped and the stack has been upgraded.
> Run A, B, and C, which should use the new version since the services are now
> to be started.
> 4. EU, click downgrade and pause. Run A, B, C, which should use the original
> version.
> 5. RU, click pause whenever a manual task occurs. Run A, B, and C, which
> should use the destination version.
> 6. RU, click downgrade. Run A, B, and C, which should use the original
> version.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)