diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2015-06-11 18:27:53 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-06-26 09:27:32 +0100 |
commit | d7c8d9558c8b600be1507212c78dde833b2bb57e (patch) | |
tree | 941c11d7e4aeca7f0c1106a39d1b8006264fbd16 /bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py | |
parent | 160563532f87bd901e1cc6972fe238be87a8b63c (diff) | |
download | poky-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.py | 32 |
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 @@ | |||
1 | from django.core.management.base import NoArgsCommand, CommandError | 1 | from django.core.management.base import NoArgsCommand, CommandError |
2 | from django.db import transaction | 2 | from django.db import transaction |
3 | from orm.models import Build, ToasterSetting | 3 | from orm.models import Build, ToasterSetting, LogMessage, Target |
4 | from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException, BuildSetupException | 4 | from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException, BuildSetupException |
5 | from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable | 5 | from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable |
6 | import os | 6 | import 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 | ||