[Toaster] [review-request][PATCH] toaster: Read correct cooker log path from toasterui

Brian Avery avery.brian at gmail.com
Fri Sep 11 13:56:51 PDT 2015


the new branch worked for me (both ways) and is nicely simpler.
submitted upstream.
-b

On Thu, Sep 10, 2015 at 8:31 PM, Brian Avery <avery.brian at gmail.com> wrote:
> Hi,
>
> This fixed it for the managed build case but it failed for the
> analysis mode case :(
>
> Environment:
>
>
> Request Method: GET
> Request URL: http://192.168.168.66:8000/toastergui/build/1/artifact/cookerlog/id/1
>
> Django Version: 1.6
> Python Version: 2.7.6
> Installed Applications:
> ('django.contrib.auth',
>  'django.contrib.contenttypes',
>  'django.contrib.messages',
>  'django.contrib.sessions',
>  'django.contrib.admin',
>  'django.contrib.staticfiles',
>  'django.contrib.humanize',
>  'bldcollector',
>  'toastermain',
>  'south',
>  'toastergui',
>  'bldcontrol',
>  'orm')
> Installed Middleware:
> ('django.middleware.common.CommonMiddleware',
>  'django.contrib.sessions.middleware.SessionMiddleware',
>  'django.middleware.csrf.CsrfViewMiddleware',
>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>  'django.contrib.messages.middleware.MessageMiddleware')
>
>
> Traceback:
> File "/big/src/intel/yocto-builds/TOASTER/myBugs/t-myBugs/local/lib/python2.7/site-packages/django/core/handlers/base.py"
> in get_response
>   114.                     response = wrapped_callback(request,
> *callback_args, **callback_kwargs)
> File "/big/src/intel/myBugs/poky/bitbake/lib/toaster/toastergui/views.py"
> in build_artifact
>   2745.                 build_artifact_storage_dir =
> os.path.join(ToasterSetting.objects.get(name="ARTIFACTS_STORAGE_DIR").value,
> "%d" % int(build_id))
> File "/big/src/intel/yocto-builds/TOASTER/myBugs/t-myBugs/local/lib/python2.7/site-packages/django/db/models/manager.py"
> in get
>   151.         return self.get_queryset().get(*args, **kwargs)
> File "/big/src/intel/yocto-builds/TOASTER/myBugs/t-myBugs/local/lib/python2.7/site-packages/django/db/models/query.py"
> in get
>   307.                 self.model._meta.object_name)
>
> Exception Type: DoesNotExist at /toastergui/build/1/artifact/cookerlog/id/1
> Exception Value: ToasterSetting matching query does not exist.
>
>
> -b
>
> On Thu, Sep 10, 2015 at 3:50 AM, Elliot Smith <elliot.smith at intel.com> wrote:
>> The BB_CONSOLELOG variable changes by the time we read it in
>> BuildInfoHelper. This means that the log file location we
>> are using is incorrect, so the links to the cooker logs don't
>> work.
>>
>> Instead, read it at the point when the BuildStarted event occurs
>> in toasterui. The BB_CONSOLELOG variable has the correct value
>> here, so pass that to BuildInfoHelper.
>>
>> [YOCTO #8209]
>>
>> Signed-off-by: Elliot Smith <elliot.smith at intel.com>
>> ---
>>  bitbake/lib/bb/ui/buildinfohelper.py | 8 ++++----
>>  bitbake/lib/bb/ui/toasterui.py       | 2 +-
>>  2 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
>> index 2d1ed51..6e313fe 100644
>> --- a/bitbake/lib/bb/ui/buildinfohelper.py
>> +++ b/bitbake/lib/bb/ui/buildinfohelper.py
>> @@ -704,7 +704,7 @@ class BuildInfoHelper(object):
>>      ## methods to convert event/external info into objects that the ORM layer uses
>>
>>
>> -    def _get_build_information(self):
>> +    def _get_build_information(self, consolelogfile):
>>          build_info = {}
>>          # Generate an identifier for each new build
>>
>> @@ -713,7 +713,7 @@ class BuildInfoHelper(object):
>>          build_info['distro_version'] = self.server.runCommand(["getVariable", "DISTRO_VERSION"])[0]
>>          build_info['started_on'] = timezone.now()
>>          build_info['completed_on'] = timezone.now()
>> -        build_info['cooker_log_path'] = self.server.runCommand(["getVariable", "BB_CONSOLELOG"])[0]
>> +        build_info['cooker_log_path'] = consolelogfile
>>          build_info['build_name'] = self.server.runCommand(["getVariable", "BUILDNAME"])[0]
>>          build_info['bitbake_version'] = self.server.runCommand(["getVariable", "BB_VERSION"])[0]
>>
>> @@ -847,9 +847,9 @@ class BuildInfoHelper(object):
>>                  logger.warn("buildinfohelper: cannot identify layer exception:%s ", nee)
>>
>>
>> -    def store_started_build(self, event):
>> +    def store_started_build(self, event, consolelogfile):
>>          assert '_pkgs' in vars(event)
>> -        build_information = self._get_build_information()
>> +        build_information = self._get_build_information(consolelogfile)
>>
>>          build_obj = self.orm_wrapper.create_build_object(build_information, self.brbe, self.project)
>>
>> diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
>> index 9c7e87d..e0c278b 100644
>> --- a/bitbake/lib/bb/ui/toasterui.py
>> +++ b/bitbake/lib/bb/ui/toasterui.py
>> @@ -126,7 +126,7 @@ def main(server, eventHandler, params ):
>>              # the code will look into the protected variables of the event; no easy way around this
>>
>>              if isinstance(event, bb.event.BuildStarted):
>> -                buildinfohelper.store_started_build(event)
>> +                buildinfohelper.store_started_build(event, consolelogfile)
>>
>>              if isinstance(event, (bb.build.TaskStarted, bb.build.TaskSucceeded, bb.build.TaskFailedSilent)):
>>                  buildinfohelper.update_and_store_task(event)
>> --
>> Elliot Smith
>> Software Engineer
>> Intel OTC
>>
>> ---------------------------------------------------------------------
>> Intel Corporation (UK) Limited
>> Registered No. 1134945 (England)
>> Registered Office: Pipers Way, Swindon SN3 1RJ
>> VAT No: 860 2173 47
>>
>> This e-mail and any attachments may contain confidential material for
>> the sole use of the intended recipient(s). Any review or distribution
>> by others is strictly prohibited. If you are not the intended
>> recipient, please contact the sender and delete all copies.
>>
>> --
>> _______________________________________________
>> toaster mailing list
>> toaster at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/toaster


More information about the toaster mailing list