CMake snap build failing, looks like snapcraft API error


#1

I have a daily scheduled build of the CMake snap (master branch) via travis CI and it uses the --use-lxd option. Today, it started failing with an error that looks to be related to snapcraft rather than anything on the CMake or travis side of things. Note that I haven’t changed anything about the way the snap builds in quite some time and the error appears to occur before anything specific to CMake itself. It looks to be failing in setting up the basic LXD base environment and core dependencies. Here’s a small extract of the error:

$ sudo snapcraft --use-lxd
The LXD provider is offered as a technology preview for early adopters.
The command line interface, container names or lifecycle handling may change in upcoming releases.
Launching a container.
Waiting for cloud-init
To start your first container, try: lxc launch ubuntu:18.04

....................
status: done
error: no changes of type "auto-refresh" found
2019-10-12T07:52:06Z INFO Waiting for restart...
core 16-2.42 from Canonical* installed
snapcraft 3.8 from Canonical* installed
/snap/snapcraft/3440/lib/python3.5/site-packages/pylxd/models/_model.py:116: UserWarning: Attempted to set unknown attribute "type" on instance of "Container"
  key, self.__class__.__name__
Sorry, an error occurred in Snapcraft:
400 Client Error: BAD REQUEST for url: https://api.snapcraft.io/v2/snaps/info/core18?fields=channel-map%2Csnap-id%2Cname%2Cpublisher%2Cconfinement%2Crevision%2Cdownload
Traceback (most recent call last):
  File "/snap/snapcraft/3440/lib/python3.5/site-packages/snapcraft/internal/build_providers/_base_provider.py", line 237, in launch_instance
    self._start()
  File "/snap/snapcraft/3440/lib/python3.5/site-packages/snapcraft/internal/build_providers/_lxd/_lxd.py", line 173, in _start
    raise errors.ProviderInstanceNotFoundError(instance_name=self.instance_name)
snapcraft.internal.build_providers.errors.ProviderInstanceNotFoundError: Cannot find an instance named 'snapcraft-cmake'.

You can see the full build log here (I think it’s publicly visible):

https://travis-ci.com/Crascit/cmake-snap/builds/131630728

Any clues as to why this is now failing?

BTW the next CMake release cycle just started, so I’ll be needing to put out release candidate builds every week or so for the next month or two, so I kinda need to have this working. :wink:


#2

This should work now. We deployed some slightly overzealous parameter validation on the store, but I’ve relaxed it to accept the channel-map field again.


#3

Thanks, yes the latest build completed successfully. Cheers!