The `tests/nested/manual/connections` is failing sometimes and it's unclear why. When it fails it appears that the `connections` snap is not installed which is strange given that it's clearly needed in the model - as a consequence there are no connections so the test fails. To untangle this a bit this commit makes some changes to the test: - rename to gadget-connections - rename test snap from just "connections" to "tests-snapd-connections" - rename the model from "pc" to "nested-20-amd64-test-snapd-connections" - precondition checks that ensure we have the right model - precondition checks that we have the expected test-snapd-connections snap - move image building into "execute:" to ensure that on failure we get the shell log of how the image was build (this is lost if "prepare" bulds the image but the error happens in "execute").
Generating model assertions
Test keys and developer accounts
Signed model assertions for use in the spread tests can be generated using
gendeveloper1 tool. The assertion is signed by developer1 key, which is
built-into the snapd binary used during the tests.
To build the tool:
$ go install ./tests/lib/gendeveloper1
Generating the assertions is done like this:
$ cd tests/lib/assertions
$ gendeveloper1 sign-model < developer1-pc-18.model.json > developer1-pc-18.model
The GPG of developer1 can be obtained with:
$ gendeveloper1 show-key
Valid keys and developer accounts
Some tests, particularly remodel, require valid model assertions that are signed
by developer account keys known to the store. For instance,
valid-for-testing-*.model files are such assertions. There is a corresponding
*.json file for each of the assertions. The models were signed by one of snapd
developers using their private keys.
When there is a need to regenerate the assertions and sign them again using a
different set of keys be sure to update both authority-id and brand-id in
each of the json files. Then follow the procedure outlined in the Ubuntu Core
docs https://ubuntu.com/core/docs/custom-images#heading--signing which boils
down to:
$ snap create-key my-models
$ snapcraft register-key
$ snap sign -k my-models < valid-for-testing-some-file.json > valid-for-testing-some-file.model
The value for authority-id and brand-id, is the same as the developer-id
which can be obtained by running:
$ snapcraft login
$ snapcraft whoami
email: <your-email>@...
developer-id: <your-developer-id>