httputil: use shorter timeout in TestRetryRequestTimeoutHandling
We saw some failures in the PPA and release builds on slower
architectures in the TestRetryRequestTimeoutHandling test. It
looks like 5 retry with 50ms timeout with the test retry
strategy of 1s on slow HW can mean sometimes the retries are not
done within the 1s limit. This commit changes the client timeout
to 25ms and leaves the test retry strategy timeout unchanged.
The full error for reference:
```
FAIL: retry_test.go:359: retrySuite.TestRetryRequestTimeoutHandling
retry_test.go:411:
// check that we exhausted all retries (as defined by mocked retry strategy)
c.Assert(permanentlyBrokenSrvCalls.Count(), Equals, 5)
... obtained int = 4
... expected int = 5
```
Merge pull request #7772 from bboozzoo/bboozzoo/wrappers-cleanup-snapd-on-core
wrappers: write and undo snapd services on core
A batch of changes related to core -> base remodel scenario that handle deploying and undoing snapd services on a core device. We try to be smart about not restarting snapd.socket, handle weird cases of systemctl enable behaving differently on 16.04 and 18.04 bases, all keeping in mind that the 'undo' code is called from undoLinkSnap in the failover case.
boot,o/devicestate: refactor MarkBootSuccessful over bootState
This refactors MarkBootSuccessful over bootState and bootStateUpdate interfaces. The latter helps combining dealing with both the kernel and base parts of the state conceptually separately but still possibly committing changes as one.
It also move bootState16 implementation to its own bootstate16.go file.