lp:~mvo/snapd/+git/snapd-mvo

Owned by Michael Vogt
Get this repository:
git clone https://git.launchpad.net/~mvo/snapd/+git/snapd-mvo

Import details

Import Status: Reviewed

This repository is an import of the Git repository at https://github.com/mvo5/snappy.

The next import is scheduled to run in 5 hours.

Last successful import was 3 minutes ago.

Import started 4 minutes ago on alnitak and finished 3 minutes ago taking 1 minute — see the log
Import started 6 hours ago on izar and finished 6 hours ago taking 1 minute — see the log
Import started 12 hours ago on izar and finished 12 hours ago taking 1 minute — see the log
Import started 18 hours ago on alnitak and finished 18 hours ago taking 1 minute — see the log
Import started on 2020-01-23 on izar and finished on 2020-01-23 taking 1 minute — see the log
Import started on 2020-01-23 on alnitak and finished on 2020-01-23 taking 1 minute — see the log
Import started on 2020-01-22 on izar and finished on 2020-01-22 taking 50 seconds — see the log
Import started on 2020-01-22 on izar and finished on 2020-01-22 taking 1 minute — see the log
Import started on 2020-01-22 on alnitak and finished on 2020-01-22 taking 1 minute — see the log
Import started on 2020-01-22 on alnitak and finished on 2020-01-22 taking 50 seconds — see the log

Branches

Name Last Modified Last Commit
c20-snap-recovery-encrypt-20.04 2020-01-22 14:56:26 UTC 2020-01-22
tests: reuse existing mounts and fix key test error

Author: Claudio Matsuoka
Author Date: 2020-01-22 14:56:26 UTC

tests: reuse existing mounts and fix key test error

We're now mounting newly created filesystems in snap-bootstrap, so
use these instead of remounting to check content deploy. Also unmount
the filesystem before closing the encrypted device.

Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>

snap-disable-auto-imports-during-install-mode 2020-01-22 08:33:19 UTC 2020-01-22
Merge remote-tracking branch 'upstream/master' into snap-disable-auto-imports...

Author: Maciej Borzecki
Author Date: 2020-01-22 08:33:19 UTC

Merge remote-tracking branch 'upstream/master' into snap-disable-auto-imports-during-install-mode

core20-bootstrap-encryption-force-2 2020-01-20 14:34:09 UTC 2020-01-20
snap: disable auto-import in uc20 install-mode

Author: Michael Vogt
Author Date: 2020-01-20 14:21:08 UTC

snap: disable auto-import in uc20 install-mode

Do not try to auto-import block devices in install mode on UC20.
This will work-around the kernel crash LP:#1860231. We also do
not want to enable auto-import in this mode until we have a
use-case.

api-download-resume 2020-01-16 17:31:36 UTC 2020-01-16
daemon, store: support download resume from /v2/download

Author: Michael Vogt
Author Date: 2020-01-16 17:13:55 UTC

daemon, store: support download resume from /v2/download

This commit adds support for resuming downloads from the
/v2/download endpoint.

snap-bootstrap-recover-mode 2020-01-16 14:32:49 UTC 2020-01-16
cmd/snap-bootstrap: typo in initramfs mounts

Author: Maciej Borzecki
Author Date: 2020-01-16 14:32:49 UTC

cmd/snap-bootstrap: typo in initramfs mounts

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

core20-bootstrap-encryption-force-with-debug 2020-01-16 14:13:29 UTC 2020-01-16
add debug and stuff

Author: Michael Vogt
Author Date: 2020-01-16 14:13:29 UTC

add debug and stuff

slow-tests-workaround-2 2020-01-16 06:45:49 UTC 2020-01-16
overlord: increase overall settle timeout for slow arm boards

Author: Michael Vogt
Author Date: 2020-01-16 06:45:46 UTC

overlord: increase overall settle timeout for slow arm boards

release-2.43.1 2020-01-14 19:32:46 UTC 2020-01-14
Merge remote-tracking branch 'upstream/master' into release-2.43.1

Author: Michael Vogt
Author Date: 2020-01-14 19:32:46 UTC

Merge remote-tracking branch 'upstream/master' into release-2.43.1

slow-tests-workarounds 2020-01-14 18:35:10 UTC 2020-01-14
httputil: use shorter timeout in TestRetryRequestTimeoutHandling

