summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2015-06-11 18:27:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-26 09:27:32 +0100
commitd7c8d9558c8b600be1507212c78dde833b2bb57e (patch)
tree941c11d7e4aeca7f0c1106a39d1b8006264fbd16 /bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
parent160563532f87bd901e1cc6972fe238be87a8b63c (diff)
downloadpoky-d7c8d9558c8b600be1507212c78dde833b2bb57e.tar.gz
bitbake: toaster: fill in build data from buildrequest
This patch adds logic to complete changing the interface from showing BuildRequests to showing Build data. The BuildRequest data is now transformed in Build data with proper Toaster exceptions being recorded instead of listing problems during startup as build errors. (Bitbake rev: 51a41172d0b390370f9a38696b1ac65666ada4d2) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py')
-rw-r--r--bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py32
1 files changed, 31 insertions, 1 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 920d9efcd0..da7d4af07e 100644
--- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -1,6 +1,6 @@
1from django.core.management.base import NoArgsCommand, CommandError 1from django.core.management.base import NoArgsCommand, CommandError
2from django.db import transaction 2from django.db import transaction
3from orm.models import Build, ToasterSetting 3from orm.models import Build, ToasterSetting, LogMessage, Target
4from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException, BuildSetupException 4from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException, BuildSetupException
5from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable 5from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable
6import os 6import os
@@ -109,6 +109,36 @@ class Command(NoArgsCommand):
109 from datetime import timedelta 109 from datetime import timedelta
110 # DISABLED environments locked for more than 30 seconds - they should be unlocked 110 # DISABLED environments locked for more than 30 seconds - they should be unlocked
111 #BuildEnvironment.objects.filter(lock=BuildEnvironment.LOCK_LOCK).filter(updated__lt = timezone.now() - timedelta(seconds = 30)).update(lock = BuildEnvironment.LOCK_FREE) 111 #BuildEnvironment.objects.filter(lock=BuildEnvironment.LOCK_LOCK).filter(updated__lt = timezone.now() - timedelta(seconds = 30)).update(lock = BuildEnvironment.LOCK_FREE)
112
113
114 # update all Builds that failed to start
115
116 for br in BuildRequest.objects.filter(state = BuildRequest.REQ_FAILED):
117 br.build.outcome = Build.FAILED
118 # transpose the launch errors in ToasterExceptions
119 for brerror in br.brerror_set.all():
120 LogMessage.objects.create(build = br.build, level = LogMessage.EXCEPTION, message = brerror.errmsg)
121 br.build.save()
122
123
124
125 # update all BuildRequests without a build created
126 for br in BuildRequest.objects.filter(build = None):
127 br.build = Build.objects.create(project = br.project, completed_on = br.updated, started_on = br.created)
128 br.build.outcome = Build.REQ_FAILED
129 try:
130 br.build.machine = br.brvariable_set.get(name='MACHINE').value
131 except BRVariable.DoesNotExist:
132 pass
133 br.save()
134 # transpose target information
135 for brtarget in br.brtarget_set.all():
136 Target.objects.create(build = br.build, target= brtarget.target)
137 # transpose the launch errors in ToasterExceptions
138 for brerror in br.brerror_set.all():
139 LogMessage.objects.create(build = br.build, level = LogMessage.EXCEPTION, message = brerror.errmsg)
140
141 br.build.save()
112 pass 142 pass
113 143
114 144