----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/40139/#review105906 -----------------------------------------------------------
Update unit tests for this. ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CalculatedStatus.java (line 366) <https://reviews.apache.org/r/40139/#comment164599> These would be exposed via unit tests Somewhere. I don't know if SKIPPED_FAILED should be considered FAILED. That makes the whole request look like it failed. Can't you just ignore SKIPPED_FAILED in this huge ternary? Maybe something like: counters.get(HostRoleStatus.SKIPPED_FAILED) > 0 && !ignoreSkippedFailed ? HostRoleStatus.SKIPPED_FAILED // ignoreSkipFailed is a new parameter for the existing method Stages and UpgradeGroups must still be SKIPPED_FAILED, it's only the *Request* that shouldn't count them. In the snippet I provided, the fall-through will still make the request IN_PROGRESS, which I think is desirable. - Nate Cole On Nov. 10, 2015, 12:30 p.m., Dmitro Lisnichenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/40139/ > ----------------------------------------------------------- > > (Updated Nov. 10, 2015, 12:30 p.m.) > > > Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Jayush > Luniya, Nate Cole, and Yusaku Sako. > > > Bugs: AMBARI-13818 > https://issues.apache.org/jira/browse/AMBARI-13818 > > > Repository: ambari > > > Description > ------- > > When there is a skipped failure, the "upgrade" state itself comes > SKIPPED_FAILED. Even when the upgrade is running or paused, it is returning > "SKIPPED_FAILED". The API should not roll this up to the "upgrade" level as > the current behavior is confusing. At the top level, it should just be > HOLDING, IN_PROGRESS, COMPLETED, etc. SKIPPED_FAILED should be bubbled up to > the upgrade group level and stop there. > > > Also fixes another blocker: > STR: > 1) Install and deploy cluster with older HDP version > 2) Enable NameNode HA > 3) Register, install new HDP version > 4) Start Rolling Upgrade with "Skip all Service Check failures" and "Skip all > Slave Component failures" options > 5) Break datanode_upgrade.py script and wait for Core Slaves failures > 6) Click "Pause upgrade" on "Core Slaves - >Verifying Skipped Failures" step > Result: > Button "Resume upgrade" doesn't work. After clicking on this button I've got > next http response > { > "status" : 400, > "message" : "java.lang.IllegalArgumentException: Can only set status to > PENDING when the upgrade is ABORTED (currently SKIPPED_FAILED)" > } > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CalculatedStatus.java > f87c32c > > Diff: https://reviews.apache.org/r/40139/diff/ > > > Testing > ------- > > checked on live cluster > > mvn clean test in progress > > > Thanks, > > Dmitro Lisnichenko > >