[Toaster] [PATCH 00/15] Build cancellation

Barros Pena, Belen belen.barros.pena at intel.com
Mon Mar 21 04:36:25 PDT 2016



On 19/03/2016 23:13, "toaster-bounces at yoctoproject.org on behalf of Brian
Avery" <toaster-bounces at yoctoproject.org on behalf of
avery.brian at gmail.com> wrote:

>Hi,
>
>I finally had a chance to try out the
>'poky-contrib/ed/toaster/project-build-dir-7880-cancel-dldir_sstatedir'
>branch and I had comments:
>
>1) use project name for build dirs? This would make it clearer which
>build dir has which projects in it.

We had a discussion about this, part of which Elliot has summarised in his
previous email. It is true that it might be easier to identify the build
directory of a project if we use the project name, but Toaster does not
enforce unique names, it does not validate for special characters or
length limits, and it allows you change the project name at any time. The
problems all these could cause made us go with the project id. To ease
identification, we could show the project id and the path to the build
directory in the project page, unless anybody has issues with displaying
this information.

>
>
>2) we cannot assume I am building in ~/poky/build. There are env
>variables to let us find where poky is $OEROOT for instance. My bin/sh
>is bash but I still got the following when building from
>$HOME/cow/test/ when poky was in $HOME/src/poky :
>
>: less toaster_ui.log
>
>bash: ../bitbake/bin/bitbake: No such file or directory
>
>3) if a build fails (as above) and then I cancel it, my state stays in
>Cancelling the build ...

This sounds like a bug: you should never be able to cancel a failed build.
The 'cancel' button should only be available while bitbake is running.

>
>
>4) when I cancel a build it says ³Failed² it should probably say
>³Canceled² and still be red.

This is also a bug. Cancelled builds have their own presentation (they say
"cancelled"). See page 4 of this design document

https://bugzilla.yoctoproject.org/attachment.cgi?id=2706

>
>
>5) If I change one of my base project settings (like my download
>folder) the next (and following) projects should probably use my last
>setting as the default rather than the hardcoded default.

I am not sure I agree. The UI right now provides only per project
configuration: I wouldn't make exceptions to that rule. If we did, you
would be in a project context surrounded by variables that only apply to
the selected project, and all of a sudden you would have 2 variables that
look the same as all others but behave differently and override the
Toaster defaults. 

If you want to override the Toaster defaults, you should change the
default value via the Django admin interface or in the toasterconf.json
file. The UI only provides access to project configuration at this time
... consistently limited ;)

>
>For instance I change my downloads from /home/Š/downloads to
>/home/Š./DL in cowMaster, when I make cowJethro, the default DL_DIR
>should be /home/Š./DL
>
>
>The following were done based on Jethro:
>
>6) built rpi-hwup-image - then made custom image based on it. CI
>interface says: ³Toaster has no package information for rpime. To
>generate package information, build rpime²
>
>
>7) same true for customizing off off core-image-minimal. for both 6/7
>machine = raspberrypi2.

I've seen this too, but I assumed is was caused by this:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=9266

Although I could be completely wrong. There is a patch under review to fix
it 

https://lists.yoctoproject.org/pipermail/toaster/2016-March/004162.html

But I haven't had a chance to try it on top of Ed's branch.

>
>
>8) trying to download the recipe file gives me the yellow error screen
>[Errno 2] No such file or directory:
>u'/recipes-core/images/rpi-hwup-image.bb'
>
>
>9) if I switch back to qemux86 as the machine, build
>core-image-minimal, and then customize it I also get the Toaster has
>no package information for cimx86me. To generate package information,
>build cimx86me
>
>so it is not just due to it being a rpi image.  this also gives [Errno
>2] No such file or directory:
>u'meta/recipes-core/images/core-image-minimal.bb'
>
>if it try to download it.
>
>
>10) after building the cimx86me, I can now download the recipe but I
>still do not see any packages.
>
>
>11) I¹m not personally fond of having the sstate and dl_dir being set
>on the project creation page. they are available in the bitbake var
>page for each project which is nice. This is more a Belén thing. just
>putting my opinion down.

We also discussed this (everybody complained) and decided to remove them.

