~snappy-dev/snapd/+git/snapd-pawel:download-stuck-test

Last commit made on 2021-07-13
Get this branch:
git clone -b download-stuck-test https://git.launchpad.net/~snappy-dev/snapd/+git/snapd-pawel

Branch merges

Branch information

Name:
download-stuck-test
Repository:
lp:~snappy-dev/snapd/+git/snapd-pawel

Recent commits

33d2e44... by Paweł Stołowski

Bump test timeout to avoid potential issues with LP builds.

0f17e9a... by Paweł Stołowski

Bump ResponseHeaderTimeout to 15s.

e37c023... by Paweł Stołowski

Use 250ms for mocked ResponseHeaderTimeout.

1baa1ab... by Paweł Stołowski

Set ResponseHeaderTimeout on the default transport.

788bd0b... by Michael Vogt

Merge pull request #10509 from sergiocazzolato/tests-fix-snap-user-service-socket-activation

tests: fix test-snapd-user-service-sockets test removing snap

23382e2... by Michael Vogt

Merge pull request #10512 from sergiocazzolato/tests-new-funtions-nested

tests: moving nested_exec to nested.tests exec

34ff3cd... by Samuele Pedroni

tests: add tests about services vs snapd refreshes (#10165)

Spread test for bug and fixes in #10164 and in general about services vs snapd refreshes

* wrappers,o/snapstate/backend: try Wants instead of Requires for usr-lib-snapd.mount

* tests: start of tests about services vs snapd refreshes

usually snap services should not get stopped/interfered with when
snapd refreshes/restarts

* tests: a bit more work on snapd-refresh-vs-services

* tests/core/snapd-refresh-vs-services: expand test variants and checks

Expand the test to test the following things:

* That a service installed before snapd 2.49.2 (i.e. using 2.49.1 as the test
  does) that was not refreshed (and thus will _not_ have
  Requires=usr-lib-snapd.mount in it's unit definition) does not get killed
  when we refresh to a newer snapd, and it does get it's unit definition
  rewritten to use Wants=usr-lib-snapd.mount
* That a service installed with snapd 2.49.2 that ends up containing
  Requires=usr-lib-snapd.mount in it's unit definition does get killed by
  systemd when we refresh past snapd 2.49.2, but that it gets restarted and
  rewritten to use Wants=usr-lib-snapd.mount instead
* That a service installed after snapd 2.49.2 (i.e. using the branch under test
  or stable when stable no longer contains 2.49.2) does not get killed when we
  refresh snapd and it contains Wants=usr-lib-snapd.mount instead of
  Requires=usr-lib-snapd.mount

Also enable the variants of the test for UC20.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core: test that snapd when refreshing falls back to rebooting for bug

In the case of failing to start services that we know got killed by systemd
when refreshing snapd (i.e. LP #1924805), snapd should reboot the system to try
and get back to a known good state. Test that this is the case and that snapd
is able to recover itself after a reboot to complete the refresh whilst still
rewriting the unit's definitions.

Also, due to the nature of the shutdown command being a symlink to systemctl on
Ubuntu Core, we need to mock the systemctl call but only for shutdown
operations, passing through the rest of the systemctl commands to the real
systemctl via copying the original systemctl binary somewhere else so it can
still be executed. This code now somewhat duplicates that of the
uc20-recovery.sh setup script, so we should unify those together some day.

Signed-off-by: Ian Johnson <email address hidden>

* tests: fix static checks issues

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots: unmount /bin/systemctl on error

This ensures that if the test fails before we get to the umount below that it
will be unmounted in the restore section, but also ensure that it won't be
doubly unmounted in the success case.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services: exit 0 on unsupported arch

Thanks to Sergio for spotting this

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services: delete unnecessary cleanup

This is already being done automatically

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots: mv snap files to specific dir

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services{,-reboots}: support other architectures

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snap-refresh-vs-services{,reboots}: use new URLs

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services{,-reboots}: check snap version installed

This makes errors in the spread test from the known bug about getting the wrong
snapd snap when we install a particular one easier to spot in the spread logs.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services{,-reboots}: drop cleanup prepare+restore

This is no longer needed, due to Sergio's recent refactoring of tests.cleanup.

Signed-off-by: Ian Johnson <email address hidden>

* tests: mv test-snapd-simple-service back to tests/lib/snaps

We need this snap for both the snapd-refresh-vs-services test as well as
lp-1813963 test.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services: add cleanup code to fix the tests

See comment in the code for a full explanation. A followup will explore moving
this code from here to somewhere in reset.sh to prevent this sort of issue for
other tests, but for now this test alone needs to land and move forward, so
let's start here.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots: apply restore fix to this one too

We already applied a work-around for the mount units being left over to
tests/core/snapd-refresh-vs-services, but actually we need the same fix for the
reboot variant of the test here too.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots: drop elif, dedent code

The elif isn't necessary here since the end of the if reboots and we only
reboot once in the test.

Thanks to Sergio for pointing this out.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots: simplify check to just "not ..."

Thanks to Sergio for the suggestion.

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services-reboots/.../svc.sh: add newline @ EOF

Signed-off-by: Ian Johnson <email address hidden>

* tests/core/snapd-refresh-vs-services{,-reboots}: little tweaks

We actually do not need to chmod systemctl as cp preserves the executable bit,
and make the test failure message more clear with some punctuation.

Thanks to Alberto for pointing these out.

Signed-off-by: Ian Johnson <email address hidden>

* tests/lib/uc20-recovery.sh: drop unnecessary chmod for systemctl command

Signed-off-by: Ian Johnson <email address hidden>

Co-authored-by: Ian Johnson <email address hidden>
Co-authored-by: Michael Vogt <email address hidden>

3268a53... by Samuele Pedroni

client, cmd/snap, daemon: refactor REST API for quotas to match CLI org

Merge pull request #10437 from anonymouse64/feature/quota-groups-the-final-countdown-1

The CLI has organization where the current and constraint keys are maps of the
unit of measure for the quota group to the value, so update the REST API to
match this.

This change will enable us to add new quota group types easily without adding
new fields to the JSON types we return, etc. The client changes also now are
transparent of whatever fields are passed, with the caveat that some of them
might get formatted specially like we do for memory in this PR.

This is a breaking REST API change to quotas, but the quota feature is still
experimental so it's okay. There should not be any more REST changes after
this PR.

cb308ad... by Samuele Pedroni

c/snap,asserts: create/delete-key external keypair manager interaction

Merge pull request #10376 from pedronis/ext-keymgr-3

at least initially we don't support using snap commands to create/delete
keys under an external keypair manager, organize things such that though
we can produce appropriate error messages and we can implement
supporting this later if required

f31a96b... by Sergio Cazzolato

Moving nested_exec to nested.tests exec

This change adds a new command to nested.tests tool