-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35640/#review88483
-----------------------------------------------------------

Ship it!


Ship It!

- Nate Cole


On June 18, 2015, 9:37 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/35640/
> -----------------------------------------------------------
> 
> (Updated June 18, 2015, 9:37 p.m.)
> 
> 
> Review request for Ambari, Dmytro Sen and Nate Cole.
> 
> 
> Bugs: AMBARI-12012
>     https://issues.apache.org/jira/browse/AMBARI-12012
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> 1. User registers repo version 2.3.0.0 (notice that a build number was not 
> provided), and clicks the Install button
> 2. On all of the hosts, the yum commands timeout (or does a partial install), 
> this way, "hdp-select versions" will report that 2 versions exist 
> (2.2.0.0-2041 and 2.3.0.0-2800). Because the install did not succeed, the 
> command will not return the actual_version installed (which was 
> 2.3.0.0-2800). Note: I did this by decreasing the timeouts in 
> ambari.properties file to 5 mins, and adding a sleep in install_packages.py 
> after the first package was installed.
> 3. The ambari server code then changes the state of the 2.3.0.0 version it 
> knows about to INSTALL_FAILED so that the user can retry, but did not update 
> the repo version with the actual build version that includes the build number.
> 4. User retries and this time it succeeds. However, the delta of "hdp-select 
> versions" outputs "", so no "actual_version" is returned! This is really bad 
> because the build number is needed for ambari to use it whenever it calls 
> "hdp-select set <comp> <version>"
> 5. The ambari server code will change the state to INSTALLED.
> The fix is for install_packages.py to always return the actual_version (even 
> in the case of a failure) so that Ambari server can correct the database 
> entry (even if the command fails/timesout). This will only happen the first 
> time, but subsequent attempts to retry installation will use the right value 
> so an exact match will be found in the database.
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/main/java/org/apache/ambari/server/bootstrap/DistributeRepositoriesStructuredOutput.java
>  f1d6aad 
>   
> ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java
>  5600ef1 
>   ambari-server/src/main/resources/custom_actions/scripts/install_packages.py 
> f8b2308 
> 
> Diff: https://reviews.apache.org/r/35640/diff/
> 
> 
> Testing
> -------
> 
> Reproduced the issue on a live cluster and verified that the patch worked 
> even when the agents reported that the packages failed to be installed.
> 
> Unit tests in progress
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>

Reply via email to