summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastermain
AgeCommit message (Collapse)Author
2015-10-27bitbake: toaster: Add BUILD_MODE flag to contextElliot Smith
We set a TOASTER_MANAGED env variable in the startup script, which has a value of "1" if Toaster should run in build mode. Add a BUILD_MODE variable to settings.py which is True if TOASTER_MANAGED is set to "1", False otherwise. Add this to the context for every template, so we can use this information to conditionally alter the content of pages according to the mode we're in. [YOCTO #8514] (Bitbake rev: f9cf4739fc85c9760ce748323dc7c8de3fa7eaec) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29bitbake: toaster: add toggle for enabling image customisation feeatureMichael Wood
This feature is currently under heavy development and should be used with caution. (Bitbake rev: ffc11b2c6c6bac4643233cc46418b025c94607c8) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18bitbake: toaster: delete multiple builds cleanupbrian avery
This patch cleans up the multiple delete. It: 1) skips build id's that don't exist rather than giving a traceback. 2) let you pass in the ids as a space separated list 3) fixes the usage to match the space separated list format [YOCTO #7726] (Bitbake rev: a065f7e5e9c07dbd71a98e7db1d7f711607716f3) Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19bitbake: toaster: fix pylint errorsAlexandru Damian
Prompted by issues discovered during running pylint on the toaster sources, this patch fixes: * missing import in toaster ui * improper call of function in toaster ui (logger.debug) * improper function definitions in bbcontroller * invalid references to objects in bldcontrol.models * proper initialization of object fields in ToasterTables Also inhibiting specific pylint errors in files where the problems are mis-identified. (Bitbake rev: 1c71955c416fb68455f7f70669aba4202c411807) Signed-off-by: Alexandru Damian <alexandru.damian@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastermain: Add a longer default database timeoutMichael Wood
When using sqlite we sometimes see Database Locked exceptions when we fire off database calls asynchronously from the UI. We need sqlite to wait a bit longer for the lock to be released. n.b In production setup we hopefully wouldn't be using sqlite. docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors (Bitbake rev: 7f3a4e0330f4de3ba8e092bc1c15a53d8c2be073) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toaster: Add url pattern for backward compatibilityMichael Wood
This adds an url to match the old orm application. (Bitbake rev: 0a8e740e18333da981b24a76db4c891845e5df78) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toaster: split orm app into it's own module and appMichael Wood
The orm application was also the django application to collect the build information. Splitting this module up into it's functional parts. orm for the data module and bldcollector for build collection data. (Bitbake rev: 8ca10764ffd6cfec12cbfeabf240d81213a07845) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toaster: delete multiple buildsAlexandru DAMIAN
This patch fixes the build deletion on unmigrated databases, and enhances it to delete multiple builds in a single run. [YOCTO #7726] (Bitbake rev: d5468d84c1ef83c780de5974c8e3a11eab762489) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toaster: bring django-aggregate-if into the projectAlexandru DAMIAN
We bring the django-aggregate-if module (with minor changes to import) into the project. (Bitbake rev: 4b92add34167304b45c66b9726cbc64bc0f74d9f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toastergui: enable strict variable checkingAlexandru DAMIAN
In order to make sure we don't use undefined variables in the templates, we enforce strict variable checking in the templating engine. (Bitbake rev: 3928dc93188880386588fe3f440cd0aaa83d22de) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toastergui: remove xhr_datatypeahead and xhr_XXXbuildAlexandru DAMIAN
We remove the endpoints for XHR on the toastergui application. The endpoints are now replaced with calls to the respective REST endpoints (i.e. projectlayers, projecttargets, projectmachines). (Bitbake rev: 8e7a2c3b125a34fd9d6fa0442ab13290137ecc51) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29bitbake: toaster: enable server-side sessions for all usagesAlexandru DAMIAN
In an effort to fix client-side session storage using cookies, we enable server-side session support for all pages. (Bitbake rev: ba10b6f89767c0dad8a2b064f42a84956764e9da) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-14bitbake: toaster: Remove old bldviewer applicationMichael Wood
The SimpleUI is obsolete and not maintained. It should be deleted as there is no use to it. [YOCTO #7709] (Bitbake rev: 10b7c359613629bf6e3465234512990ba4742c48) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24bitbake: toasterui: style the Toaster version informationBelen Barros Pena
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>
2015-02-20bitbake: toaster: get proper version stringAlexandru DAMIAN
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>
2015-02-20bitbake: toaster: bitbake cooker log saving and downloadingAlexandru DAMIAN
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>
2015-02-10bitbake: toaster: display Toaster mode and version in debug modeAlexandru DAMIAN
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>
2015-02-10bitbake: toaster: improve logging facilities for toasterAlexandru DAMIAN
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>
2015-02-10bitbake: toastergui: improvements in layer selection logicAlexandru DAMIAN
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>
2015-02-10bitbake: toaster: enable server-side caches and debug-panelAlexandru DAMIAN
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>
2014-12-18bitbake: toasterui: add extra debug and development infosAlexandru DAMIAN
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>
2014-11-21bitbake: toaster: skip virtualenv when searching for django appsMichael Wood
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>
2014-11-12bitbake: toaster: SQL query loggingAlexandru DAMIAN
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>
2014-08-29bitbake: toaster: enable admin interface on select modelsAlexandru DAMIAN
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>
2014-08-29bitbake: toaster: update orm models for layerindex compatibilityAlexandru DAMIAN
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>
2014-08-29bitbake: toaster: fix application discovery in settings.pyAlexandru DAMIAN
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>
2014-07-14bitbake: toaster: add project pagesAlexandru DAMIAN
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>
2014-07-14bitbake: toaster: automatically enable applicationsAlexandru DAMIAN
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>
2014-07-14bitbake: toaster: automatically discover urls.py filesAlexandru DAMIAN
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>
2014-06-20bitbake: toaster: Add performance testing scriptIonut Chisanovici
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>
2014-06-13bitbake: toaster: add function to get the database urlAlexandru DAMIAN
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>
2014-06-13bitbake: toaster: create models for bldcontrol and enable itAlexandru DAMIAN
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>
2014-06-06bitbake: toaster: read database settings from the environmentAlexandru DAMIAN
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>
2014-04-09bitbake: toaster: Allow toaster to start without pytzAlexandru DAMIAN
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>
2014-04-09bitbake: toaster: do not load all available timezonesAlexandru DAMIAN
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>
2014-04-01bitbake: toaster: fix timezone detectionAlexandru DAMIAN
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>
2014-03-11bitbake: toaster: add commands to list and delete buildsAlexandru DAMIAN
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>
2014-01-27bitbake: toaster: settings remove duplicate entryAlexandru DAMIAN
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>
2014-01-27bitbake: toaster: add vim modelines for .py filesAlexandru DAMIAN
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>
2014-01-10bitbake: toaster: Create the base page navigation structureAlexandru DAMIAN
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>
2014-01-10bitbake: toaster: clone Simple UI as base for Toaster GUIAlexandru DAMIAN
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>
2013-12-10bitbake: toaster: migrate orm models to SouthAlexandru DAMIAN
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>
2013-12-10bitbake: toaster: update to Django 1.5Alexandru DAMIAN
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>
2013-11-04bitbake: toaster: fix timezone settingsAlexandru DAMIAN
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>
2013-10-18bitbake: toaster: add toaster code to bitbakeAlexandru DAMIAN
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>