Modify

Ticket #540 (closed enhancement: fixed)

Opened 14 years ago

Last modified 13 years ago

make single pass package installs more fault tolerant

Reported by: jstrunk@… Owned by: desai
Priority: minor Milestone: Bcfg2 0.9.6 Release
Component: bcfg2-client Version:
Keywords: Cc:

Description

bcfg2 runs with a large number of package changes take forever if the single pass fails. I think bcfg2 is running the installation program for each single package without regard to dependencies when this happens, and it ends up invoking the installer for some packages twice.

If the single pass parsed the output, threw out any packages that couldn't be installed, and tried again, then it would be a lot faster.

For example, in a recent ubuntu install I ran, bcfg2 installed 1700 packages. Here is the error from the single pass install:

E: Version '30' for 'example-content' was not found
Single Pass Failed

If we could catch that kind of error, it should be a lot faster. bcfg2 would only run apt-get twice instead of 1700 times. That would save about an hour with the startup overhead of apt-get.

Attachments

APT.py (7.0 KB) - added by desai 13 years ago.

Change History

Changed 13 years ago by desai

comment:1 Changed 13 years ago by desai

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone set to Bcfg2 0.9.6 Release

The attached APT.py uses the apt cache in a more sophisticated manner; the installation of unavailable versions of packages is now suppressed. This won't make it into 0.9.6-final (it is too major of a change to an important piece of code) but it can be dropped into the sources pretty easily, and is queued up for 0.9.6.1.

WARNING! You need to establish a session before you can create or edit tickets. Otherwise the ticket will get treated as spam.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.