Author: Michael Vogt
Author Date: 2020-01-14 17:49:09 UTC

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
```

check-binaries 2020-01-14 15:55:41 UTC 2020-01-14
debian: check embedded keys for snap-{bootstrap,preseed} too

Author: Michael Vogt
Author Date: 2020-01-14 15:55:41 UTC

debian: check embedded keys for snap-{bootstrap,preseed} too

This commit adds a check to ensure that the embedded keys for
snap-{bootstrap,preseed} are correct.

remodel-no-uc20-for-now 2020-01-14 11:50:04 UTC 2020-01-14
devicestate: do not allow remodel to UC20 models yet

Author: Michael Vogt
Author Date: 2020-01-14 11:45:15 UTC

devicestate: do not allow remodel to UC20 models yet

snap-version-no-host-info 2020-01-13 14:38:26 UTC 2020-01-13
snap: remove "host" output from `snap version`

Author: Michael Vogt
Author Date: 2020-01-13 14:38:26 UTC

snap: remove "host" output from `snap version`

The newly added output of `host $cpu $virtualization` broke existing
software that relied on the fact that `snap version` has a single
whitespace delimiter.

The "host" output was added to help people give us good
information for bugreport. I.e. the "snap version" output should
be part of each bugreport. But conceptually "host" is not a good
fit for the version output so this commit remove it again.

In the future we will provide a "snap debug" command that will
output the relevant version information plus the architecture
and the virtualization environment.

host-single-line 2020-01-13 12:04:49 UTC 2020-01-13
snap: make `snap version` output host without extra whitespace

Author: Michael Vogt
Author Date: 2020-01-13 12:04:49 UTC

snap: make `snap version` output host without extra whitespace

The current `snap version` output for the "host" added in 2.43
can look like this:
```
$ snap version
...
host amd64 kvm
```
This leads to a parse error in charms that use the snap layer
because the charm expects at most a single whitespace.

This PR implements a possible fix by using a different deliminer:
```
$ snap version
...
host amd64/kvm
```

snap-download-via-snapd-indirect-option 2020-01-09 17:20:08 UTC 2020-01-09
tests: add snap-download fallback test for --indirect mode

Author: Michael Vogt
Author Date: 2020-01-09 17:16:06 UTC

tests: add snap-download fallback test for --indirect mode

release-2.43 2020-01-09 16:40:42 UTC 2020-01-09
Revert "snap: default to "--direct" in `snap known` for 2.43"

Author: Michael Vogt
Author Date: 2020-01-09 16:40:42 UTC

Revert "snap: default to "--direct" in `snap known` for 2.43"

This reverts commit 8fbb373f0d42573f630b544d9c5a075354420263.

core20-enable-a-lot-of-main 2020-01-09 13:53:32 UTC 2020-01-09
tests: revert install-store change, this does not run on core systems

Author: Michael Vogt
Author Date: 2020-01-09 13:53:32 UTC

tests: revert install-store change, this does not run on core systems

core20-test-fixes 2020-01-09 11:55:58 UTC 2020-01-09
tests: disable ubuntu-core-gadget-config-defaults, it needs /var/lib/snapd/se...

Author: Michael Vogt
Author Date: 2020-01-09 11:55:58 UTC

tests: disable ubuntu-core-gadget-config-defaults, it needs /var/lib/snapd/seed/assertions/model which is not available on uc20

core20-snap-repair 2020-01-09 11:32:06 UTC 2020-01-09
snap-repair: use dirs.SnapSeedDir instead of seed.yaml for initial lower bound

Author: Michael Vogt
Author Date: 2020-01-09 07:52:15 UTC

snap-repair: use dirs.SnapSeedDir instead of seed.yaml for initial lower bound

snap-known-default-direct-2.43 2020-01-09 09:14:48 UTC 2020-01-09
snap: default to "--direct" in `snap known` for 2.43

Author: Michael Vogt
Author Date: 2020-01-09 09:14:48 UTC

snap: default to "--direct" in `snap known` for 2.43

This commit changes the default in `snap known --remote` to a direct
store query again. It remove the ability to query remote assertions
via snapd for now. This is to be consistent with the `snap download`
command which also goes directly to the store. For 2.44 we will
switch snap download to download via the snapd daemon.

core20-enable-regression-suite 2020-01-09 08:51:15 UTC 2020-01-09
tests: disable regression/lp-1606277 on uc20 until we figured out if empty va...

Author: Michael Vogt
Author Date: 2020-01-09 08:50:55 UTC

tests: disable regression/lp-1606277 on uc20 until we figured out if empty var/log is intentional or not

core20-use-right-snapd-snap 2020-01-08 12:06:37 UTC 2020-01-08
Merge remote-tracking branch 'upstream/master' into core20-use-right-snapd-snap

Author: Maciej Borzecki
Author Date: 2020-01-08 12:06:37 UTC

Merge remote-tracking branch 'upstream/master' into core20-use-right-snapd-snap

core20-spread-3 2020-01-08 10:14:48 UTC 2020-01-08
tests: rename snapd.spread-tweaks->snapd.spread-tests-run-mode-tweaks

Author: Michael Vogt
Author Date: 2020-01-08 09:49:11 UTC

tests: rename snapd.spread-tweaks->snapd.spread-tests-run-mode-tweaks

core20-spread-2 2020-01-08 07:26:54 UTC 2020-01-08
tests: fix inconsistent quotes in core20 prepare code (thanks Ian!)

Author: Michael Vogt
Author Date: 2020-01-08 07:26:54 UTC

tests: fix inconsistent quotes in core20 prepare code (thanks Ian!)

snap-set-core-config-test-fixes-2.43 2020-01-07 08:35:58 UTC 2020-01-07
Merge remote-tracking branch 'upstream/release/2.43' into snap-set-core-confi...

Author: Michael Vogt
Author Date: 2020-01-07 08:35:58 UTC

Merge remote-tracking branch 'upstream/release/2.43' into snap-set-core-config-test-fixes-2.43

test-update-test-snapd-tools-usage-part3-2.43 2020-01-07 06:36:50 UTC 2020-01-07
Merge remote-tracking branch 'upstream/release/2.43' into test-update-test-sn...

Author: Michael Vogt
Author Date: 2020-01-07 06:36:50 UTC

Merge remote-tracking branch 'upstream/release/2.43' into test-update-test-snapd-tools-usage-part3-2.43

fix-missing-applications-dir 2020-01-06 13:22:23 UTC 2020-01-06
packaging: ship var/lib/snapd/desktop/applications in the pkg

Author: Michael Vogt
Author Date: 2020-01-06 13:19:57 UTC

packaging: ship var/lib/snapd/desktop/applications in the pkg

This will fix issues on systems that ship a desktop environment
without any snaps. See https://forum.snapcraft.io/t/14904

tests-smoke-adt-failure 2020-01-06 13:09:47 UTC 2020-01-06
tests: rename "test-snapd-sh" in smoke test to test-snapd-sandbox

Author: Michael Vogt
Author Date: 2020-01-06 13:09:47 UTC

tests: rename "test-snapd-sh" in smoke test to test-snapd-sandbox

Rename the local test-snapd-sh snap used in tests/smoke/sandbox
to test-snapd-sandbox to avoid confusion with the test-snapd-sh
snap that is in the store.

2.43-typos 2020-01-06 09:19:13 UTC 2020-01-06
changelog: fix typos

Author: Michael Vogt
Author Date: 2020-01-06 09:19:13 UTC

changelog: fix typos

core20-prepare-spread-1 2019-12-19 08:26:29 UTC 2019-12-19
test: extract code that modifies "writable" for test prep

Author: Michael Vogt
Author Date: 2019-12-19 08:26:29 UTC

test: extract code that modifies "writable" for test prep

This commit just shuffles the code that prepares the core writable
partition in the test setup around. It will make adding UC20
preparation (which cannot modify "writable") simpler.

core20-wip-2-spread 2019-12-19 07:25:53 UTC 2019-12-19
more tweaks

Author: Michael Vogt
Author Date: 2019-12-19 07:25:53 UTC

more tweaks

core20-make-bootable-uc16-bootvars 2019-12-18 20:32:05 UTC 2019-12-18
boot: add missing err check

Author: Michael Vogt
Author Date: 2019-12-18 20:32:05 UTC

boot: add missing err check

core20-snap-boostrap-create-partitions-stderr 2019-12-18 19:55:41 UTC 2019-12-18
snap-bootstrap: read only stdout when parsing the sfdisk json

Author: Michael Vogt
Author Date: 2019-12-18 19:55:41 UTC

snap-bootstrap: read only stdout when parsing the sfdisk json

The sfdisk output may contain warnings on stderr. This is the case
for the qemu based spread test I'm working on. To avoid failing
completely in this case only parse the stdout output from sfdisk.

core20-make-bootable-reboot 2019-12-18 16:08:03 UTC 2019-12-18
devicestate: fix typo in doSetupRunSystem

Author: Michael Vogt
Author Date: 2019-12-18 16:08:03 UTC

devicestate: fix typo in doSetupRunSystem

core20-snapstate-handlers-install-run-make-bootable-fixes 2019-12-18 16:01:40 UTC 2019-12-18
seed: add missing comment

Author: Michael Vogt
Author Date: 2019-12-18 16:01:40 UTC

seed: add missing comment

core20-make-bootable-copy-base-kernel 2019-12-18 11:05:45 UTC 2019-12-18
boot: fix comment typo

Author: Maciej Borzecki
Author Date: 2019-12-18 11:05:45 UTC

boot: fix comment typo

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

core20-wip-2 2019-12-18 10:05:09 UTC 2019-12-18
Merge remote-tracking branch 'anonymouse64/feature/snapcraft-modern' into cor...

Author: Michael Vogt
Author Date: 2019-12-18 10:05:09 UTC

Merge remote-tracking branch 'anonymouse64/feature/snapcraft-modern' into core20-wip-2

core20-core-fixup-skip 2019-12-18 08:38:32 UTC 2019-12-18
snapd.core-fixup.sh: do not run on UC20 at all

Author: Michael Vogt
Author Date: 2019-12-18 08:34:54 UTC

snapd.core-fixup.sh: do not run on UC20 at all

We don't have to do any fixups on UC20 systems yet so we skip
the entire script for now.

core20-snapstate-handlers-install-run-makebootable 2019-12-18 07:46:15 UTC 2019-12-18
devicestate: rework locking in TestInstallModeRunChange

Author: Michael Vogt
Author Date: 2019-12-18 07:46:11 UTC

devicestate: rework locking in TestInstallModeRunChange

As Claudio points out:
"""
If you defer state unlocking and an operation that runs in unlocked
state (such as s.settle() below) fails it will panic with a double unlock.
"""
So rework it to avoid this issue.

core20-boot-not-runmode-2 2019-12-18 05:23:22 UTC 2019-12-18
boot: always return the trivial boot participant in ephemeral mode

Author: Michael Vogt
Author Date: 2019-12-18 05:23:22 UTC

boot: always return the trivial boot participant in ephemeral mode

The boot participant is only relevant in "run" mode. This commit
changes the code to always return the trivial boot participant
when in ephemeral mode.

core20-mount-after-create 2019-12-17 21:10:45 UTC 2019-12-17
snap-bootstrap: fix typo in comment

Author: Claudio Matsuoka
Author Date: 2019-12-17 20:19:57 UTC

snap-bootstrap: fix typo in comment

Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>

core20-wip 2019-12-17 15:44:19 UTC 2019-12-17
snapd.core-fixup.sh: do not run on UC20+

Author: Michael Vogt
Author Date: 2019-12-17 15:44:19 UTC

snapd.core-fixup.sh: do not run on UC20+

core20-make-bootable-extract-kernel 2019-12-17 07:48:44 UTC 2019-12-17
Merge remote-tracking branch 'upstream/master' into core20-make-bootable-extr...

Author: Michael Vogt
Author Date: 2019-12-17 07:48:44 UTC

Merge remote-tracking branch 'upstream/master' into core20-make-bootable-extract-kernel

core20-boot-not-runmode 2019-12-17 07:43:33 UTC 2019-12-17
snapstate: skip kernel extraction in "ephemeral" mode

Author: Michael Vogt
Author Date: 2019-12-17 07:43:33 UTC

snapstate: skip kernel extraction in "ephemeral" mode

In ephemeral mode we never need to setup the bootloader for
a new kernel. When we install the system we do this via
boot.MakeBootable instead.

core20-snapstate-wait-restart-ephemeral-mode 2019-12-17 07:07:23 UTC 2019-12-17
snapstate: do not try to detect rollback in ephemeral modes

Author: Michael Vogt
Author Date: 2019-12-17 07:07:23 UTC

snapstate: do not try to detect rollback in ephemeral modes

The snapstate.WaitRestart code will detect rollbacks accross
reboots for base/core/kernel. This does not make much sense
in ephemeral mode where we never reboot into something that
can cause rollbacks. Therefore this commit skips the rollback
detection in non-run modes (like recover, install).

core20-make-bootable-modeenv 2019-12-16 14:41:11 UTC 2019-12-16
Merge remote-tracking branch 'upstream/master' into core20-make-bootable-modeenv

Author: Michael Vogt
Author Date: 2019-12-16 14:41:11 UTC

Merge remote-tracking branch 'upstream/master' into core20-make-bootable-modeenv

core20-make-bootable-opts 2019-12-16 12:30:36 UTC 2019-12-16
boot: improve docstrings

Author: Michael Vogt
Author Date: 2019-12-16 12:30:36 UTC

boot: improve docstrings

core20-install-kernel-extract-hacktowork 2019-12-16 10:23:26 UTC 2019-12-16
hack snapd enough to boot into run mode

Author: Michael Vogt
Author Date: 2019-12-16 10:23:26 UTC

hack snapd enough to boot into run mode

unsquasfs-err 2019-12-16 07:47:34 UTC 2019-12-16
snap: improve squashfs.ReadFile() error

Author: Michael Vogt
Author Date: 2019-12-16 07:47:34 UTC

snap: improve squashfs.ReadFile() error

Right now we only return "exit 1" for squashfs.ReadFile() errors.
That worked pretty well because these errors are exceedingly rare.
However with the uc20 work snap-bootstrap runs in iniramfs and
there things are very minimal so snap-bootstrap fails with odd
errors. To make debugging here easier this commit switches the
code to show proper errors from unsquashfs.

devicectx-mode 2019-12-12 09:07:14 UTC 2019-12-12
many: add DeviceCtx.OperatingMode()

Author: Michael Vogt
Author Date: 2019-12-12 09:06:15 UTC

many: add DeviceCtx.OperatingMode()

This commit will allow access to the operating mode from the
device context. This will allow us to take certain actions
in snapstate depending on what mode we are in.

The next step will be to avoid trying to install a bootloader
during the seeding in ephemeral modes.

validate-constraints-in-check-snap 2019-12-11 19:47:15 UTC 2019-12-11
Merge remote-tracking branch 'upstream/master' into validate-constraints-in-c...

Author: Michael Vogt
Author Date: 2019-12-11 19:47:15 UTC

Merge remote-tracking branch 'upstream/master' into validate-constraints-in-check-snap

uc20-gadget-config-defaults-minimal 2019-12-11 19:46:30 UTC 2019-12-11
Merge remote-tracking branch 'upstream/master' into uc20-gadget-config-defaul...

Author: Michael Vogt
Author Date: 2019-12-11 19:46:30 UTC

Merge remote-tracking branch 'upstream/master' into uc20-gadget-config-defaults-minimal

handlers-serial-retry 2019-12-11 19:43:08 UTC 2019-12-11
Merge remote-tracking branch 'upstream/master' into handlers-serial-retry

Author: Michael Vogt
Author Date: 2019-12-11 19:43:08 UTC

Merge remote-tracking branch 'upstream/master' into handlers-serial-retry

boot-ok-only-run-mode 2019-12-11 19:36:51 UTC 2019-12-11
Merge remote-tracking branch 'upstream/master' into boot-ok-only-run-mode

Author: Michael Vogt
Author Date: 2019-12-11 19:36:51 UTC

Merge remote-tracking branch 'upstream/master' into boot-ok-only-run-mode

validate-constraints-in-devicestate 2019-12-11 18:47:33 UTC 2019-12-11
devicestate: use correct model constraints in remodel/gadget updates

Author: Michael Vogt
Author Date: 2019-12-11 18:47:31 UTC

devicestate: use correct model constraints in remodel/gadget updates

The current devicestate code does not set the correct gadget
constraints. It naively always sets only Classic to false. This
PR changes this so that the actual model is looked at and the
SystemSeed is set for UC20 models.

This should fix UC20 seeding.

refactor-gadget-info-to-take-model 2019-12-11 17:39:09 UTC 2019-12-11
WIP: refactor-gadget-info-to-take-model

Author: Michael Vogt
Author Date: 2019-12-11 17:39:09 UTC

WIP: refactor-gadget-info-to-take-model

test-bare-base 2019-12-11 15:44:43 UTC 2019-12-11
Merge remote-tracking branch 'upstream/master' into test-bare-base

Author: Michael Vogt
Author Date: 2019-12-11 15:44:43 UTC

Merge remote-tracking branch 'upstream/master' into test-bare-base

validate-gadget-constraints-seed20 2019-12-11 12:48:40 UTC 2019-12-11
seed,devicestate: check gadget model constraints when seeding

Author: Michael Vogt
Author Date: 2019-12-11 12:48:38 UTC

seed,devicestate: check gadget model constraints when seeding

This commit moves the gadget model constraints check into
the seeding phase. The gadget update does no longer need
to validate the model constraints because they get check
in checkSnap and during seeding so they should never be
wrong.

uc20-gadget-config-defaults 2019-12-11 10:38:40 UTC 2019-12-11
seed: validate gadget structure early

Author: Michael Vogt
Author Date: 2019-12-11 10:38:40 UTC

seed: validate gadget structure early

boot-uc20-7 2019-12-10 11:05:10 UTC 2019-12-10
image: update to match RecoverySystemDir naming in master

Author: Maciej Borzecki
Author Date: 2019-12-10 11:05:10 UTC

image: update to match RecoverySystemDir naming in master

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

boot-uc20-6 2019-12-10 08:21:52 UTC 2019-12-10
bootloader: fix typo

Author: Michael Vogt
Author Date: 2019-12-10 08:21:52 UTC

bootloader: fix typo

boot-uc20-4 2019-12-09 22:22:58 UTC 2019-12-09
Merge branch 'master' into boot-uc20-4

Author: Claudio Matsuoka
Author Date: 2019-12-09 22:22:58 UTC

Merge branch 'master' into boot-uc20-4

seed-local-but-asserted-uc20 2019-12-09 16:49:58 UTC 2019-12-09
seed: write local asserted UC20 snaps to /snaps

Author: Michael Vogt
Author Date: 2019-12-09 16:47:37 UTC

seed: write local asserted UC20 snaps to /snaps

When writing local asserted snaps in a UC20 system they need to
go to
```
/snaps/${snap_name}_${snap_revision}.snap
```

The current code will write both asserted and unasserted snaps to
```
/systems/${recovery_system}/snaps/${snap_name}_${snap_version}.snap
```
which is causes issues later because the other layers of the code
assume that asserted snaps end up in /snaps/ for UC20.

release-2.42.5 2019-12-06 13:19:09 UTC 2019-12-06
Merge remote-tracking branch 'upstream/master' into release-2.42.5

Author: Michael Vogt
Author Date: 2019-12-06 13:19:09 UTC

Merge remote-tracking branch 'upstream/master' into release-2.42.5

core18-proxy-2 2019-12-06 11:17:23 UTC 2019-12-06
Merge remote-tracking branch 'upstream/master' into core18-proxy-2

Author: Sergio Cazzolato
Author Date: 2019-12-06 11:17:23 UTC

Merge remote-tracking branch 'upstream/master' into core18-proxy-2

boot-uc20-5 2019-12-05 20:49:21 UTC 2019-12-05
boot,bootlaoder: setup the snapd_recovery_kernel grubenv

Author: Michael Vogt
Author Date: 2019-12-05 20:49:17 UTC

boot,bootlaoder: setup the snapd_recovery_kernel grubenv

When making a UC20 system bootable from `snap prepare-image` a
bootenv that is specific to the recovery system needs to get
written so that the bootloader can find the right kernel for
the given recovery system. This is now done as part of the
bootloader.InstallBootConfig() code.

core20-make-runnable-empty 2019-12-05 15:24:23 UTC 2019-12-05
devicestate: call boot.MakeRunnable() in devicestate

Author: Michael Vogt
Author Date: 2019-12-05 15:19:12 UTC

devicestate: call boot.MakeRunnable() in devicestate

When installing a UC20 system from the recovery partition snapd
needs to make the run system runnable. This is done via a new
boot.MakeRunnable() helper that will setup the required bootloader
and modeenv changes. This commit adds an empty MakeRunnable()
helper and the high level wiring so that the helper is called
in the right way (plus tests for this).

core20-make-runnable-modeenv 2019-12-05 14:48:37 UTC 2019-12-05
boot: add boot.MakeRunnable() helper

Author: Michael Vogt
Author Date: 2019-12-05 13:49:02 UTC

boot: add boot.MakeRunnable() helper

When a system is installed from the recovery mode it needs to become
runnable. This involves various steps like writing the right grub.cfg
to the right place, extracting the kernel and writing modeenv.

This commits adds the start of this new helper.

core20-make-runnable 2019-12-05 13:43:39 UTC 2019-12-05
WIP

Author: Michael Vogt
Author Date: 2019-12-05 13:42:51 UTC

WIP

gadget-validate-missing-duplicate-test 2019-12-05 11:03:49 UTC 2019-12-05
gadget: update validation unit tests

Author: Maciej Borzecki
Author Date: 2019-12-05 11:03:49 UTC

gadget: update validation unit tests

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

core20-devicemgr-install-2.1 2019-12-05 10:10:10 UTC 2019-12-05
devicestate: add missing test for failing task setup-run-system

Author: Michael Vogt
Author Date: 2019-12-05 10:07:19 UTC

devicestate: add missing test for failing task setup-run-system

In PR#7837 it was pointed out that there is a test missing for
failure of running `snap-bootstrap create-partitions`. This
commit adds this missing test.

core20-devicemgr-install-3 2019-12-05 09:46:04 UTC 2019-12-05
Merge remote-tracking branch 'upstream/master' into core20-devicemgr-install-3

Author: Michael Vogt
Author Date: 2019-12-05 09:46:04 UTC

Merge remote-tracking branch 'upstream/master' into core20-devicemgr-install-3

cmd-snap-bootstrap-run-mode 2019-12-05 08:12:58 UTC 2019-12-05
Merge remote-tracking branch 'upstream/master' into cmd-snap-bootstrap-run-mode

Author: Michael Vogt
Author Date: 2019-12-05 08:12:58 UTC

Merge remote-tracking branch 'upstream/master' into cmd-snap-bootstrap-run-mode

core20-devicemgr-install-2 2019-12-05 05:23:12 UTC 2019-12-05
Merge remote-tracking branch 'upstream/master' into core20-devicemgr-install-2

Author: Michael Vogt
Author Date: 2019-12-05 05:23:12 UTC

Merge remote-tracking branch 'upstream/master' into core20-devicemgr-install-2

core20-cmd-bootstrap-auto-detect-system-seed 2019-12-04 23:09:11 UTC 2019-12-04
Merge branch 'master' into core20-cmd-bootstrap-auto-detect-system-seed

Author: Claudio Matsuoka
Author Date: 2019-12-04 23:09:11 UTC

Merge branch 'master' into core20-cmd-bootstrap-auto-detect-system-seed

disk-from-partition 2019-12-04 08:45:50 UTC 2019-12-04
gadget: rename DiskFromPartition -> ParentDiskFromPartition and add tests

Author: Michael Vogt
Author Date: 2019-12-04 08:45:50 UTC

gadget: rename DiskFromPartition -> ParentDiskFromPartition and add tests

boot-modeenv-kernel 2019-11-28 16:52:09 UTC 2019-11-28
boot: add boot.Modeenv.Kernel support

Author: Michael Vogt
Author Date: 2019-11-28 10:59:13 UTC

boot: add boot.Modeenv.Kernel support

For the grub bootloader on the ubuntu-boot partition we want to
keep the kernel commandline as static as possible to avoid TPM
reseal operations for each kernel update.

This means that we will have a kernel with a fixed name on the
ubuntu-boot partition. But the initramfs needs information what
kernel snap we expect so that it can mount the kernel snap
and make the kernel modules available early in initramfs.

This commit adds "kernel" to the modeenv so that snapd can
set what kernel snap is expected via the modeenv mechanism
that is already used to set what base to use. The snap-bootstrap
initramfs-mounts code will have to do a cross-check to ensure
that the booted kernel matches the expected kernel and deal
with kernel reverts from the bootloader. This will happen in
subsequent commits.

core20-devicemgr-install-set-runmode 2019-11-28 16:48:48 UTC 2019-11-28
devicestate: only pass populateStateFromSeedOptions if operatingMode is set

Author: Michael Vogt
Author Date: 2019-11-28 16:48:48 UTC

devicestate: only pass populateStateFromSeedOptions if operatingMode is set

boot-modeenv-base 2019-11-28 09:32:45 UTC 2019-11-28
boot: add boot.Modeenv.Base support

Author: Michael Vogt
Author Date: 2019-11-28 09:32:43 UTC

boot: add boot.Modeenv.Base support

For the "run" mode of UC20 we will need a way to specifc what
base the system should use. This commit adds the required groundwork.

cmd-snap-boostrap-fix-modeenv-location 2019-11-28 09:25:13 UTC 2019-11-28
cmd-boostrap: write /var/lib/snapd/modeenv to the right place

Author: Michael Vogt
Author Date: 2019-11-28 09:25:13 UTC

cmd-boostrap: write /var/lib/snapd/modeenv to the right place

The "ubuntu-data" partition (writable) has traditionally two
toplevel dirs:
- system-data
- user-data

The user-data dir is mounted on top of /home and system-data
is /. The modeenv file from "snap-bootstrap initramfs-mounts"
is written to the wrong location (the "system-data" part is
missing). This commit fixes this.

release-2.42.4 2019-11-28 06:28:23 UTC 2019-11-28
Merge remote-tracking branch 'upstream/master' into release-2.42.4

Author: Michael Vogt
Author Date: 2019-11-28 06:28:23 UTC

Merge remote-tracking branch 'upstream/master' into release-2.42.4

system-defaults-only-once-2.42 2019-11-27 20:43:47 UTC 2019-11-27
overlord/snapstate: tweak config defaults checks

Author: Maciej Borzecki
Author Date: 2019-11-27 15:59:04 UTC

overlord/snapstate: tweak config defaults checks

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

unbreak-master-7 2019-11-27 15:05:21 UTC 2019-11-27
interfaces: remove leftover reservedForOS

Author: Michael Vogt
Author Date: 2019-11-27 15:05:21 UTC

interfaces: remove leftover reservedForOS

In one of the recent PRs the reservedForOS part of commonInterface
got removed. Apparently some later commit brought another instance
of this back so this commit fixes that.

release-2.42.3 2019-11-27 12:05:44 UTC 2019-11-27
Merge remote-tracking branch 'upstream/master' into HEAD

Author: Michael Vogt
Author Date: 2019-11-27 12:05:44 UTC

Merge remote-tracking branch 'upstream/master' into HEAD

snap-bootstrap-no-longer-testing-only 2019-11-27 10:27:01 UTC 2019-11-27
snap-bootstrap: remove SNAPPY_TESTING check, we use it for real now

Author: Michael Vogt
Author Date: 2019-11-27 10:27:01 UTC

snap-bootstrap: remove SNAPPY_TESTING check, we use it for real now

The code of snap-bootstrap was checking for the SNAPPY_TESTING
flag to ensure it only runs during spread testing. This is no
longer needed, we use the code now for real in our UC20 initramfs
so this check can go.

core20-devicemgr-install-read-runmode 2019-11-27 10:23:11 UTC 2019-11-27
devicestate: add XXX about DeviceManager.OperationMode()

Author: Michael Vogt
Author Date: 2019-11-27 10:23:11 UTC

devicestate: add XXX about DeviceManager.OperationMode()

snap-bootstrap-cmd-initramfs-write-modeenv-2 2019-11-27 09:56:21 UTC 2019-11-27
snap-bootstrap: do not check for modeenv on the just created tmpfs

Author: Michael Vogt
Author Date: 2019-11-27 09:56:21 UTC

snap-bootstrap: do not check for modeenv on the just created tmpfs

misc-policy-updates-xlii-2.42 2019-11-27 05:32:34 UTC 2019-11-27
apparmor: allow read access to /run/uuidd/request by default

Author: Jamie Strandboge
Author Date: 2019-11-22 16:15:10 UTC

apparmor: allow read access to /run/uuidd/request by default

/run/uuidd/request is hardcoded in libuuid from util-linux and uuidd
listens on this socket to provide random and time-based UUIDs in a
secure manner (man 8 uuidd). Some applications (eg, python's uuid)
prefer to use this socket, falling back to getrandom(), /dev/urandom,
etc. Eg:

  $ snap run --strace hello-world.sh -c \
    "python3 -c 'import uuid ; print(\"%s\n\" % str(uuid.uuid1()))'"
  ...
  connect(3, {sa_family=AF_UNIX, sun_path="/run/uuidd/request"}, 110) = -1 \
    EACCES (Permission denied)
  open("/dev/urandom", O_RDONLY|O_CLOEXEC) = 3
  ...

uuidd itself produces random numbers using getrandom() and /dev/{,u}random
(falling back to time-based if not), which are already allowed in the
default policy. The uuidd daemon, when available, runs unprivileged
under a dedicated user, so allowing access to /run/uuidd/request is
reasonable.

snap-bootstrap-cmd-initramfs-mount-seed-2 2019-11-26 16:22:01 UTC 2019-11-26
devicestate: make /var/lib/snapd/seed available in install mode

Author: Michael Vogt
Author Date: 2019-11-20 17:13:47 UTC

devicestate: make /var/lib/snapd/seed available in install mode

So far we don't bind mount /var/lib/snapd/seed in the uc20. We
need the ubuntu-seed partition mounted here. This commit implements
this.

modeenv-2 2019-11-26 12:06:24 UTC 2019-11-26
boot: use "=" as separator in modeenv

Author: Michael Vogt
Author Date: 2019-11-26 12:06:24 UTC

boot: use "=" as separator in modeenv

snap-boostrap-cmd-initramfs 2019-11-26 11:51:54 UTC 2019-11-26
snap-bootstrap: make cmdline parsing robust

Author: Michael Vogt
Author Date: 2019-11-26 11:49:08 UTC

snap-bootstrap: make cmdline parsing robust

The code that was parsing the kernels /proc/cmdline was very
naive and did not handle whitespaces etc well. This commit fixes
this by using a proper scanner.

snap-bootstrap-cmd-initramfs-tweaks 2019-11-26 11:51:54 UTC 2019-11-26
snap-bootstrap: make cmdline parsing robust

Author: Michael Vogt
Author Date: 2019-11-26 11:49:08 UTC

snap-bootstrap: make cmdline parsing robust

The code that was parsing the kernels /proc/cmdline was very
naive and did not handle whitespaces etc well. This commit fixes
this by using a proper scanner.

ensure-seeded-with-modeenv-2 2019-11-26 10:08:28 UTC 2019-11-26
Merge remote-tracking branch 'upstream/master' into ensure-seeded-with-modeenv-2

Author: Michael Vogt
Author Date: 2019-11-26 10:08:28 UTC

Merge remote-tracking branch 'upstream/master' into ensure-seeded-with-modeenv-2

boot-uc20-3 2019-11-26 08:53:09 UTC 2019-11-26
bootloader: add new bootloader.InstallBootConfig()

Author: Michael Vogt
Author Date: 2019-11-20 12:20:45 UTC

bootloader: add new bootloader.InstallBootConfig()

This commit adds a new InstallBootCofig to the bootloader
interface. The bootloaders use the generic uc16 implementation
currently so nothing changes. But this will make it possible
to have different behavior for the install of the bootconfig
for uc20 where we will need to install a recovery boot config
and also a "run" mode boot config.

core18-proxy 2019-11-21 18:36:42 UTC 2019-11-21
configcore: open /etc/environment RO for initial scan

Author: Michael Vogt
Author Date: 2019-11-21 18:36:42 UTC

configcore: open /etc/environment RO for initial scan

boot-uc20-2 2019-11-21 13:30:43 UTC 2019-11-21
boot,bootloader: make MakeBootable() uc20 aware

Author: Michael Vogt
Author Date: 2019-11-20 12:20:45 UTC

boot,bootloader: make MakeBootable() uc20 aware

The current MakeBootable() code is pretty specific to UC16/UC18.
For UC20 we need to tweak it to install the recovery boot config
in boot.MakeBootable().

This commit adds a new InstallBootCofig to the bootloader
interface. Most bootloader use the generic uc16 implementation
but for uc20 aware bootloader we will need to deal with the
recovery in a special way. We will also need to be able to
look at different base directories for grub (and potentially
the other bootloaders) as UC20 will have /boot/grub (system-boot)
and EFI/ubuntu (system-seed).

This will also allow to access the recovery bootloader config
via: `bootloader.Find("/run/mnt/ubuntu-seed")`. This will be
needed in e.g. PR#7762 where after the install from the
emphemeral mode we need to set the bootloader config of the
recovery grub to `snapd_recovery_mode=run`.

boot-uc20-1 2019-11-21 09:54:28 UTC 2019-11-21
boot,bootloader: make MakeBootable() uc20 aware

Author: Michael Vogt
Author Date: 2019-11-20 12:20:45 UTC

boot,bootloader: make MakeBootable() uc20 aware

The current MakeBootable() code is pretty specific to UC16/UC18.
For UC20 we need to tweak it to install the recovery boot config
in boot.MakeBootable().

This commit adds a new recoveryGrub bootloader that is similar
to the real grub except that it operations with different dirs
and will never extract the kernels. We will need to modify the
"pc" gadget for UC20 to rename the "grub.conf" symlink to
"grub-recovery.conf" so that the bootloader can find the right
grub.cfg.

This will also allow to access the recovery bootloader config
via: `bootloader.Find("/run/mnt/ubuntu-seed")`. This will be
needed in e.g. PR#7762 where after the install from the
emphemeral mode we need to set the bootloader config of the
recovery grub to `snapd_recovery_mode=run`.

boot-uc20-recovery-config-file 2019-11-21 09:17:10 UTC 2019-11-21
boot: add RecoveryConfigFile interface

Author: Michael Vogt
Author Date: 2019-11-21 09:17:10 UTC

boot: add RecoveryConfigFile interface

snap-bootstrap-cmd-initramfs-mount-seed 2019-11-20 17:13:47 UTC 2019-11-20
devicestate: make /var/lib/snapd/seed available in install mode

Author: Michael Vogt
Author Date: 2019-11-20 17:13:47 UTC

devicestate: make /var/lib/snapd/seed available in install mode

So far we don't bind mount /var/lib/snapd/seed in the uc20. We
need the ubuntu-seed partition mounted here. This commit implements
this.

ensure-seeded-with-modeenv 2019-11-20 16:21:18 UTC 2019-11-20
devicestate: add reading of modeenv to uc20 firstboot code

Author: Michael Vogt
Author Date: 2019-11-20 15:46:03 UTC

devicestate: add reading of modeenv to uc20 firstboot code

The firstboot code in UC20 needs to know what recovery system
it needs to pick for the firstboot and what mode it is in. This
is communicated from the earlier boot parts via the
`/var/lib/snapd/modeenv` file.

This commit implements support to read/use this file.

snap-bootstrap-cmd-initramfs-write-modeenv 2019-11-20 16:04:21 UTC 2019-11-20
snap-bootstrap: write /run/mnt/ubuntu-data/var/lib/snapd/modeenv

Author: Michael Vogt
Author Date: 2019-11-20 16:04:19 UTC

snap-bootstrap: write /run/mnt/ubuntu-data/var/lib/snapd/modeenv

The firstboot code in snapd for UC20 will need some information
from the earlier boot stage what recovery system to use and
what mode it is in. This PR implements writing the modeenv from
`snap-bootstrap initramfs-mounts` after the "ubuntu-data" partition
was written.

1100 of 2198 results
This repository contains Public information 
Everyone can see this information.

Subscribers