[Toaster] Toaster documentation, 1.6 release

Barros Pena, Belen belen.barros.pena at intel.com
Tue Apr 1 09:32:46 PDT 2014


I have added the "Setting up a Toaster Instance on a Remote Host" section
to the wiki:

https://wiki.yoctoproject.org/wiki/Toaster#Setting_up_a_Toaster_Instance_on
_a_Remote_Host

Please review the content. There are a couple of things in there I have
questions about:

* "Clone a separate, local Git repository of the Toaster master branch to
use for running the Web server." Does this refer to the 1.6 release or
master branches? 

* $ nohup bitbake --observer-only -u toasterui &

Is the above command complete?

Cheers

Belén


On 20/03/2014 09:54, "Barros Pena, Belen" <belen.barros.pena at intel.com>
wrote:

>Thanks, Scott!
>
>This needs to be reviewed by Alex and Paul: hopefully they can provide
>some feedback.
>
>Cheers
>
>Belén
>
>On 19/03/2014 19:15, "Scott Rifenbark" <srifenbark at gmail.com> wrote:
>
>>Belen, 
>>
>>Here is a version from me based purely on the text from the link in the
>>original email from Alex.  I culled out some stuff that seemed to be
>>"behind the scenes" information for future development and just
>>concentrated on what I saw as how this stuff needed
>> to be set up now.
>>
>>
>>One thing I am unclear of ....  It seems that the bigger picture here is
>>not simply setting up an instance of Toaster on a remote host.  But,
>>rather, setting up stuff so that you can log build information from
>>multiple instances of toaster that might be
>> spread around on various machines.  And, to do this you can set up a
>>common logging server and web server.  Is that right assumption?  That is
>>the assumption I based the front part of the section on.  If not, I need
>>more of the bigger picture.
>>
>>
>>
>>Give me some feedback on this and we will then take it to the next level.
>>
>>Thanks,
>>Scott
>>
>>
>>---------------------------------------
>>
>>
>>Setting up a Toaster Instance on a Remote Host
>>
>>
>>
>>
>>
>>Under normal circumstances, starting Toaster causes three things happen:
>>
>>
>>* A BitBake server starts
>>
>>* The Toaster UI starts, which connects to the BitBake server on one side
>>and to the SQL database on the other side
>>
>>* The web server starts, which reads the database and displays the web
>>user interface
>>
>>
>>Situations exist, however, where you might want to have multiple
>>instances of Toaster running on various remote machines.  You can create
>>this situation by basically modifying how toaster starts and where the
>>common SQL database resides.  You are able to do
>> this because it is not required that Toaster starts the above set of
>>components in order to run.  Minimally, an instance of Toaster requires
>>just one of the components to run.  Consequently, you are free to
>>manually start as many or few of the components as
>> you need rather than using the Toaster script to cause all three things
>>to happen.
>>
>>
>>The concepts for setting up multiple instances of Toaster revolve around
>>maintaining a common SQL database and Web server that show data from that
>>common database and then setting up separate instances of BitBake servers
>>and Toaster user interfaces for each
>> separate BitBake build directory.  Note that the common SQL database and
>>the Web server shows data from all the various BitBake builds.  Setting
>>the SQL database outside of any BitBake build directories maintains a
>>separation layer between the various builds.
>>
>>
>>The database is persistent because the logging database is set up
>>external to the database server (e.g. MySQL).  It is not even necessary
>>to run the BitBake servers, the SQL server, and the Web server on the
>>same machine.  Each component can be run on its own
>> machine.
>>
>>
>>Here are the steps to get set up:
>>
>>
>>1. Set up the SQL Logging Server and the Web Server
>>
>>
>>You can use any SQL server out of the box (e.g. apt-get install
>>mysgl-server for an Ubuntu system) works.  If you are concerned about
>>performance, you might want to hand-tune the server.  You must set up
>>proper username and password access for the server.
>> You need administration rights for the mysql root account.  Realize that
>>this is not the same thing as root access on the machine.
>>
>>
>>Clone a separate, local Git repository of the the Toaster master branch
>>to use for running the web server.  You do not perform builds on this
>>tree.  You need to create this local repository away from any build
>>areas.
>>
>>
>>In the separately cloned tree for the web server, edit the
>>bitbake/lib/toaster/toastermain/settings.py file so that the "DATABASES"
>>value points to the previously created database server.  Use the username
>>and password you established earlier.
>>
>>
>>Run the database sync scripts to create the needed tables as follows:
>>
>>
>>     python bitbake/lib/toaster/manage.py syncdb
>>
>>     python bitbake/lib/toaster/manage.py migrate orm
>>
>>
>>Start the web server using the following command:
>> 
>>
>>     python bitbake/lib/toaster/manage.py runserver
>>
>>
>>
>>2. Enable build logging to the common SQL server for each build directory
>>you are using.
>>
>>
>>Edit _build local_ bitbake/lib/toaster/toastermain/settings.py to alter
>>the "DATABASES" value to point to the common SQL logging server.
>>
>>
>>
>>Start the BitBake server using the following command:
>>
>>
>>     bitbake --postread conf/toaster.conf --server-only -t xmlrpc -B
>>localhost:0 && export BBSERVER=localhost:-1
>>
>>
>>Start the logging user interface using the following command:
>>
>>
>>     nohup bitbake --observer-only -u toasterui &
>>
>>
>>NOTE: No hard-coded ports are used as there is enough code to run
>>autodiscovery for ports to prevent collisions.
>>
>>
>>At this point, you are ready to run your builds using commands such as:
>>
>>
>>     bitbake core-image-minimal
>>
>>
>>When you are finished, you need to be to kill the BitBake server for that
>>particular build area:
>>
>>
>>     bitbake -m
>>
>>
>>
>>3. Verify that it all works.
>>
>>
>>You should examine the logs and be sure that the logging worked, that
>>data is persistent, and that data from multiple builds from different
>>areas was supported.
>>
>>
>>---------------------------------------
>>
>>
>>On Tue, Mar 18, 2014 at 10:47 AM, Barros Pena, Belen
>><belen.barros.pena at intel.com> wrote:
>>
>>Hi Scott,
>>
>>As I mentioned, we would like to document how to set up a Toaster
>>instance
>>in a remote host. Alex Damian sent an email to the mailing list
>>explaining
>>the process back in February. This is it:
>>
>>https://lists.yoctoproject.org/pipermail/toaster/2014-February/000464.htm
>>l
>>
>>We are thinking of documenting this in the wiki for the moment, with
>>maybe
>>a link to it from the existing Toaster section in the Development Manual.
>>
>>Just contact any of us, or the Toaster mailing list, if you have any
>>questions.
>>
>>Thanks for your help with this!
>>
>>Belén
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>-- 
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster



More information about the toaster mailing list