summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
diff options
context:
space:
mode:
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