Toaster: Difference between revisions

From Yocto Project
Jump to navigationJump to search
m (moved WebHob to Toaster: Project name changed for release.)
No edit summary
Line 1: Line 1:
[[Category:WebHob]]
[[Category:Toaster]]
WebHob is a Web-based interface to the Bitbake build system and the Poky distribution inside the Yocto Project.
[[Toaster]] is a Web-based interface to the Bitbake build system and the Poky distribution inside the Yocto Project.


General discussion about '''Web Hob''' happens on a dedicated mailing list: [https://lists.yoctoproject.org/listinfo/webhob https://lists.yoctoproject.org/listinfo/webhob]
General discussion about '''Web Hob''' happens on a dedicated mailing list: [https://lists.yoctoproject.org/listinfo/webhob https://lists.yoctoproject.org/listinfo/webhob]
Line 16: Line 16:
* [[File:Web_Hob_1.5_content_structure_v0.2.pdf]] - Information architecture for the first release of Web Hob
* [[File:Web_Hob_1.5_content_structure_v0.2.pdf]] - Information architecture for the first release of Web Hob


=== WebHob clickable prototype ===
=== [[Toaster]] clickable prototype ===
* [http://www.yoctoproject.org/webhob/ A web-based prototype of the Web Hob user interface]
* [http://www.yoctoproject.org/webhob/ A web-based prototype of the Web Hob user interface]


=== Old design documents ===
=== Old design documents ===
* [[WebHob_Design]]
* [[[[Toaster]]_Design]]
* [[Yocto Web Hob Design 0.0 — Archived|A preliminary design project]] by [http://www.jimkosem.com/ Jim Kosem]
* [[Yocto Web Hob Design 0.0 — Archived|A preliminary design project]] by [http://www.jimkosem.com/ Jim Kosem]


== Project Planning ==
== Project Planning ==


We plan to develop WebHob functionality in stages. Each stage should match with an Yocto Project release.
We plan to develop [[Toaster]] functionality in stages. Each stage should match with an Yocto Project release.


=== YP 1.5 release ===
=== YP 1.5 release ===


* WebHob will offer features to record and analyze bitbake runs, where a bitbake run is an invocation of bitbake to a certain target.
* [[Toaster]] will offer features to record and analyze bitbake runs, where a bitbake run is an invocation of bitbake to a certain target.
* WebHob will offer ways to inspect the system image contents generated by running a Poky target that results in a disk image.
* [[Toaster]] will offer ways to inspect the system image contents generated by running a Poky target that results in a disk image.


[[https://bugzilla.yoctoproject.org/buglist.cgi?list_id=38454&bug_severity=enhancement&query_format=advanced&bug_status=NEW&bug_status=ACCEPTED&bug_status=IN%20PROGRESS%20DESIGN&bug_status=IN%20PROGRESS%20DESIGN%20COMPLETE&bug_status=IN%20PROGRESS%20IMPLEMENTATION&bug_status=IN%20PROGRESS%20REVIEW&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=WaitForUpstream&component=web-hob&target_milestone=1.5&target_milestone=1.5%20M1&target_milestone=1.5%20M2&target_milestone=1.5%20M3&target_milestone=1.5%20M4&target_milestone=1.5%20M5&product=Web%20-%20Hob WebHob Bugzilla feature list]]  
[[https://bugzilla.yoctoproject.org/buglist.cgi?list_id=38454&bug_severity=enhancement&query_format=advanced&bug_status=NEW&bug_status=ACCEPTED&bug_status=IN%20PROGRESS%20DESIGN&bug_status=IN%20PROGRESS%20DESIGN%20COMPLETE&bug_status=IN%20PROGRESS%20IMPLEMENTATION&bug_status=IN%20PROGRESS%20REVIEW&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=WaitForUpstream&component=web-hob&target_milestone=1.5&target_milestone=1.5%20M1&target_milestone=1.5%20M2&target_milestone=1.5%20M3&target_milestone=1.5%20M4&target_milestone=1.5%20M5&product=Web%20-%20Hob [[Toaster]] Bugzilla feature list]]  


== Architecture and component design ==
== Architecture and component design ==




We are planning the capabilities of WebHob based on evolutive stages of implementation, using community feedback on each stage to plan, design and implement a set of capabilities for the next stage.
We are planning the capabilities of [[Toaster]] based on evolutive stages of implementation, using community feedback on each stage to plan, design and implement a set of capabilities for the next stage.
In the first stage, synchronized with the planning of Yocto 1.5, we'll implement a build analysis / image inspection module.
In the first stage, synchronized with the planning of Yocto 1.5, we'll implement a build analysis / image inspection module.


WebHob is designed as a collection of components that will run independently performing isolated functions. The interfaces between components are documented on this wiki as to ease interoperability with newer components. From design phase, we've taken care to account for further expansion needs, and account for scalability problems.
[[Toaster]] is designed as a collection of components that will run independently performing isolated functions. The interfaces between components are documented on this wiki as to ease interoperability with newer components. From design phase, we've taken care to account for further expansion needs, and account for scalability problems.


* [[ WebHob general architecture ]]
* [[ [[Toaster]] general architecture ]]


* [[ Data store investigation results and choices ]]
* [[ Data store investigation results and choices ]]


* [[ WebHob source code repository details ]]
* [[ [[Toaster]] source code repository details ]]


* [[ Django models ]]
* [[ Django models ]]
Line 63: Line 63:
==== To get it up and running: ====
==== To get it up and running: ====


* checkout the poky tree. currently http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=webhob-poky/master
* checkout the poky tree. currently http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=toaster/master
* set up a build as normal: <code>  source poky/oe-init-build-env </code>
* set up a build as normal: <code>  source poky/oe-init-build-env </code>
* at this point edit local.conf, or layers, etc.
* at this point edit local.conf, or layers, etc.
* start webhob system:  <code> source webhob start </code>
* start toaster system:  <code> source toaster start </code>
* run builds normally:  <code> bitbake mc </code>
* run builds normally:  <code> bitbake mc </code>
* to stop webhob:  <code> source webhob stop </code>
* to stop toaster:  <code> source toaster stop </code>
* to see the web interface: <code> xdg-open http://localhost:8000/ </code>
* to see the web interface: <code> xdg-open http://localhost:8000/ </code>


===== Bitbake extra options =====
===== Bitbake extra options =====


* Webhob needs '''buildhistory''' enabled in Bitbake in order to record target image package information.
* [[Toaster]] needs '''buildhistory''' enabled in Bitbake in order to record target image package information.
Enable it by adding <code>  INHERIT += "buildhistory"  </code> in your <code> conf/local.conf </code> file.
Enable it by adding <code>  INHERIT += "buildhistory"  </code> in your <code> conf/local.conf </code> file.


==== A bunch of files are created and used under the build/ directory: ====
==== A bunch of files are created and used under the build/ directory: ====


* webhob.sqlite - the database file
* toaster.sqlite - the database file
* whbmain.log - the log file of the web server
* toaster_web.log - the log file of the web server
* whbmain.pid - contains the pid of the web server
* toaster_ui.log - the log file of the ui component
* dsi.pid    - contains the pid of the DSI data bridge
* .toastermain.pid - contains the pid of the web server
* .toasterui.pid    - contains the pid of the DSI data bridge
* bitbake-cookerdaemon.log - the log file of the bitbake server
* bitbake-cookerdaemon.log - the log file of the bitbake server






For more details, including how it runs, see [[ A manual for installation and running WebHob ]].
For more details, including how it runs, see [[ A manual for installation and running [[Toaster]] ]].


== Testing ==
== Testing ==
Documentation and results related to WebHob Quality Assurance.
Documentation and results related to [[Toaster]] Quality Assurance.


* [[ WebHob testing plan ]]
* [[ Toaster testing plan ]]


=== QA Reports and Bugzilla entries ===
=== QA Reports and Bugzilla entries ===

Revision as of 13:24, 15 October 2013

Toaster is a Web-based interface to the Bitbake build system and the Poky distribution inside the Yocto Project.

General discussion about Web Hob happens on a dedicated mailing list: https://lists.yoctoproject.org/listinfo/webhob

Project planning is available below, are the design documents we follow.

User interface

The design of the user interface takes place in iterations, and most recent designs supersede older ones. Here is a set of links to design documentation.

Toaster clickable prototype

Old design documents

Project Planning

We plan to develop Toaster functionality in stages. Each stage should match with an Yocto Project release.

YP 1.5 release

  • Toaster will offer features to record and analyze bitbake runs, where a bitbake run is an invocation of bitbake to a certain target.
  • Toaster will offer ways to inspect the system image contents generated by running a Poky target that results in a disk image.

[Toaster Bugzilla feature list]

Architecture and component design

We are planning the capabilities of Toaster based on evolutive stages of implementation, using community feedback on each stage to plan, design and implement a set of capabilities for the next stage. In the first stage, synchronized with the planning of Yocto 1.5, we'll implement a build analysis / image inspection module.

Toaster is designed as a collection of components that will run independently performing isolated functions. The interfaces between components are documented on this wiki as to ease interoperability with newer components. From design phase, we've taken care to account for further expansion needs, and account for scalability problems.

  • [[ Toaster source code repository details ]]

Installation and Running

You need this stuff ready:

  • Django 1.4.5; easiest way is to install system wide with pip install django==1.4.5
  • Make sure that port 8000 and 8200 are free, i.e. no servers on them

To get it up and running:

Bitbake extra options
  • Toaster needs buildhistory enabled in Bitbake in order to record target image package information.

Enable it by adding INHERIT += "buildhistory" in your conf/local.conf file.

A bunch of files are created and used under the build/ directory:

  • toaster.sqlite - the database file
  • toaster_web.log - the log file of the web server
  • toaster_ui.log - the log file of the ui component
  • .toastermain.pid - contains the pid of the web server
  • .toasterui.pid - contains the pid of the DSI data bridge
  • bitbake-cookerdaemon.log - the log file of the bitbake server


For more details, including how it runs, see [[ A manual for installation and running Toaster ]].

Testing

Documentation and results related to Toaster Quality Assurance.

QA Reports and Bugzilla entries

Old page content

This page is about the Web Hob project. Web Hob is a web-based interface to the Yocto Project.

General discussion about Web Hob happens on a dedicated mailing list: https://lists.yoctoproject.org/listinfo/webhob

There have been 2 main pieces of work related to Web Hob so far:

Web Hob information architecture

This document represents the content structure of the Web Hob application.

File:Web Hob content structure.pdf

Different approaches to multi-user workflows

This document outlines the different approaches we have uncovered so far to facilitate multi-user and team work with Web Hob.

Visualisations index

The build analysis functionality in Web Hob will include several graphical presentations of build data. The first step to design them is listing them all.