Need better handling of errors during dependency building

Bug #1355442 reported by Kris Lindgren
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
anvil
Fix Released
Undecided
Unassigned

Bug Description

Currently when anvil is building dependency packages and a package fails to build it will stop building packages once it hit that failure. If you run run the build step , it will continue building packages after the build failure. If a package fails to build and your remove the source rpm for that package - so that anvil continues to build the other packages dependencies. Once it has finished building only the packages that were built *after* the failure will be in the repo. This is because we remove the rpmbuild directory after a build failure but keep track of where we are in the build process. The result is successfully built packages are removed and we end up with a dependency repo that only contains some of the successfully built rpm's.

It would be best to not remove the rpmbuild directory after an error, but to remove it during the first part of the prepare stage - or even at the start of the build stage.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to anvil (master)

Reviewed: https://review.openstack.org/114376
Committed: https://git.openstack.org/cgit/stackforge/anvil/commit/?id=c83be383a7ed9a6a8feca5b6b94698298e982d56
Submitter: Jenkins
Branch: master

commit c83be383a7ed9a6a8feca5b6b94698298e982d56
Author: Joshua Harlow <email address hidden>
Date: Thu Aug 14 15:21:00 2014 -0700

    Always move built rpms, even under partial failure

    When a build command fails (due to a package causing
    problems) we potentially have already built a set of
    other packages (especially when building is done in
    parallel), so even when failure occurs we need to move
    the rpms that have been build to the target repository.

    Fixes bug 1355442

    Change-Id: I9f346e189db964bfd9679d452ba9637192a6697c

Changed in anvil:
status: New → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/114662
Committed: https://git.openstack.org/cgit/stackforge/anvil/commit/?id=558e38c833bafbbe3c4e79f946f98f93ad922ffc
Submitter: Jenkins
Branch: master

commit 558e38c833bafbbe3c4e79f946f98f93ad922ffc
Author: Joshua Harlow <email address hidden>
Date: Fri Aug 15 14:00:06 2014 -0700

    Only remove build directories before executing, not after

    To help in the case where a build fails and the user wants
    to investigate why it fails it is nice to only delete the
    required directories *before* building and not before and
    after (even under failures).

    Fixes bug 1355442

    Change-Id: I0998fb0c8b80f81ac78075f9e6d0d9c2f65a0eba

Joshua Harlow (harlowja)
Changed in anvil:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.