Bug 9916 - Show git clone progress in most recent builds area
Summary: Show git clone progress in most recent builds area
Status: RESOLVED FIXED
Alias: None
Product: Toaster
Classification: Build System, Metadata & Runtime
Component: toaster (show other bugs)
Version: 2.3
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 2.4 M2
Assignee: David Reyna
QA Contact: Libertad
URL:
Whiteboard:
Depends on: 9631
Blocks:
  Show dependency tree
 
Reported: 2016-07-12 16:13 UTC by Elliot Smith
Modified: 2017-07-12 15:26 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elliot Smith 2016-07-12 16:13:24 UTC
At the moment, if a project has a lot of additional layers, the build may appear to hang while those layers are checked out.

Add another progress bar to the most recent builds area during the time while the git cloning is going on.

Suggest that we wait until after Toaster has been refactored to use the bitbake fetcher for cloning git repos.

Also suggest that we put data about git cloning into the database, attached to the BuildRequest (we can't put this data onto the build, as the git clone happens before we have a Build object).
Comment 1 David Reyna 2016-11-16 16:15:09 UTC
Want to keep as one story, but break up commits into front end and backend.
Comment 2 David Reyna 2017-06-21 21:40:29 UTC
We actually do have the build object while the cloning is performed. If we did not there would be any progress bar at all, since in the current implementation all progress information is shared with the GUI via the build record.

FYI, this is actually a long term problem in that Toaster is inappropriately using the database as an RPC, and every incremental progress update for parsing and tasks causes a record update. This results in massive database transactions for purely transient data.

Brian had looked at a long term solution using perhaps Rabbit (message queues) and Celery (multi-threading python support).
Comment 3 David Reyna 2017-07-12 15:26:53 UTC
commit 43aaa802c35ecc9d972f3b9adcd060033de1d9de

Removing dependency on Bug 9918, since it does not block this implementation.