Re: [Toaster] [PATCH] toaster/toastergui: Bug-fix verify given layer path only if import/add local layer

Richard Purdie <[email protected]> Fri, 05 Jan 2024 00:00:48 +0000
Newsgroups org.yoctoproject.lists.toaster
Message-ID <a1a8b312daa167e5e5976d6de12933077678fbf4.camel@linuxfoundation.org>
On Thu, 2024-01-04 at 16:18 +0100, Alassane Yattara wrote:
> Signed-off-by: Alassane Yattara <[email protected]>
> ---
>  lib/toaster/toastergui/api.py | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
>=20
> diff --git a/lib/toaster/toastergui/api.py b/lib/toaster/toastergui/api.p=
y
> index a06ffc00..e367bd91 100644
> --- a/lib/toaster/toastergui/api.py
> +++ b/lib/toaster/toastergui/api.py
> @@ -227,7 +227,7 @@ class XhrSetDefaultImageUrl(View):
>  #    same logical name
>  #  * Each project that uses a layer will have its own
>  #    LayerVersion and Project Layer for it
> -#  * During the Paroject delete process, when the last
> +#  * During the Project delete process, when the last
>  #    LayerVersion for a 'local_source_dir' layer is deleted
>  #    then the Layer record is deleted to remove orphans
>  #
> @@ -457,15 +457,18 @@ class XhrLayer(View):
>                               'layerdetailurl':
>                               layer_dep.get_detailspage_url(project.pk)})
> =20
> -            # Scan the layer's content and update components
> -            scan_layer_content(layer,layer_version)
> +            # Only scan_layer_content if layer is local
> +            if layer_data.get('local_source_dir', None):
> +                # Scan the layer's content and update components
> +                scan_layer_content(layer,layer_version)
> =20
>          except Layer_Version.DoesNotExist:
>              return error_response("layer-dep-not-found")
>          except Project.DoesNotExist:
>              return error_response("project-not-found")
> -        except KeyError:
> -            return error_response("incorrect-parameters")
> +        except KeyError as e:
> +            _log("KeyError: %s" % e)
> +            return error_response(f"incorrect-parameters")
> =20
>          return JsonResponse({'error': "ok",
>                               'imported_layer': {

Thanks! I made 4 test runs with this applied and the failure counts
reduced significantly, there was only one failure on one build:

https://autobuilder.yoctoproject.org/typhoon/#/builders/161/builds/116

I've merged this patch and scheduled a few more test runs.

Cheers,

Richard