Hi Michael, I'm pretty certain I only have one. I'll check when I'm next working on it. I think you are referring to the second error message: MultipleObjectsReturned: get() returned more than one Layer -- it returned 2! This message appears when lsupdates is called again, I'm guessing because its failed already it gets called again when I run something else (maybe checksettings) and then the open-embedded layer probably already exists. Maybe the fix for the bug should be to roll back all changes when lsupdates fail.
The original problem seems to be because one of the URL's is formed incorrectly, here's the offending URL in the trace (last line) 2015-12-15 11:42:26,350 DEBUG Fetching layer information 2015-12-15 11:42:26,351 WARNING YYYY scheme: http 2015-12-15 11:42:26,351 WARNING YYYY netloc: layers.openembedded.org 2015-12-15 11:42:26,351 WARNING YYYY path: /layerindex/api/layerBranches/ 2015-12-15 11:42:26,351 WARNING ZZZZ: urllib2.urlopen: http://layers.openembedded.org/layerindex/api/layerBranches/?filter=branch: On the last line notice that the URL doesn't contain the branch it just has branch: If you put this URL into a browser you get Internal Server error code and this is what the python script shows later in the back trace _get_json_response raise Exception("Failed to read %s: %s" % (path, e.reason)) Exception: Failed to read /layerindex/api/layerBranches/: INTERNAL SERVER ERROR Check Settings I can't remember the exact lines that this occurs in models.py but I think it's around 970?? Cheers, Martin. On Wed, Dec 16, 2015 at 2:54 PM, Michael Wood <[email protected]> wrote: > Bug filed here: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8818 > > On 16/12/15 14:49, Michael Wood wrote: > >> Hi, >> >> It looks like it is getting confused because you seem to have two layers >> called "openembedded-core" in the system and it doesn't know how to handle >> updating the layer from the information from the layer index. Not quite >> sure how we can handle this. I'll open a bug. >> >> Would using the "Import layer" page work for what you're trying to do >> instead of modifying the toasterconf.json? you could then rename it to >> "my-openembedded-core" or something so that the system doesn't get confused >> between the layers it pulls from the layer index repository and ones you're >> adding. >> >> Michael >> >> On 15/12/15 12:18, Martin Townsend wrote: >> >>> Hi, >>> >>> Before I switch to the Jethro branch I just did a pull on master and >>> recreated toaster from scratch and I get the following error in lsupdates >>> (I've added some debug in case it helps) >>> Load Configuration >>> /var/www/bia/yocto/poky/meta-yocto/conf/toasterconf.json >>> lsudpates >>> 2015-12-15 11:42:23,983 WARNING XXXX update: >>> http://layers.openembedded.org/layerindex/api/ >>> 2015-12-15 11:42:23,983 WARNING YYYY scheme: http >>> 2015-12-15 11:42:23,983 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> 2015-12-15 11:42:23,983 WARNING YYYY path: /layerindex/api/ >>> 2015-12-15 11:42:23,983 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/ >>> 2015-12-15 11:42:24,454 DEBUG Fetching branches >>> 2015-12-15 11:42:24,454 WARNING YYYY scheme: http >>> 2015-12-15 11:42:24,455 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> 2015-12-15 11:42:24,455 WARNING YYYY path: /layerindex/api/branches/ >>> 2015-12-15 11:42:24,455 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/branches/?filter=name:HEAD >>> 2015-12-15 11:42:24,859 WARNING YYYY scheme: http >>> 2015-12-15 11:42:24,859 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> 2015-12-15 11:42:24,859 WARNING YYYY path: /layerindex/api/layerItems/ >>> 2015-12-15 11:42:24,859 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/layerItems/ >>> 2015-12-15 11:42:26,350 DEBUG Fetching layer information >>> 2015-12-15 11:42:26,351 WARNING YYYY scheme: http >>> 2015-12-15 11:42:26,351 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> >>> 2015-12-15 11:42:26,351 WARNING YYYY path: /layerindex/api/layerBranches/ >>> 2015-12-15 11:42:26,351 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/layerBranches/?filter=branch >>> : >>> Traceback (most recent call last): >>> File "./bitbake/lib/toaster/manage.py", line 10, in <module> >>> execute_from_command_line(sys.argv) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", >>> line 354, in execute_from_command_line >>> utility.execute() >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", >>> line 346, in execute >>> self.fetch_command(subcommand).run_from_argv(self.argv) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py", >>> line 394, in run_from_argv >>> self.execute(*args, **cmd_options) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py", >>> line 445, in execute >>> output = self.handle(*args, **options) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py", >>> line 661, in handle >>> return self.handle_noargs(**options) >>> File >>> "/var/www/bia/toaster/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py", >>> line 12, in handle_noargs >>> ls.update() >>> File "/var/www/bia/toaster/poky/bitbake/lib/toaster/orm/models.py", >>> line 978, in update >>> + "?filter=branch:%s" % "OR".join(map(lambda x: str(x.up_id), [i for >>> i in Branch.objects.filter(layer_source = self) if i.up_id is not None] )) >>> File "/var/www/bia/toaster/poky/bitbake/lib/toaster/orm/models.py", >>> line 906, in _get_json_response >>> raise Exception("Failed to read %s: %s" % (path, e.reason)) >>> Exception: Failed to read /layerindex/api/layerBranches/: INTERNAL >>> SERVER ERROR >>> Check Settings >>> >>> -- Validation: The layers checkout directory must be set. >>> >>> -- Validation: The build directory must be set. >>> >>> Build configuration saved >>> >>> Importing file: /var/www/bia/yocto/poky/meta-yocto/conf/toasterconf.json >>> >>> Layer configuration imported. Updating information from the layer >>> sources, please wait. >>> You can re-update any time later by running >>> bitbake/lib/toaster/manage.py lsupdates >>> 2015-12-15 11:42:27,574 WARNING XXXX update: >>> http://layers.openembedded.org/layerindex/api/ >>> 2015-12-15 11:42:27,574 WARNING YYYY scheme: http >>> 2015-12-15 11:42:27,574 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> 2015-12-15 11:42:27,575 WARNING YYYY path: /layerindex/api/ >>> 2015-12-15 11:42:27,575 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/ >>> 2015-12-15 11:42:27,970 DEBUG Fetching branches >>> 2015-12-15 11:42:27,971 WARNING YYYY scheme: http >>> 2015-12-15 11:42:27,971 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> 2015-12-15 11:42:27,971 WARNING YYYY path: /layerindex/api/branches/ >>> 2015-12-15 11:42:27,971 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/branches/?filter=name:HEAD >>> 2015-12-15 11:42:28,368 WARNING YYYY scheme: http >>> 2015-12-15 11:42:28,368 WARNING YYYY netloc: layers.openembedded.org < >>> http://layers.openembedded.org> >>> >>> 2015-12-15 11:42:28,368 WARNING YYYY path: /layerindex/api/layerItems/ >>> 2015-12-15 11:42:28,368 WARNING ZZZZ: urllib2.urlopen: >>> http://layers.openembedded.org/layerindex/api/layerItems/ >>> Failure while trying to import the toaster config file >>> /var/www/bia/yocto/poky/meta-yocto/conf/toasterconf.json: get() returned >>> more than one Layer -- it returned 2! >>> Traceback (most recent call last): >>> File >>> "/var/www/bia/toaster/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py", >>> line 114, in _verify_be >>> call_command("lsupdates") >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", >>> line 120, in call_command >>> return command.execute(*args, **defaults) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py", >>> line 445, in execute >>> output = self.handle(*args, **options) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py", >>> line 661, in handle >>> return self.handle_noargs(**options) >>> File >>> "/var/www/bia/toaster/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py", >>> line 12, in handle_noargs >>> ls.update() >>> File "/var/www/bia/toaster/poky/bitbake/lib/toaster/orm/models.py", >>> line 948, in update >>> oe_core_l = Layer.objects.get(name=oe_core_layer) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/db/models/manager.py", >>> line 127, in manager_method >>> return getattr(self.get_queryset(), name)(*args, **kwargs) >>> File >>> "/var/www/bia/toaster/venv/local/lib/python2.7/site-packages/django/db/models/query.py", >>> line 338, in get >>> (self.model._meta.object_name, num) >>> MultipleObjectsReturned: get() returned more than one Layer -- it >>> returned 2! >>> >>> These are the commands I am running in case they have changed: >>> #./bitbake/lib/toaster/manage.py createsuperuser >>> ./bitbake/lib/toaster/manage.py migrate >>> ./bitbake/lib/toaster/manage.py loadconf ${TOASTER_CONF} >>> ./bitbake/lib/toaster/manage.py lsupdates >>> ./bitbake/lib/toaster/manage.py checksettings >>> ./bitbake/lib/toaster/manage.py collectstatic >>> >>> I haven't touched the json fragment for OpenEmbedded >>> { >>> "name": "OpenEmbedded", >>> "sourcetype": "layerindex", >>> "apiurl": "http://layers.openembedded.org/layerindex/api/", >>> "branches": ["master", "jethro" ,"fido"] >>> } >>> >>> Cheers, >>> Martin. >>> >>> >>> >> > -- > _______________________________________________ > toaster mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/toaster >
-- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
