bitbake: toaster: populate target image file table
Using ImageFileSize Metadata event, the image output file and its size are populated into target_image_file table. [YOCTO #5189] [YOCTO #5228] (Bitbake rev: a0b06d362b9aa08fda293489467af343c6ca6de4) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a3eb7da31c
commit
839f30486e
|
@ -26,6 +26,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "toaster.toastermain.settings")
|
||||||
|
|
||||||
import toaster.toastermain.settings as toaster_django_settings
|
import toaster.toastermain.settings as toaster_django_settings
|
||||||
from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage
|
from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage
|
||||||
|
from toaster.orm.models import Target_Image_File
|
||||||
from toaster.orm.models import Variable, VariableHistory
|
from toaster.orm.models import Variable, VariableHistory
|
||||||
from toaster.orm.models import Package, Package_File, Target_Installed_Package, Target_File
|
from toaster.orm.models import Package, Package_File, Target_Installed_Package, Target_File
|
||||||
from toaster.orm.models import Task_Dependency, Package_Dependency
|
from toaster.orm.models import Task_Dependency, Package_Dependency
|
||||||
|
@ -344,6 +345,11 @@ class ORMWrapper(object):
|
||||||
if (len(errormsg) > 0):
|
if (len(errormsg) > 0):
|
||||||
raise Exception(errormsg)
|
raise Exception(errormsg)
|
||||||
|
|
||||||
|
def save_target_image_file_information(self, target_obj, file_name, file_size):
|
||||||
|
target_image_file = Target_Image_File.objects.create( target = target_obj,
|
||||||
|
file_name = file_name,
|
||||||
|
file_size = file_size)
|
||||||
|
target_image_file.save()
|
||||||
|
|
||||||
def create_logmessage(self, log_information):
|
def create_logmessage(self, log_information):
|
||||||
assert 'build' in log_information
|
assert 'build' in log_information
|
||||||
|
@ -598,6 +604,13 @@ class BuildInfoHelper(object):
|
||||||
# Save build configuration
|
# Save build configuration
|
||||||
self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0])
|
self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0])
|
||||||
|
|
||||||
|
def update_target_image_file(self, event):
|
||||||
|
for t in self.internal_state['targets']:
|
||||||
|
if t.is_image == True:
|
||||||
|
output_files = list(event.data.viewkeys())
|
||||||
|
for output in output_files:
|
||||||
|
if t.target in output:
|
||||||
|
self.orm_wrapper.save_target_image_file_information(t, output, event.data[output])
|
||||||
|
|
||||||
def update_build_information(self, event, errors, warnings, taskfailures):
|
def update_build_information(self, event, errors, warnings, taskfailures):
|
||||||
if 'build' in self.internal_state:
|
if 'build' in self.internal_state:
|
||||||
|
|
|
@ -241,6 +241,8 @@ def main(server, eventHandler, params ):
|
||||||
buildinfohelper.store_tasks_stats(event)
|
buildinfohelper.store_tasks_stats(event)
|
||||||
if event.type == "ImagePkgList":
|
if event.type == "ImagePkgList":
|
||||||
buildinfohelper.store_target_package_data(event)
|
buildinfohelper.store_target_package_data(event)
|
||||||
|
elif event.type == "ImageFileSize":
|
||||||
|
buildinfohelper.update_target_image_file(event)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# ignore
|
# ignore
|
||||||
|
|
|
@ -25,6 +25,7 @@ from django.conf.urls import patterns, include, url
|
||||||
urlpatterns = patterns('bldviewer.views',
|
urlpatterns = patterns('bldviewer.views',
|
||||||
url(r'^builds$', 'model_explorer', {'model_name':'build'}, name='builds'),
|
url(r'^builds$', 'model_explorer', {'model_name':'build'}, name='builds'),
|
||||||
url(r'^targets$', 'model_explorer', {'model_name':'target'}, name='targets'),
|
url(r'^targets$', 'model_explorer', {'model_name':'target'}, name='targets'),
|
||||||
|
url(r'^target_image_file$', 'model_explorer', {'model_name':'target_image_file'}, name='target_image_file'),
|
||||||
url(r'^tasks$', 'model_explorer', {'model_name':'task'}, name='task'),
|
url(r'^tasks$', 'model_explorer', {'model_name':'task'}, name='task'),
|
||||||
url(r'^task_dependencies$', 'model_explorer', {'model_name':'task_dependency'}, name='task_dependencies'),
|
url(r'^task_dependencies$', 'model_explorer', {'model_name':'task_dependency'}, name='task_dependencies'),
|
||||||
url(r'^packages$', 'model_explorer', {'model_name':'package'}, name='package'),
|
url(r'^packages$', 'model_explorer', {'model_name':'package'}, name='package'),
|
||||||
|
|
|
@ -25,7 +25,7 @@ from django.db.models import Q
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable, Target_Installed_Package
|
from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable, Target_Installed_Package
|
||||||
from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency
|
from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency
|
||||||
from orm.models import Target_Installed_Package, VariableHistory
|
from orm.models import Target_Installed_Package, VariableHistory, Target_Image_File
|
||||||
from django.views.decorators.cache import cache_control
|
from django.views.decorators.cache import cache_control
|
||||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||||
|
|
||||||
|
@ -159,6 +159,7 @@ def model_explorer(request, model_name):
|
||||||
model_mapping = {
|
model_mapping = {
|
||||||
'build': Build,
|
'build': Build,
|
||||||
'target': Target,
|
'target': Target,
|
||||||
|
'target_image_file': Target_Image_File,
|
||||||
'task': Task,
|
'task': Task,
|
||||||
'task_dependency': Task_Dependency,
|
'task_dependency': Task_Dependency,
|
||||||
'package': Package,
|
'package': Package,
|
||||||
|
|
Loading…
Reference in New Issue