aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2014-03-24toaster: replace package dependency tag w/ view queriesAlexandru DAMIAN
This patch moves the queries for package dependencies from the project tags to the views. This is done to bring the code inline with the Django philosophy of making all data queries in views.py This change has no performance implication. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: clean exit on bb server shutdownAlexandru DAMIAN
This patch adds the capability to have the Toaster UI detect when the Bitbake server exited and cleanly trigger a clean shutdown of the system through the toaster starting script. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toasterui: save missed sstate tasksAlexandru DAMIAN
We save the missed sstate tasks as tasks that executed but have the sstate_result set to "SSTATE_MISSED", signaling that the attempt to find an sstate file failed. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: select recipe based on PN nameAlexandru DAMIAN
When saving task stats, if there were multiple tasks executed based on the same recipe file, we might have saved the stats to the wrong task by selecting another recipe. This patch takes the PN into account to properly select the file stats. A check is also made to make sure we don't fail saving data due to interrupted builds. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: Remove circular dependecies from packages/recipesIrina Patru
The RelatedManager for Package_Dependency and Recipe_Dependency is changed so that circular dependacies are hidden in the UI, but will still remain in the database. [YOCTO #5655] Signed-off-by: Irina Patru <irina.patru@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: combine ready functionsAmit Kumar Chaudhary
Merge the code into single ready function. [YOCTO #4283] Signed-off-by: Amit Kumar Chaudhary <amit@floatingpondtech.com>
2014-03-24toaster: add search by section to all recipe pageDavid Reyna
Add the 'section' to the searchable columns list for the recipe model. [YOCTO #5993] Signed-off-by: David Reyna <David.Reyna@windriver.com>
2014-03-24bitbake toaster: check the file_name with the content of the IMAGE_FSTYPES ↵Cristiana Voicu
variable File_name information of Target_image_file is being collected for a .rootfs.manifest file. We would like not to collect this. The solution is to cross check the information gathered for file_name with the content of the IMAGE_FSTYPES variable. If any of the file_name entries does not match the content of IMAGE_FSTYPES, we do not store it. [YOCTO #5189] Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: apply filter only on selected attributesMarius Avram
This fixes the filter from the main page: 'All builds' applied to the table header. Once one is selected, the filter button for that respective column will receive a title attribute which will show additional options when you hover over it. Until now the additional option was active for all filters buttons not only for the one selected. This also caused malformed output in the case of the buttons which weren't among the selected filter. [YOCTO #5929] Signed-off-by: Marius Avram <marius.avram@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: Change "0 found" to "No found"Belen Barros Pena
Change the string in the h1 when search returns no results from "0 things found" to "None things found". The change applies to the BitBake variables, tasks, recipes, packages built, time, CPU and disk I/O tables. [YOCTO #5981] Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-24toaster: Update local configuration counterBelen Barros Pena
The counter for the local configuration filter in the variables table was counting only variables set by local.conf. Updating to add in variables set by bblayers.conf Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-24toaster: Add help text to filtersBelen Barros Pena
The 'Set in file' and 'Description' filters in the configuration page, and the 'Outcome' and 'Cache attempt' filters in the tasks page should include a help tooltip with some explanation about what they do. This change adds the tooltips. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-24toaster: Fix alignment issue in searchformBelen Barros Pena
The search form in basetable_top.html had a small alignment issue between the search text field and the search button. This change aligns the elements correctly. Whitespace fix by Alex Damian. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-24toaster: fix package size 1st sort orderDave Lerner
[YOCTO #5914] On the pages with tables listing packages with a size column, change the first click sort order on the size column so that packages are sorted in decreasing order instead of increasing order. It is more likely that the user sorts this page data by size because the user is interested in those packages consuming the most disk space. Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
2014-03-24toaster: Change objectname 'packages' to 'packages built'Belen Barros Pena
This will set the placeholder attribute of the search input field in bpackage.html to the required "Search packages built". [YOCTO #5977] Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-24toaster: reset default filter for configvar page on new searchesDavid Reyna
The configvar page has a default filter by design. However, new search terms should override and clear that filter, for consistency across the interface. [YOCTO #5961] Signed-off-by: David Reyna <David.Reyna@windriver.com>
2014-03-24toaster: warn new filter replaces existing filterDavid Reyna
If the user pop-ups a filter dialog when another filter is already active, warn the user that the new filter would replace the previous filter. [YOCTO #5960] Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24toaster: Revert "added file types to the Outputs column in the build page"Alexandru DAMIAN
This reverts commit d40ac966b22e1fa1956d8f2fe37fd55fa670e88f. Sloppy review on my part let the original patch in, when it should've been rejected because the filter tags should have no knowledge of the object system. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-24hob: output filenames based on initial recipe nameMarius Avram
If a recipe for an image was edited from the hob interface the name of the files outputed in the <build_dir>/tmp/deploy/images/${MACHINE}/ and the temporary recipes from <build_dir>/recipes/images/ contained only the generic name "hob-image". From now on both the temporary recipes and the output from the deploy/ directory will contain the name of the base recipe appended by the "-edited" suffix, in the case when a base image recipe was edited. The base recipe can be a standard recipe (e.g core-image-minimal) or a custom created and saved by the user. For example, if core-image-minimal is edited the deploy/ directory will contain core-image-minimal-edited-20140318-140428-qemux86.ext3 and the recipes/images/ directory will contain the recipe core-image-minimal-edited-20140318-140428.bb. [YOCTO #5002] Signed-off-by: Marius Avram <marius.avram@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24fetch2.URI: Set username/password should not change the otherOlof Johansson
When setting the username after already having set the password, the password was unexpectedly reset. This change fixes this issue and introduces unit tests to make sure it doesn't happen again. Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24fetch2.URI: Support URIs with both query strings and paramsOlof Johansson
There is a case in meta-intel where a SRC_URI contains both a query string and URI parameter: https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz Python's urlparse thought the URI parameters were part of the query parameter value, but in the bitbake context this is obviously not the case. As bitbake's usage isn't really RFC compliant, we have to extract and remove the URI parameters *before* urlparse sees the URI. Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24fetch2.URI: add support for query parametersOlof Johansson
This change introduces the .query property of the URI class. It is a read/write dict of the parameters supplied in the query string of the URI. E.g.: http://example.com/?foo=bar => .query = {'foo': 'bar'} Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24tests.fetch: Remove debug assertOlof Johansson
Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-24fetch2.URI: Coerce urlparse to use netloc for all schemesOlof Johansson
Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21toaster: fix task elapsed time calculationAlexandru DAMIAN
This patch restricts the elapsed calculation to just the events that have the "time" parameter set. This fixes an error where data was lost due to an exception where invalid dictionary lookups were made on the wrong events. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-21toaster: image information viewsDave Lerner
[YOCTO # 4346] When a target image is selected, this commit adds to the toaster project a two-tabbed page that shows 1) 'packages included' a table of packages included in the image (see target.html), and 2) 'directory structure', the target image's file system directory and detailed information showing the source of each file in the directory table (see dirinfo.html). The directory structure tab relies on the open source jQuery plugin jtreetable which provides hierarchical table expansions and contractions of the directory entry tables as the user drills down into directories. A file of jtreetable styles that are compatible with other toaster styles is provided included as css/jquery.treetable.theme.toaster.css. The complete unaltered jtreetable plugin is added via a separate commit. This work was developed base on the bugzilla specification number 4346 and the document "Design 1.1 Image information" attached to that report. Whitespace and typo fixes from Alex Damian. Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-21toaster: add jquery treetable pluginDave Lerner
This commit includes the critical javascript and css files downloaded from http://plugins.jquery.com/treetable version 3.1.0. The following is from the author's README.md included with the license files in the directory static/jquery-treetable-license. "jQuery treetable is a plugin for jQuery, the 'Write Less, Do More, JavaScript Library'. With this plugin you can display a tree in an HTML table, e.g. a directory structure or a nested list... Download the latest release from the jQuery Plugin Registry or grab the source code from Github. Please report issues through Github issues. This plugin is released under both the MIT and the GPLv2 license by Ludo van den Boom... See index.html for technical documentation and examples. The most recent version of this document is also available online at http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example built with Ruby on Rails can be found at https://github.com/ludo/jquery-treetable-ajax-example." Author: Ludo van den Boom The relevant files were moved to the static/js and static/css directories to match the existing javascript and css toaster deployment model. The applicable licenses and the README are in static/jquery-treetable-license. Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
2014-03-21toaster: filter out setscene tasks in recipe detailsDavid Reyna
Filter out any *_setscene tasks in recipe details page, as they are not relevant. [YOCTO #5913] Signed-off-by: David Reyna <David.Reyna@windriver.com>
2014-03-21toaster: Amend failed tasks behaviourBelen Barros Pena
In the builds table, when a build reports more than one failed task, the number of failed tasks should be a link to the tasks table with the failed tasks filter applied. Amend the URL to include the filter. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: Set display of "Cache attempt" columnBelen Barros Pena
The "Cache attempt" column should display by default in the tasks table, but should be hidden by default in the time, CPU and Disk I/O tables. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: Remove extra space in the breadcrumbBelen Barros Pena
For builds with more than one target, remove the extra space between the '+' and the number of targets - 1. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: Change "Package version" to "Version"Belen Barros Pena
We use "Version" everywhere else. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: Remove trailing spaces from 'name'Belen Barros Pena
Those extra spaces were showing in the heading of the filter modal dialogs. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: Add link to the Toaster manualBelen Barros Pena
The Toaster manual will live at http://www.yoctoproject.org/documentation/toaster-manual and should open in a new tab / window. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-21toaster: measure task duration with server-side timestampsAlexandru DAMIAN
The buildstats and toaster use separate time markers to measure the duration of task execution. This causes a mismatch in the time measured by buildstats class and the time measured in toaster. The solution implemented here is to timestamp the creation of every TaskBase event on the bitbake server side and calculate the execution duration as the difference between creation time of TaskSucceeded and TaskStarted events. Based on an original patch by Marius Avram. [YOCTO #5485] Signed-off-by: Marius Avram <marius.avram@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2014-03-21ConfHandlerr: Use full path in variable historyMarius Avram
When an evaluation was made for a configuration file the path to the file was saved as a relative one. The change in this commit will save the location as an absolute path. This way the user will have full information regarding the location of the file where a variable was changed and the line withing the file. [YOCTO #5562] Signed-off-by: Marius Avram <marius.avram@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19runqueue: Remove use of waitpid on worker processesRichard Purdie
Use of waitpid on the worker processes is a bad idea since it conflicts directly with subprocess internals. Instead use the poll() method and returncode to determine if the process has exitted, if it has, we can shut down the system. This should resolve the hangs once and for all, famous last words. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19runqueue: Revert child signal handler for nowRichard Purdie
We're running into processes using 100% cpu. It appears theses are locked in a subprocess.poll() type loop where the process has exited but the code is looping as its not handling the ECHILD error. http://bugs.python.org/issue14396 http://bugs.python.org/issue15756 This is likely due to one or both of the above bugs. The question is what actually grabbed the child exit code as it wasn't this code. Its likely there is therefore some other code racing and taking that code, it may be some kind of race like: http://hg.python.org/cpython/rev/767420808a62/ where the fix effectively catches the childs codes in a different part of the system. We could try and get everyone onto python 2.7.4 where the above bugs are fixed however for now its safer to admit defeat and go back to polling explictly for our worker exit codes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-19runqueue: Don't catch all child return codesRichard Purdie
Catching all child exit status values is a bad idea. Setting an http sstate mirror is a great way to view that spectacularly break things. The previous change did have good code changes so don't revert those parts. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18runqueue: Really fix sigchld handlingRichard Purdie
There are several problems. Firstly, a return value of "None" can mean there is a C signal handler installed so we need to better handle that case. signal.SIG_DFL is 0 which equates to false so we also need to handle that by testing explicitly for None. Finally, the signal handler *must* call waitpid on all child processes else it will just get called repeatedly, leading to the hanging behaviour we've been seeing. The solution is to only error for the worker children, we warn about any other stray children which we'll have to figure out the sources of in due course. Hopefully this patch gets things working again properly though. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18runqueue: Ensure handler does not recurseRichard Purdie
Failures on the autobuilder look like this handler is recursing. That shouldn't be possible but it doesn't hurt to code as such. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18runqueue: More carefully handle the sigchld handlerRichard Purdie
We've noticed hanging processes which appear to be looping around waitpid. Its possible multiple calls to teardown are causing problem or in theory multiple registrations (although the code should not allow that). Regardless, put better guards around signal handler registration. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-17hob: sync after image deployValentin Popa
Showing "Deploy image successful" after 'dd' returns may determine the user to disconnect the usb stick even though the writing operations are not finished. This patch makes sure that the entire image is deployed on the usb stick before the user is informed about any result. [YOCTO #5892] Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-17runqueue: Don't error if we never setup workersRichard Purdie
If we didn't setup any workers (such as bitbake -S), this would error since we're trying to set a signal handler to None. This patch avoids that problem. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-17toaster: added file types to the Outputs column in the build pageFarrell Wymore
The file types are displayed in the Outputs column in the build page. The file types are derived from the target image filenames. [YOCTO #5947] Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
2014-03-17toaster: Sort layers in alphabetical orderBelen Barros Pena
In the Summary tab of the Configuration page, make sure that the table of layers is sorted by layer name in ascending alphabetical order. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-17toaster: Remove the data-toggle attributeBelen Barros Pena
Help icons with the .get-help class do not need the data-toggle attribute. That attribute initialises the Bootstrap tooltips, but they are already initialised in main.js for any element with the .get-help class. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-17toaster: Don't show clear search button if text input field is emptyBelen Barros Pena
The clear search button should only show when the search text input field is populated. If it is empty (as it happens when a filter returns no results) the clear search button should not display. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-17toaster: Fix Recipe sorting in tasks tableBelen Barros Pena
In the tasks table and the other tables derived from it (Time, CPU usage and Disk I/O) sorting by Recipe was not working correctly. This change fixes the problem by specifying use of the recipe name to sort. Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
2014-03-17toaster: Not using task_color tag for execution headingBelen Barros Pena
The modifications to the task_color tag in commit 23a7c338d387ac2ba13a7a1114a4abc75228c960 broke the styling of failed tasks in the tasks.html template. Undo the changes to the task_color tag and use an if statement instead to set the .muted class when the execution heading says "Not executed". Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>