summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastermain
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toasterui: style the Toaster version informationBelen Barros Pena2015-02-241-2/+2
| | | | | | | | | | | | When debugging is turned on, we show some Toaster version information in the top bar. Present it so that it can be easily copied and pasted. (Bitbake rev: 5de46fabe9ab1e525048353c2ecd8846ffefc760) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: get proper version stringAlexandru DAMIAN2015-02-201-1/+2
| | | | | | | | | | | This patch brings in the toaster tree commit ID in the version string to allow users properly report their toaster version when submitting issues. (Bitbake rev: 5cc87ee0ac3b2bd399e7f009dda9d6de87209a27) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: bitbake cooker log saving and downloadingAlexandru DAMIAN2015-02-201-3/+3
| | | | | | | | | | | | | | | | | | | | | This patch brings in cooker log saving and proper download links. * toasterui will now write the cooker log file if running in managed mode * the BuildRequest has a new state, REQ_ARCHIVE, indicating that the build is completed, and the artifacts are ready to be grabbed * the runbuild test execution commands will gather needed artifacts, and save them to a storage directory selected during Toaster setup. * the build dashboard, project builds and all builds pages have permanent links for the cooker log [YOCTO #7220] [YOCTO #7206] (Bitbake rev: fad80e36c9da663b000cdf2cb3c75440c6431d84) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: display Toaster mode and version in debug modeAlexandru DAMIAN2015-02-101-2/+3
| | | | | | | | | | This patch displays the current running mode and checked-out git branch as Toaster version when running in debug mode. (Bitbake rev: 93e4f8c44273f4657c5be4c00b61db12aa875e31) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: improve logging facilities for toasterAlexandru DAMIAN2015-02-102-4/+20
| | | | | | | | | | | | | | | | | | | This patch improves the logging facilities for toaster in order to help diagnose bugs that happen on user machines. The logs are stored now under "/tmp/toaster_$$" where $$ is a PID-based unique identifier. On shutdown, toaster will automatically erase all logs unless errors are listed in the log file. On error, Toaster provides suggestions on what to do. This patch includes a minor fix found as a result of logging improvements. (Bitbake rev: 8a8248f7b7e30469f592e2f8adbf6ce21e8685c5) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toastergui: improvements in layer selection logicAlexandru DAMIAN2015-02-101-0/+5
| | | | | | | | | | | | | | | | This patch clearers and bring fixes for the layer selection logic in order to enable information collected during build to be used in configuring projects, specifically targeting the recipes learned through the building process. The patch also adds tests to verify the layer selection logic. [YOCTO #7189] (Bitbake rev: f0faba8ef0f08c98ac4bddf5b3954d540820d215) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: enable server-side caches and debug-panelAlexandru DAMIAN2015-02-101-1/+40
| | | | | | | | | | | | This patch enables the server-side caches for Django using file cache in /tmp/ directory. Patch enables django debug panel if available. (Bitbake rev: 00496fb67fa341477edbf80c5438f0b069871ac6) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toasterui: add extra debug and development infosAlexandru DAMIAN2014-12-182-5/+32
| | | | | | | | | | | | | | | | | | | | | | We update and add logs throughout the code in order to help with development. The extra logging is turned off by default, but it can be enabled by using environment variables. All logging happens through the Python logging facilities. The toaster UI will save a log of all incoming events if the TOASTER_EVENTLOG variable is set. If TOASTER_SQLDEBUG is set all DB queries will be logged. If TOASTER_DEVEL is set and the django-fresh module is available, the module is enabled to allow auto-reload of pages when the source is changed. (Bitbake rev: 10c27450601b4d24bbb273bd0e053498807d1060) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: skip virtualenv when searching for django appsMichael Wood2014-11-212-0/+8
| | | | | | | | | | | | | | If we are using a virtualenv in the current search path we end up trying to add modules to the django apps list which do not have the correct load path or are internal to other modules. Fix this by skipping the virtualenv path. [YOCTO #6896] (Bitbake rev: 3f614295d688c33b690f63ff7eb28e6988707919) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: SQL query loggingAlexandru DAMIAN2014-11-121-0/+21
| | | | | | | | | | | | | | We add a logger, enabled through the settings.py, that logs all SQL queries, with timestamp and duration, to console. This is helpful in profiling the SQL queries. The facility is disabled by default. (Bitbake rev: 54fd0a76fa3154adfab5688ecc96963f42cded11) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: enable admin interface on select modelsAlexandru DAMIAN2014-08-292-10/+18
| | | | | | | | | | | | | | | | | We enable the admin interface in Toaster. We add admin models for Build Environments (where the sysadmin can configure where the builds take place) and for Layer Sources (marking the upstream provider for layer information). The admin interface and associated data are enabled only for the MANAGED version. (Bitbake rev: 6618613c9210fb44d36d90f5f2404b435f10dfc8) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update orm models for layerindex compatibilityAlexandru DAMIAN2014-08-291-0/+2
| | | | | | | | | | | | | | | | | | | | | We add a ToasterSettings table that will keep installation-wide settings. We update the models for the layer-related data storage to make them compatible with the layerindex application API. We add a LayerSource class that can update local data from a LayerIndex-like compatible API. Adding a command line option to perform information update from all upstream layer sources. Fair warning - there is no backward migration from 0013. (Bitbake rev: 89e13579e1b44b738f10fadec8454aa0e6f073af) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix application discovery in settings.pyAlexandru DAMIAN2014-08-291-3/+1
| | | | | | | | | | | We fix application discovery, tuples don't have .append(). Other minor fixes. (Bitbake rev: a6f18aac3e6bb448d89a3425a2f756c6514ee595) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add project pagesAlexandru DAMIAN2014-07-141-4/+15
| | | | | | | | | | | | | | We add the new project and project page skeletons. In the process, we add an identifier in the settings.py to detect whenever Toaster is running in managed mode, and a context processor to make this value available to the template processor. (Bitbake rev: 927a27c68e24cfe13f62ca5f0e60878b04fa4e24) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: automatically enable applicationsAlexandru DAMIAN2014-07-141-0/+9
| | | | | | | | | | | | We automatically enable local applications in INSTALLED_APPS based on detecting a models.py or views.py file. This allows Toaster extensibility by adding applications, without having to edit configuration files. (Bitbake rev: 05b246095d161143ca2ebc126d9e70d198ab8bb8) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: automatically discover urls.py filesAlexandru DAMIAN2014-07-141-4/+12
| | | | | | | | | | | | Added code to automatically discover and add url dispatchers to the urlpattern list. This allows extension of Toaster through adding applications that will be automatically registered with the URL dispatcher. (Bitbake rev: 4000d8224206f404d174a5bc4aa49af55cb44d27) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add performance testing scriptIonut Chisanovici2014-06-201-0/+53
| | | | | | | | | | | | | | | | | | This is implemented as a django management command. For the moment the 'manage.py perf' command will track the toaster 'gui' urls http response code and load time. To use it: 1. do your toaster builds 2. ensure toaster is started 1. cd bitbake/lib/toaster 2. ln -s ../../../build/toaster.sqlite 3. ./manage.py perf (Bitbake rev: 4a1fc6851d21500150715f0e8fa03c0b228ec5f2) Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add function to get the database urlAlexandru DAMIAN2014-06-131-0/+19
| | | | | | | | | | | | | We add a function that returns the DATABASE_URL for the current 'default' database settings. This is useful to be able to start other toaster instances with the same database settigns as the currently running instance. (Bitbake rev: 272a4bba0804bb6b5e0d498d3453321b5ed1dc76) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: create models for bldcontrol and enable itAlexandru DAMIAN2014-06-131-0/+1
| | | | | | | | | | | | | | | | | | | We create the model classes that store information about triggering builds, and the available build environments. We add a fixture with a default build environment for build control, using a "build/" directory under the poky checkout directory. We enable the bldcontrol in toaster starting script and in the toaster settings as to allow the actual database to be kept in sync with the source code. (Bitbake rev: d4bfe9059f765f11244b97e324c0131f32f8e400) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: read database settings from the environmentAlexandru DAMIAN2014-06-061-1/+34
| | | | | | | | | | | | | | | We add the capability to read the database settings for Toaster from the environment. The DATABASE_URL is intepreted and used to override the default settings. This capability is essential for easy deployment of Toaster in a managed hosted environment, and for creating build environments with custom database settings. (Bitbake rev: d16d19dafb83448fc214fce4fbdc2bcbf4bf9ce3) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Allow toaster to start without pytzAlexandru DAMIAN2014-04-091-5/+9
| | | | | | | | | | | | | | | This patch allows toaster to start without pytz. Django can work with or without pytz, but in the time zone fix I mistakenly added a hard dependency on this module. This patch eliminates the hard dependency. (Bitbake rev: 40027a6e093c3b7480bfaccbd57e0e613d9a7b71) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: do not load all available timezonesAlexandru DAMIAN2014-04-091-1/+9
| | | | | | | | | | | | | | This patch makes sure that we only load pytz-recognized timezones. Pytz is used to transform the timezone information for the database queries, and needs to be able to deal with the TIME_ZONE value that we set up. [YOCTO #6093] (Bitbake rev: bfe67472e3ee778b78ef004b2153fa88b3807b92) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix timezone detectionAlexandru DAMIAN2014-04-011-3/+17
| | | | | | | | | | | | | | | This patch replaces faulty timezone detection with a version that simply reads the TZ environment variable if it is set. If the TZ is not set, we do a reverse match search among known timezone definitions and take the first match. [YOCTO #5499] (Bitbake rev: 3a0a556a65368f02635606e4eb707ca08e25007a) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add commands to list and delete buildsAlexandru DAMIAN2014-03-114-0/+46
| | | | | | | | | | | | | | We add Django commands for the manage.py to manage the database content. The two commands added are: * buildslist - produces a list of current builds * builddelete - deletes a build and all associated data from the database (Bitbake rev: e9a8c32512bb270cda3dee4a3ed5fd22204c24bc) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: settings remove duplicate entryAlexandru DAMIAN2014-01-271-1/+0
| | | | | | | | | | | | The 'toastergui' application had duplicate entries, so this patch removes the duplicate ones. Based on an original patch from Ravi Chintakunta <ravi.chintakunta@timesys.com>. (Bitbake rev: 86d3a44e81aa3dbff947330dfaeff6040bbd625f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add vim modelines for .py filesAlexandru DAMIAN2014-01-273-0/+9
| | | | | | | | | | No-op patch that adds vim modelines for all .py files intended to be user-edited. (Bitbake rev: 73271a7c6f1913c68a4b39ab86414f44acc04776) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Create the base page navigation structureAlexandru DAMIAN2014-01-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Updating the general container pages to use the graphical design and features from the design phase. In the process of adapting the Simple UI to the designed interface, we create all the pages and the navigation structure for the Toaster GUI. Views for each page have been added, and the url mapping has been updated to reflect newly added pages. The table page has been refactored to be component-oriented instead of class-oriented in order to facilitate reusage. Changes are made in different layers of the template (base, basetable) in order to maximize code reuse among different pages in the build. (Bitbake rev: d31f039ae31b77023722c06e66542751536a1362) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: clone Simple UI as base for Toaster GUIAlexandru DAMIAN2014-01-102-1/+2
| | | | | | | | | | | | | | | | | | This patch clones the Simple UI to provide the base code for the development of the Toaster GUI. The clone takes the place of the application that was reserved for Javascript MVC code. The templates used for Simple UI are renamed to start with an "simple_" to prevent name resolution conflict with the Toaster GUI templates. Minor changes are made to the settings.py and urls.py in the toaster main section to account for the newly enabled application. (Bitbake rev: e2fde84f16da017ba0d71aef6a1fa8e2b9255db4) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: migrate orm models to SouthAlexandru DAMIAN2013-12-101-0/+1
| | | | | | | | | | | | | | | | | | As Toaster advances, database schema alteration will force users to delete old versions and lose all data collected. In order to prevent this, and to allow database updates to happen without having to delete old data, we use South to handle migrations for the ORM application which stores the Toaster data. [YOCTO #5559] (Bitbake rev: 6936faed8d94f3a2ab4055049cd27d02d8229003) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update to Django 1.5Alexandru DAMIAN2013-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | In order to remain up to date with the relevant technologies, Toaster is updated with this patch to Django 1.5. This also makes headways to allow usage of emerging Django-related technologies. Changes include the startup script Django version check, usage of TemplateView instead of deprecated simple function to do redirects, and update to the new form of the _url_ template tag. Support for Django 1.4.5 is now deprecated. [YOCTO #5558] (Bitbake rev: 2d37a1731a2b681bc976f3f391d65abb7745b6f9) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix timezone settingsAlexandru DAMIAN2013-11-041-2/+3
| | | | | | | | | | | | | | | | This patch fixes an issue where, if not defined, the timezone defaults to 'America/Chicago'. The solution is to set the timezone to current computer's timezone. [YOCTO #5186] (Bitbake rev: a4102b549f04a9b52cdcd318bf511a18ab48067d) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add toaster code to bitbakeAlexandru DAMIAN2013-10-184-0/+263
This patch adds the Toaster component to Bitbake. Toaster is a module designed to record the progress of a Bitbake build, and data about the resultant artifacts. It contains a web-based interface and a REST API allowing post-facto inspection of the build process and artifacts. Features present in this build: * toaster start script * relational data model * Django boilerplate code * the REST API * the Simple UI web interface This patch has all the development history squashed together. Code portions contributed by Calin Dragomir <calindragomir@gmail.com>. (Bitbake rev: d24334a5e83d09b3ab227af485971bb768bf5412) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>