>
>
>12) if I cancel a command line build from the command line (as the
>little question mark suggests) the cancellation is not reflected in
>the UI. Mine got stuck at 46% when I cancelled my dropbear cli build.
>
>
>‹‹
>
>
>So as far as upstreaming, I think we need to have the following 2
>things fixed first:
>
>1) being able to run/build from an arbitrary dir and not assuming we
>are in the poky tree. (should be ez)
>
>2) fixing the custom image stuff. Since the CI is the main selling
>point of the 2.1 release we need to make sure we don¹t break it.
>(hopefully not too hard?)
>
>
>Other issues can be made as bugs on top of the upstream, i think.
>
>
>Hope this helps,
>Brian
>an Intel employee
>
>On Thu, Mar 17, 2016 at 8:41 AM, Ed Bartosh <ed.bartosh at linux.intel.com>
>wrote:
>> This is build cancelation functionality implemented by Sujith and
>>Michael
>> and modified by me to work on top of 'per project build directory'
>>patchset.
>>
>> NOTE: This patchset depends on 'per project build directory' patchset'
>>v5:
>>       
>>https://lists.yoctoproject.org/pipermail/toaster/2016-March/004170.html
>>
>> The following changes since commit
>>e4ba8a50641b6a2ad8ccda5fc62c61fdf7cef733:
>>
>>   toasterui: shutdown on BuildCompleted event (2016-03-17 17:31:00
>>+0200)
>>
>> are available in the git repository at:
>>
>>   git://git.yoctoproject.org/poky-contrib
>>ed/toaster/project-build-dir-7880-cancel
>>   
>>http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/proje
>>ct-build-dir-7880-cancel
>>
>> Ed Bartosh (2):
>>   toaster: fix conflicting migrations
>>   toaster: use empty token
>>
>> Michael Wood (9):
>>   toaster: Move xhr calls for starting and stopping builds
>>   toaster: xhr Update the implementation of the build cancellation
>>     request
>>   toaster: libtoaster Update implementation of startABuild and
>>     cancelABuild
>>   toaster: bldcontrol models Add a cancelling state the BuildRequest
>>   buildinfohelper: Add handler for cancelling a build
>>   toaster: mrb_section template Add build cancel button
>>   toaster: models Exclude the CANCELLED builds from get_number_of_builds
>>   toaster: runbuilds Make runbuilds aware of the build CANCELLED state
>>   toaster: runbuilds Clean up runbuilds
>>
>> Sujith H (4):
>>   toaster: bldcontrol Add forceShutDown function to BitbakeController
>>   toaster: update BuildEnvironmentController and BitbakeController
>>   toaster: models Add cancelled state to build outcome
>>   toaster: tables BuildsTable exclude cancelled builds
>>
>>  bitbake/lib/bb/ui/buildinfohelper.py               |  19 ++-
>>  bitbake/lib/toaster/bldcontrol/bbcontroller.py     |  29 +---
>>  .../toaster/bldcontrol/localhostbecontroller.py    |   4 +-
>>  .../bldcontrol/management/commands/runbuilds.py    | 107
>>++++++++++-----
>>  .../migrations/0002_add_cancelling_state.py        |  19 +++
>>  .../toaster/bldcontrol/migrations/0003_merge.py    |  15 +++
>>  bitbake/lib/toaster/bldcontrol/models.py           |  27 +++-
>>  .../orm/migrations/0006_add_cancelled_state.py     |  19 +++
>>  bitbake/lib/toaster/orm/migrations/0007_merge.py   |  15 +++
>>  bitbake/lib/toaster/orm/models.py                  |  12 +-
>>  bitbake/lib/toaster/toastergui/api.py              | 110
>>+++++++++++++++
>>  .../toaster/toastergui/static/js/customrecipe.js   |   4 +-
>>  .../lib/toaster/toastergui/static/js/layerBtn.js   |   3 +-
>>  .../lib/toaster/toastergui/static/js/libtoaster.js |  41 +++---
>>  .../lib/toaster/toastergui/static/js/mrbsection.js |  95 +++++++++++++
>>  .../toaster/toastergui/static/js/projectpage.js    |   4 +-
>>  .../toaster/toastergui/static/js/projecttopbar.js  |   6 +-
>>  .../toaster/toastergui/static/js/recipedetails.js  |   4 +-
>>  bitbake/lib/toaster/toastergui/tables.py           |  48 +------
>>  bitbake/lib/toaster/toastergui/templates/base.html |   1 +
>>  .../toaster/toastergui/templates/mrb_section.html  | 148
>>++++++++-------------
>>  bitbake/lib/toaster/toastergui/urls.py             |   5 +
>>  22 files changed, 507 insertions(+), 228 deletions(-)
>>  create mode 100644
>>bitbake/lib/toaster/bldcontrol/migrations/0002_add_cancelling_state.py
>>  create mode 100644
>>bitbake/lib/toaster/bldcontrol/migrations/0003_merge.py
>>  create mode 100644
>>bitbake/lib/toaster/orm/migrations/0006_add_cancelled_state.py
>>  create mode 100644 bitbake/lib/toaster/orm/migrations/0007_merge.py
>>  create mode 100644 bitbake/lib/toaster/toastergui/api.py
>>  create mode 100644
>>bitbake/lib/toaster/toastergui/static/js/mrbsection.js
>>
>> --
>> Regards,
>> Ed
>> --
>> _______________________________________________
>> toaster mailing list
>> toaster at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/toaster
>-- 
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster



More information about the toaster mailing list