diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/.github/workflows/test.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/.github/workflows/test.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/.github/workflows/test.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/.github/workflows/test.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -658,6 +658,7 @@
- ubuntu-18.04-64
- ubuntu-20.04-64
- ubuntu-22.04-64
+ - ubuntu-24.04-64
steps:
- name: Cleanup job workspace
id: cleanup-job-workspace
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/cmd/snap-confine/seccomp-support.c snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/cmd/snap-confine/seccomp-support.c
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/cmd/snap-confine/seccomp-support.c 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/cmd/snap-confine/seccomp-support.c 2024-04-17 07:32:18.000000000 +0000
@@ -148,6 +148,9 @@
die("%s filter may only be empty in unrestricted profiles",
what);
}
+ if (len_bytes > MAX_BPF_SIZE) {
+ die("%s filter size too big %u", what, len_bytes);
+ }
prog->len = len_bytes / sizeof(struct sock_filter);
prog->filter = malloc(len_bytes);
if (prog->filter == NULL) {
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/commits snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/commits
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/commits 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/commits 2024-04-17 07:32:18.000000000 +0000
@@ -1 +1 @@
-master:83f649d5af8728f214ee3631ea722112390c0454
+master:3b25e50bcf0dc448454b27cfd63e072df202caa6
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/daemon/export_test.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/daemon/export_test.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/daemon/export_test.go 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/daemon/export_test.go 2024-04-17 07:32:18.000000000 +0000
@@ -39,7 +39,10 @@
"github.com/snapcore/snapd/testutil"
)
-var CreateQuotaValues = createQuotaValues
+var (
+ CreateQuotaValues = createQuotaValues
+ ParseOptionalTime = parseOptionalTime
+)
func APICommands() []*Command {
return api
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/daemon/request_test.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/daemon/request_test.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/daemon/request_test.go 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/daemon/request_test.go 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,39 @@
+// -*- Mode: Go; indent-tabs-mode: t -*-
+
+/*
+ * Copyright (C) 2024 Canonical Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package daemon_test
+
+import (
+ "time"
+
+ "github.com/snapcore/snapd/daemon"
+ "gopkg.in/check.v1"
+)
+
+type requestSuite struct{}
+
+var _ = check.Suite(&requestSuite{})
+
+func (s *requestSuite) TestParseOptionalTimeHasNanosecondPrecision(c *check.C) {
+ oDateTime := time.Date(2024, time.April, 11, 15, 5, 3, 123456789, time.UTC).Format(time.RFC3339Nano)
+ dateTime, err := daemon.ParseOptionalTime(oDateTime)
+ c.Assert(err, check.IsNil)
+ c.Assert(dateTime, check.NotNil)
+ c.Assert(dateTime.Nanosecond(), check.Equals, 123456789)
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/dbusutil/netplantest/netplantest.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/dbusutil/netplantest/netplantest.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/dbusutil/netplantest/netplantest.go 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/dbusutil/netplantest/netplantest.go 2024-04-17 07:32:18.000000000 +0000
@@ -25,6 +25,7 @@
import (
"fmt"
+ "sync"
"github.com/godbus/dbus"
@@ -41,6 +42,7 @@
type NetplanServer struct {
conn *dbus.Conn
+ sync.Mutex
MockNetplanConfigYaml string
@@ -110,6 +112,13 @@
return server.conn.Close()
}
+func (server *NetplanServer) WithLocked(f func()) {
+ server.Lock()
+ defer server.Unlock()
+
+ f()
+}
+
// netplanApiV1 implements the original netplan DBus API that is found
// in netplan 0.98. It can only do a global "Apply".
type netplanApiV1 struct {
@@ -117,6 +126,9 @@
}
func (a netplanApiV1) Apply() (bool, *dbus.Error) {
+ a.server.Lock()
+ defer a.server.Unlock()
+
return true, a.server.ConfigApiApplyErr
}
@@ -140,26 +152,41 @@
}
func (c netplanConfigApi) Get() (string, *dbus.Error) {
+ c.server.Lock()
+ defer c.server.Unlock()
+
c.server.ConfigApiGetCalls++
return c.server.MockNetplanConfigYaml, c.server.ConfigApiGetErr
}
func (c netplanConfigApi) Set(value, originHint string) (bool, *dbus.Error) {
+ c.server.Lock()
+ defer c.server.Unlock()
+
c.server.ConfigApiSetCalls = append(c.server.ConfigApiSetCalls, fmt.Sprintf("%s/%s", value, originHint))
return c.server.ConfigApiSetRet, c.server.ConfigApiSetErr
}
func (c netplanConfigApi) Apply() (bool, *dbus.Error) {
+ c.server.Lock()
+ defer c.server.Unlock()
+
c.server.ConfigApiApplyCalls++
return c.server.ConfigApiApplyRet, c.server.ConfigApiApplyErr
}
func (c netplanConfigApi) Cancel() (bool, *dbus.Error) {
+ c.server.Lock()
+ defer c.server.Unlock()
+
c.server.ConfigApiCancelCalls++
return c.server.ConfigApiCancelRet, c.server.ConfigApiCancelErr
}
func (c netplanConfigApi) Try(timeout int) (bool, *dbus.Error) {
+ c.server.Lock()
+ defer c.server.Unlock()
+
c.server.ConfigApiTryCalls++
return c.server.ConfigApiTryRet, c.server.ConfigApiTryErr
}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/debian/changelog snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/debian/changelog
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/debian/changelog 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/debian/changelog 2024-04-17 07:32:18.000000000 +0000
@@ -1,8 +1,8 @@
-snapd (2.62+git5217.d8c2314e4~ubuntu23.10.1) mantic; urgency=low
+snapd (2.62+git5222.e0a2f0280~ubuntu23.10.1) mantic; urgency=low
* Auto build.
- -- Launchpad Package Builder Tue, 16 Apr 2024 07:32:17 +0000
+ -- Launchpad Package Builder Wed, 17 Apr 2024 07:32:18 +0000
snapd (2.62) xenial; urgency=medium
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/debian/git-build-recipe.manifest snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/debian/git-build-recipe.manifest
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/debian/git-build-recipe.manifest 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/debian/git-build-recipe.manifest 2024-04-17 07:32:18.000000000 +0000
@@ -1,2 +1,2 @@
-# git-build-recipe format 0.4 deb-version {debupstream}+git5217.d8c2314e4
-lp:snapd-vendor git-commit:d8c2314e49f27bf11f0cf37175efe26050070442
+# git-build-recipe format 0.4 deb-version {debupstream}+git5222.e0a2f0280
+lp:snapd-vendor git-commit:e0a2f0280e728a3933e324299e27c14d1ce97b61
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/desktop/notification/notificationtest/gtk.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/desktop/notification/notificationtest/gtk.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/desktop/notification/notificationtest/gtk.go 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/desktop/notification/notificationtest/gtk.go 2024-04-17 07:32:18.000000000 +0000
@@ -114,6 +114,9 @@
// If not nil, all the gtkApi methods will return the provided error
// in place of performing their usual task.
func (server *GtkServer) SetError(err *dbus.Error) {
+ server.mu.Lock()
+ defer server.mu.Unlock()
+
server.err = err
}
@@ -135,13 +138,13 @@
}
func (a gtkApi) AddNotification(desktopID, id string, info map[string]dbus.Variant) *dbus.Error {
+ a.server.mu.Lock()
+ defer a.server.mu.Unlock()
+
if a.server.err != nil {
return a.server.err
}
- a.server.mu.Lock()
- defer a.server.mu.Unlock()
-
notification := &GtkNotification{
ID: id,
DesktopID: desktopID,
@@ -152,8 +155,15 @@
}
func (a gtkApi) RemoveNotification(desktopId, id string) *dbus.Error {
- if a.server.err != nil {
+ // Close() called below locks the server, so the error check must be
+ // locked separately
+ dErr := func() *dbus.Error {
+ a.server.mu.Lock()
+ defer a.server.mu.Unlock()
return a.server.err
+ }()
+ if dErr != nil {
+ return dErr
}
if err := a.server.Close(id); err != nil {
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/overlord/configstate/configcore/netplan_test.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/overlord/configstate/configcore/netplan_test.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/overlord/configstate/configcore/netplan_test.go 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/overlord/configstate/configcore/netplan_test.go 2024-04-17 07:32:18.000000000 +0000
@@ -181,8 +181,10 @@
"version": json.Number("2"),
},
})
- // the config snapshot is discarded after it was read
- c.Check(s.backend.ConfigApiCancelCalls, Equals, 1)
+ s.backend.WithLocked(func() {
+ // the config snapshot is discarded after it was read
+ c.Check(s.backend.ConfigApiCancelCalls, Equals, 1)
+ })
// only the "network" subset
netplanCfg = make(map[string]interface{})
@@ -192,8 +194,10 @@
"renderer": "NetworkManager",
"version": json.Number("2"),
})
- // the config snapshot is discarded after it was read
- c.Check(s.backend.ConfigApiCancelCalls, Equals, 2)
+ s.backend.WithLocked(func() {
+ // the config snapshot is discarded after it was read
+ c.Check(s.backend.ConfigApiCancelCalls, Equals, 2)
+ })
// only the "network.version" subset
var ver json.Number
@@ -201,11 +205,13 @@
c.Assert(err, IsNil)
c.Check(ver, Equals, json.Number("2"))
- // the config snapshot is discarded after it was read
- c.Check(s.backend.ConfigApiCancelCalls, Equals, 3)
- // but nothing was applied
- c.Check(s.backend.ConfigApiTryCalls, Equals, 0)
- c.Check(s.backend.ConfigApiApplyCalls, Equals, 0)
+ s.backend.WithLocked(func() {
+ // the config snapshot is discarded after it was read
+ c.Check(s.backend.ConfigApiCancelCalls, Equals, 3)
+ // but nothing was applied
+ c.Check(s.backend.ConfigApiTryCalls, Equals, 0)
+ c.Check(s.backend.ConfigApiApplyCalls, Equals, 0)
+ })
}
func (s *netplanSuite) TestNetplanGetFromDBusCancelFails(c *C) {
@@ -215,9 +221,9 @@
logbuf, restore := logger.MockLogger()
defer restore()
+ s.backend.ConfigApiCancelRet = false
// export the V2 api, things work with that
s.backend.ExportApiV2()
- s.backend.ConfigApiCancelRet = false
tr := config.NewTransaction(s.state)
netplanCfg := make(map[string]interface{})
@@ -239,9 +245,9 @@
logbuf, restore := logger.MockLogger()
defer restore()
+ s.backend.ConfigApiCancelErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
// export the V2 api, things work with that
s.backend.ExportApiV2()
- s.backend.ConfigApiCancelErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
tr := config.NewTransaction(s.state)
netplanCfg := make(map[string]interface{})
@@ -300,10 +306,11 @@
}
func (s *netplanSuite) TestNetplanWriteConfigSetReturnsFalse(c *C) {
- s.backend.ExportApiV2()
s.backend.ConfigApiSetRet = false
s.backend.ConfigApiCancelRet = true
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
@@ -316,9 +323,9 @@
func (s *netplanSuite) TestNetplanWriteConfigSetFailsDBusErr(c *C) {
s.backend.ConfigApiCancelRet = true
+ s.backend.ConfigApiSetErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
s.backend.ExportApiV2()
- s.backend.ConfigApiSetErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
@@ -330,11 +337,12 @@
}
func (s *netplanSuite) TestNetplanWriteConfigTryReturnsFalse(c *C) {
- s.backend.ExportApiV2()
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryRet = false
s.backend.ConfigApiCancelRet = true
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -345,11 +353,12 @@
}
func (s *netplanSuite) TestNetplanWriteConfigTryFailsDBusErr(c *C) {
- s.backend.ExportApiV2()
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
s.backend.ConfigApiCancelRet = true
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -372,15 +381,15 @@
s.state.Set("seeded", seeded)
s.state.Unlock()
- // export the V2 api, things work with that
- s.backend.ExportApiV2()
-
// and everything is fine
s.fakestore.status = map[string]bool{"host1": true}
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryRet = true
s.backend.ConfigApiApplyRet = true
+ // export the V2 api, things work with that
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -390,25 +399,26 @@
err := configcore.Run(coreDev, rt)
c.Assert(err, IsNil)
- c.Check(s.backend.ConfigApiSetCalls, DeepEquals, []string{
- fmt.Sprintf(`network=null/%s`, expectedOriginHint),
- fmt.Sprintf(`network={"ethernets":{"eth0":{"dhcp4":true}},"renderer":"NetworkManager","version":2,"wifi":{"wlan0":{"dhcp4":true}}}/%s`, expectedOriginHint),
+ s.backend.WithLocked(func() {
+ c.Check(s.backend.ConfigApiSetCalls, DeepEquals, []string{
+ fmt.Sprintf(`network=null/%s`, expectedOriginHint),
+ fmt.Sprintf(`network={"ethernets":{"eth0":{"dhcp4":true}},"renderer":"NetworkManager","version":2,"wifi":{"wlan0":{"dhcp4":true}}}/%s`, expectedOriginHint),
+ })
+ c.Check(s.backend.ConfigApiTryCalls, Equals, 1)
+ c.Check(s.backend.ConfigApiApplyCalls, Equals, 1)
})
- c.Check(s.backend.ConfigApiTryCalls, Equals, 1)
- c.Check(s.backend.ConfigApiApplyCalls, Equals, 1)
}
func (s *netplanSuite) TestNetplanApplyConfigFails(c *C) {
- s.backend.ConfigApiCancelRet = true
-
- // export the V2 api, things work with that
- s.backend.ExportApiV2()
-
s.fakestore.status = map[string]bool{"host1": true}
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryRet = true
+ s.backend.ConfigApiCancelRet = true
s.backend.ConfigApiApplyRet = false
+ // export the V2 api, things work with that
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -420,16 +430,15 @@
}
func (s *netplanSuite) TestNetplanApplyConfigErr(c *C) {
- s.backend.ConfigApiCancelRet = true
-
- // export the V2 api, things work with that
- s.backend.ExportApiV2()
-
s.fakestore.status = map[string]bool{"host1": true}
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryRet = true
+ s.backend.ConfigApiCancelRet = true
s.backend.ConfigApiApplyErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
+ // export the V2 api, things work with that
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -441,9 +450,6 @@
}
func (s *netplanSuite) TestNetplanWriteConfigNoNetworkAfterTry(c *C) {
- // export the V2 api, things work with that
- s.backend.ExportApiV2()
-
// we have connectivity but it stops
s.fakestore.statusSeq = []map[string]bool{
{"host1": true},
@@ -459,6 +465,9 @@
s.backend.ConfigApiApplyRet = true
s.backend.ConfigApiCancelRet = true
+ // export the V2 api, things work with that
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -467,16 +476,17 @@
err := configcore.Run(coreDev, rt)
c.Assert(err, ErrorMatches, `cannot set netplan config: store no longer reachable`)
- c.Check(s.backend.ConfigApiTryCalls, Equals, 1)
- // one cancel for the initial "Get()" and one after the Try failed
- c.Check(s.backend.ConfigApiCancelCalls, Equals, 2)
- c.Check(s.backend.ConfigApiApplyCalls, Equals, 0)
- // 1 initial call and 10 retries
- c.Check(s.fakestore.seq, Equals, 6)
+ s.backend.WithLocked(func() {
+ c.Check(s.backend.ConfigApiTryCalls, Equals, 1)
+ // one cancel for the initial "Get()" and one after the Try failed
+ c.Check(s.backend.ConfigApiCancelCalls, Equals, 2)
+ c.Check(s.backend.ConfigApiApplyCalls, Equals, 0)
+ // 1 initial call and 10 retries
+ c.Check(s.fakestore.seq, Equals, 6)
+ })
}
func (s *netplanSuite) TestNetplanWriteConfigCancelFails(c *C) {
- s.backend.ExportApiV2()
s.fakestore.statusSeq = []map[string]bool{
{"host1": true},
// and is retried 5 times
@@ -490,6 +500,8 @@
s.backend.ConfigApiTryRet = true
s.backend.ConfigApiCancelRet = false
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -500,9 +512,6 @@
}
func (s *netplanSuite) TestNetplanWriteConfigCancelFailsWithDbusErr(c *C) {
- s.backend.ConfigApiCancelRet = true
-
- s.backend.ExportApiV2()
s.fakestore.statusSeq = []map[string]bool{
{"host1": true},
// and is retried 5 times
@@ -512,10 +521,13 @@
{"host1": false},
{"host1": false},
}
+ s.backend.ConfigApiCancelRet = true
s.backend.ConfigApiSetRet = true
s.backend.ConfigApiTryRet = true
s.backend.ConfigApiCancelErr = dbus.MakeFailedError(fmt.Errorf("netplan failed with some error"))
+ s.backend.ExportApiV2()
+
s.state.Lock()
rt := configcore.NewRunTransaction(config.NewTransaction(s.state), nil)
s.state.Unlock()
@@ -535,7 +547,6 @@
br54:
dhcp4: true
dhcp6: true`
- s.backend.ExportApiV2()
// we have connectivity
s.fakestore.status = map[string]bool{"host1": true}
@@ -543,6 +554,8 @@
s.backend.ConfigApiTryRet = true
s.backend.ConfigApiApplyRet = true
+ s.backend.ExportApiV2()
+
// we cannot use mockConf because we need the external config
// integration from the config.Transaction
s.state.Lock()
@@ -553,9 +566,11 @@
err := configcore.Run(coreDev, rt)
c.Assert(err, IsNil)
- c.Check(s.backend.ConfigApiSetCalls, DeepEquals, []string{
- `network=null/90-snapd-config`,
- `network={"bridges":{"br54":{"dhcp6":true}},"renderer":"networkd","version":2}/90-snapd-config`,
+ s.backend.WithLocked(func() {
+ c.Check(s.backend.ConfigApiSetCalls, DeepEquals, []string{
+ `network=null/90-snapd-config`,
+ `network={"bridges":{"br54":{"dhcp6":true}},"renderer":"networkd","version":2}/90-snapd-config`,
+ })
})
}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/packaging/ubuntu-16.04/changelog snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/packaging/ubuntu-16.04/changelog
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/packaging/ubuntu-16.04/changelog 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/packaging/ubuntu-16.04/changelog 2024-04-17 07:32:18.000000000 +0000
@@ -1,8 +1,8 @@
-snapd (2.62+git5217.d8c2314e4~ubuntu23.10.1) mantic; urgency=low
+snapd (2.62+git5222.e0a2f0280~ubuntu23.10.1) mantic; urgency=low
* Auto build.
- -- Launchpad Package Builder Tue, 16 Apr 2024 07:32:17 +0000
+ -- Launchpad Package Builder Wed, 17 Apr 2024 07:32:18 +0000
snapd (2.62) xenial; urgency=medium
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/packaging/ubuntu-16.04/git-build-recipe.manifest snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/packaging/ubuntu-16.04/git-build-recipe.manifest
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/packaging/ubuntu-16.04/git-build-recipe.manifest 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/packaging/ubuntu-16.04/git-build-recipe.manifest 2024-04-17 07:32:18.000000000 +0000
@@ -1,2 +1,2 @@
-# git-build-recipe format 0.4 deb-version {debupstream}+git5217.d8c2314e4
-lp:snapd-vendor git-commit:d8c2314e49f27bf11f0cf37175efe26050070442
+# git-build-recipe format 0.4 deb-version {debupstream}+git5222.e0a2f0280
+lp:snapd-vendor git-commit:e0a2f0280e728a3933e324299e27c14d1ce97b61
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/seed/seed20.go snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/seed/seed20.go
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/seed/seed20.go 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/seed/seed20.go 2024-04-17 07:32:18.000000000 +0000
@@ -583,6 +583,11 @@
for j := 1; j <= njobs; j++ {
jtm := tm.StartSpan(fmt.Sprintf("do-load-meta[%d]", j), fmt.Sprintf("snap metadata loading job #%d", j))
go func() {
+ var jobErr error
+ // defers are LIFO, make sure that time snap is stopped
+ // before we let the parent know that the goroutine is
+ // done
+ defer func() { outcomesCh <- jobErr }()
defer jtm.Stop()
Consider:
for sntoc := range s.snapsToConsiderCh {
@@ -608,7 +613,7 @@
if err == errSkipped {
continue
}
- outcomesCh <- err
+ jobErr = err
return
}
if essential {
@@ -619,7 +624,6 @@
s.snaps[i] = seedSnap
s.modes[i] = modes
}
- outcomesCh <- nil
}()
}
var firstErr error
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/spread.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/spread.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/spread.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/spread.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -264,6 +264,10 @@
image: ubuntu-2204-64-virt-enabled
storage: 25G
workers: 10
+ - ubuntu-24.04-64:
+ image: ubuntu-2404-64-virt-enabled
+ storage: 25G
+ workers: 4
google-nested-arm:
type: google
@@ -499,52 +503,52 @@
systems:
- ubuntu-core-16-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-16-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-16-arm-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-16-arm-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-18-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-18-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-18-arm-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-18-arm-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-20-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-20-arm-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-20-arm-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-22-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-22-arm-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-22-arm-32:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-24-64:
username: external
- password: ubuntu
+ password: ubuntu123
- ubuntu-core-24-arm-64:
username: external
- password: ubuntu
+ password: ubuntu123
path: /home/gopath/src/github.com/snapcore/snapd
@@ -1142,7 +1146,7 @@
#shellcheck source=tests/lib/image.sh
. "$TESTSLIB"/image.sh
distro_update_package_db
- distro_install_package snapd qemu qemu-utils genisoimage sshpass qemu-kvm cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
+ distro_install_package snapd qemu-kvm qemu-utils genisoimage sshpass cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
if os.query is-xenial || os.query is-arm; then
# the new ubuntu-image expects mkfs to support -d option, which was not
# supported yet by the version of mkfs that shipped with Ubuntu 16.04
@@ -1199,7 +1203,7 @@
#shellcheck source=tests/lib/image.sh
. "$TESTSLIB"/image.sh
distro_update_package_db
- distro_install_package snapd qemu qemu-utils genisoimage sshpass qemu-kvm cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
+ distro_install_package snapd qemu-kvm qemu-utils genisoimage sshpass cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
if os.query is-xenial || os.query is-arm; then
# the new ubuntu-image expects mkfs to support -d option, which was not
# supported yet by the version of mkfs that shipped with Ubuntu 16.04
@@ -1260,7 +1264,7 @@
#shellcheck source=tests/lib/image.sh
. "$TESTSLIB"/image.sh
distro_update_package_db
- distro_install_package snapd qemu qemu-utils genisoimage sshpass qemu-kvm cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
+ distro_install_package snapd qemu-kvm qemu-utils genisoimage sshpass cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
if os.query is-xenial || os.query is-arm; then
# the new ubuntu-image expects mkfs to support -d option, which was not
# supported yet by the version of mkfs that shipped with Ubuntu 16.04
@@ -1323,7 +1327,7 @@
#shellcheck source=tests/lib/image.sh
. "$TESTSLIB"/image.sh
distro_update_package_db
- distro_install_package snapd qemu qemu-utils genisoimage sshpass qemu-kvm cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
+ distro_install_package snapd qemu-kvm qemu-utils genisoimage sshpass cloud-image-utils ovmf kpartx xz-utils mtools ca-certificates xdelta3
if os.query is-xenial || os.query is-arm; then
# the new ubuntu-image expects mkfs to support -d option, which was not
# supported yet by the version of mkfs that shipped with Ubuntu 16.04
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/bin/tests.nested snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/bin/tests.nested
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/bin/tests.nested 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/bin/tests.nested 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
echo " restore"
echo " build-image IMAGE-TYPE"
echo " create-vm IMAGE-TYPE [--param-cdrom PARAM] [--param-cpus PARAM] [--param-mem PARAM]"
- echo " is-nested [core|classic|uc16|uc18|uc20|uc22]"
+ echo " is-nested [core|classic|uc16|uc18|uc20|uc22|uc24]"
echo " show [ATTRIBUTE]"
echo " vm "
echo " get "
@@ -191,6 +191,9 @@
uc22)
nested_is_core_22_system
;;
+ uc24)
+ nested_is_core_24_system
+ ;;
*)
echo "tests.nested: parameter not supported: $1" >&2
exit 1
@@ -423,6 +426,8 @@
echo ubuntu-core-20-64
elif os.query is-ubuntu 22.04; then
echo ubuntu-core-22-64
+ elif os.query is-ubuntu 22.04; then
+ echo ubuntu-core-24-64
else
echo "unsupported nested system"
exit 1
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,18 @@
+{
+ "type": "system-user",
+ "authority-id": "developer1",
+ "series": [
+ "16"
+ ],
+ "brand-id": "developer1",
+ "email": "snappy-dev@lists.launchpad.net",
+ "models": [
+ "testkeys-snapd-signed-core-24-amd64",
+ "testkeys-snapd-secured-core-24-amd64"
+ ],
+ "name": "user1",
+ "username": "user1",
+ "password": "$6$o5er943Y$cngsJHutSgACVbR65WAnhaUPC9.vENj8locb50hvMdMRMK8cQ3Zbu6WPh5Al2JrnHzpR63osPCwE/IFG/2s6K1",
+ "since": "2024-04-09T01:00:00+00:00",
+ "until": "2064-05-16T18:06:04+00:00"
+}
\ No newline at end of file
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-auto-import.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,26 @@
+type: system-user
+authority-id: developer1
+brand-id: developer1
+email: snappy-dev@lists.launchpad.net
+models:
+ - testkeys-snapd-signed-core-24-amd64
+ - testkeys-snapd-secured-core-24-amd64
+name: user1
+password: $6$o5er943Y$cngsJHutSgACVbR65WAnhaUPC9.vENj8locb50hvMdMRMK8cQ3Zbu6WPh5Al2JrnHzpR63osPCwE/IFG/2s6K1
+series:
+ - 16
+since: 2024-04-09T01:00:00+00:00
+until: 2064-05-16T18:06:04+00:00
+username: user1
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWbpwAAPz8QAH40mhDPKDDo/M0C5iuxGg+ceRnMse3fhuArv9kv5RsYnBoS
+ZFzboluii9Li1i+77WMvPBkGVWKCzcqKUKhl8VEiGwoMHF6xEi5xRH0Tq5MtBbir4PKlu88gkomL
+HZ+Ekgzxr0/C15dLnz+uGMUFqnyjLGnRGvQ9kxegwK57bVMEjkIeaUE1dCf0eiIsd2c5/BVeRfnC
+U9Sujc73GZsnhFSk07Rjf7pz8BICrtiJGftgsMabCgqGQd0U3//Qveti6ACt0HIJM6zJZ2wwiwbQ
+lr4aj+Ur/KrGWfQqaCMnnHF/Zrej8+ADtpcYWNMC/Jkdcs1feTjNtBXJ+v7c16xa4pmDaYXMnT22
+QnSEG9OOKAgFBy4vAYiDf/u2axqpy/h1SM01mTFB/x0jFJIFlTlt8+/aTDeQVMW+cQLxg5Pr35NQ
+I+LZy2VwiSDYc9H78SKW68y7fRKAaupjiLtt8i7u01PrI2nmHP4t77AAhdEa8fya+OtdpjxnZSis
+n7rV//3SmoVQkXLXOxnBWIkrn5+huNd7Lj4dexjrZwMnA4VHY414/kQi4RFrglEVcltJXlESl60F
+DH6nHjeTmrYFKQVhCThoCwRb9aOemkkCvu0zHjvqbkiSX6CiHn0/6zTeq7v6a4+N1WvknmJrUzxH
+Qd8a/0sguueQqkvZ57fUse1Tkxlk
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,42 @@
+{
+ "type": "model",
+ "authority-id": "developer1",
+ "series": "16",
+ "brand-id": "developer1",
+ "model": "developer1-24-classic-dangerous",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T22:00:00+00:00",
+ "grade": "dangerous",
+ "base": "core24",
+ "classic": "true",
+ "distribution": "ubuntu",
+ "serial-authority": [
+ "generic"
+ ],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-classic-dangerous.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,46 @@
+type: model
+authority-id: developer1
+series: 16
+brand-id: developer1
+model: developer1-24-classic-dangerous
+architecture: amd64
+base: core24
+classic: true
+distribution: ubuntu
+grade: dangerous
+serial-authority:
+ - generic
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/edge
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/stable
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+timestamp: 2024-04-09T22:00:00+00:00
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWeVwAAqQ8QAANqBf4lwDRXCxDBgWLKpA5HblmFyisUJHSOt/sdBdUy1icu
+vw/48tJljAmEu8XOesAa97NZiHU2UU8d0cKGsGHS9wgdVxCjACZVQaDEbNdX4455xY+aDQYxBwJ6
+R/2T29XIMffXjr7d+PeRb7s1PbrfHktH3D3fnJsQHPGF7Y6Tj9e0H6wx4gKkU9kkmhYTiHSVa8PS
+s+zi7NZhlfpQVkA49/KTjlmA7uH4oit47gjl32SHGiq/V70Yn2fuADKjJzJFN50Ld7uOtUqmNo58
+KBv+drdoP9krOxTjU9o2Jl0wzOKYste8QiiGSPI3l7hFEVQEqzHjVVEr+9zxlaf4dyxEhT7JeFDy
+z8uDG0AOTgGtw/Uo8QfGm91VHZSHR0+sqaDtizigtp0AvXRNLiiliR0dT4AhFwHmCOlxeaiT5fNL
+Rz9XGeT4Zjl+QHP6GL+0WpcdUKlIUey99Zhdky/t+z0boDN2JUnhL0GoFWMF9kxqtnDvUBsk2j2X
+xex4wCL5eQYooIk+KE7f2+7xlzK3HDvxmyjt6RytY3XlbqucakfiSERFYGWeEC2CZvwlPzHy+moC
+VSiXsCkNhV1A/pwXxtOsvaNVxJhgrvYsSB3dNTEA2qHgTML9PzCsKco+Te7XjRz+Lb455QVvrk+6
+W4vx2ge+itU29cdzCYcyWX4WT8ut
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,40 @@
+{
+ "type": "model",
+ "authority-id": "developer1",
+ "series": "16",
+ "brand-id": "developer1",
+ "model": "developer1-24-dangerous",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T22:00:00+00:00",
+ "grade": "dangerous",
+ "base": "core24",
+ "serial-authority": [
+ "generic"
+ ],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-dangerous.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,44 @@
+type: model
+authority-id: developer1
+series: 16
+brand-id: developer1
+model: developer1-24-dangerous
+architecture: amd64
+base: core24
+grade: dangerous
+serial-authority:
+ - generic
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/edge
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/stable
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+timestamp: 2024-04-09T22:00:00+00:00
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWfBQAAcpoQAAXQ+ADOss2Mk5a50lGWDnZGo1oOS//jGeUJFnnTiT1BDmam
+qApi3thly8Vv1ZNdel/kswwrIxvd3c1i4F5zPy+0KplMRk+/z2Ao9QgU/V3jDoWrjEVAb96NgaBC
+AydZgWO+aX9xYi22hYQRKzTpdK1k5nsKrZ5rs5Aq1UmM4cPY7PDQ779lgh7ZwzM9j5pcIiIJL9rv
+RqUOE7n3EpUsnffFtSX4efW3qfqFBtnZ7TBisMyXMCcYc8Z3crmlP1N6+NglWuYeSfk/nm9DoI8j
+awM0kdXxfTKJ0/d/w1xtSdmeu3OkZ1Y7PoGkKJ6JSpmVrRnH2810HdkbEesrqJ25jKSQFKpkVsoN
+McZTj7JGzNR8VTZQZVJy1MFYkyW//aNOtK6Z+5qvDhF3U8U4DLLS0MCwz37liVhrjuokW7oweWTl
+3B6ihyT9zepI9DMYEYs7ODLWWEnOK7W8KMUkNtsox8lhZ7IL/zsYk5iEFIRIrNiWXryO1DsypqlF
+2vxCx8ZlXAFRZKzZ0uX1WrYpki1e5s4AJ6BlwHT4r9hlKHy3TgT2K6RvkuqMWobtpu77s0/jcfkf
+B8OKvgO0yToqyRFbpwStNLqF5tmAalvDk5FLX6PDOMIw+u/a5LfZdQdVN7kJbwRrzSs+nqTQ9K+G
+XvnfU/6LtI8sB899zQzhz++VsXcL
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,40 @@
+{
+ "type": "model",
+ "authority-id": "developer1",
+ "series": "16",
+ "brand-id": "developer1",
+ "model": "developer1-24-secured",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T22:00:00+00:00",
+ "grade": "secured",
+ "base": "core24",
+ "serial-authority": [
+ "generic"
+ ],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-secured.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,44 @@
+type: model
+authority-id: developer1
+series: 16
+brand-id: developer1
+model: developer1-24-secured
+architecture: amd64
+base: core24
+grade: secured
+serial-authority:
+ - generic
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/edge
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/stable
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+timestamp: 2024-04-09T22:00:00+00:00
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWfAQAAC6sQAFmVs+Cr9Dm5ZgEVz1D/2bb7cSDkab0+UGl/QN/+vxki6jr+
+M56V69ZNUvaAAW9CIvNh1TNfj4SX9wk69NGBjycnGaOpE/X4g9N0yNPMQp7sIJy7SyHtp87Ry0SJ
+iJDZ0pZwE0mM7vJz7fmutI5SJDfe6mqMr7RyLuuxgevvilTCRaeX4prxeKw8nwE74XidITd943Jo
+jfHwUihqhrIf6I7Ijw6SdOvhGqTRv6peoag6iFHL+oWC94UK6GrwLneDKuT+V8wQVnQo1WVYuB6h
+Z1KATIXahgJ6Yjkl8IEekp8QdsJs2J9dwd1WHTRcqaMCvfUeBOakP6ikC7C7A5Qky28Z+gqW6qJz
+GfJgOvUHU/y+ePSr2PodYxWKm9xGqVNwo1jbG7e2E4Rxh+qV9DMriUARE2SoksABD2bB3MjYxv3S
+xdNpvGWQ4FLLh6EjVWo/wBcuBZ7El/EgbBa1YvHn0YXJu9pU0vfGa7xVbxhCs1c0c+MtGARGOWhJ
+lsZaAdErSn9SJrycyzxAfguWxriL02EONkxpCFK4wfi5H5hamef9+qUt1CDfpRIoOQry0lvSyRtA
++VPUqNBmIrTXP6uu80VGlU3ipEIQWXoAxghygU6ZaU371Z7Jf72eagUT2q02cw2zuPg9VMUhcKOb
+nRYOOfG5BjthyFCF9oT2I40NMZlN
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,40 @@
+{
+ "type": "model",
+ "authority-id": "developer1",
+ "series": "16",
+ "brand-id": "developer1",
+ "model": "developer1-24-signed",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T22:00:00+00:00",
+ "grade": "signed",
+ "base": "core24",
+ "serial-authority": [
+ "generic"
+ ],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-signed.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,44 @@
+type: model
+authority-id: developer1
+series: 16
+brand-id: developer1
+model: developer1-24-signed
+architecture: amd64
+base: core24
+grade: signed
+serial-authority:
+ - generic
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/edge
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/stable
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+timestamp: 2024-04-09T22:00:00+00:00
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWfHwAAqvsQAFrDwA7aJXxjED8zrYILrvAzA9w5ulNYnMGnuJXFrJcDQoXS
+DL5c6ha/RmPb9TeZ8r294TR7h2GOMSZzuHF7xToG8SYaQDlFsovXHQkpw3FBjdTrdAoDANbY2wI9
+Mth2ZFJ1bU9Dr2e5S17t06YfKoDYi1lCsX80H4ZHU26G9cFssUVqirSy3kfZkLgfycbq0awndr+C
+GgwsBwUXM8Nl3F9oj93mcqZpGEhfRn23bRtIRjrHeyX7NywMa+Vo7hm8MhpWmJfk7hRLTnjMHWUT
+8qvOHsiRGK5PeRUN3GGtIX24GrjSISlAYzaVzMaSQeJNNNrTlQ+/X7jqs37iaTLVdJpnnvM8r1xj
+q0xAkfSIT8oY91eTMxT/4Djh8R7tFfGJFSxZ8osM9z2Zf9dRqlxfkLVbEnMUoPPjC/M1f4aeQT0B
+zVCnXaJwfo4LbTYa4nD0ds0NoK7rpSG9eB258pAu8BK1IbqKmwp1eWFGnjW5iNbLXi+vAjSIeu8K
+8Rnn68/m0FVC2hj1i4NRqoKeuqZnTJ3TR9PR4zSpLP1LO9VIeOaCFfJ/ztfjwul4d7S5/8wr0c7G
+/c/nY6L96w7683rJLtz+DXrR1/UAHvQBCpbQr9Eldji9WPel+I7IpNuFFbkpzL70/xtuPwt5F4ey
+tRZBagalBBnnnftMTn0KiQDmOdXO
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,41 @@
+{
+ "type": "model",
+ "authority-id": "developer1",
+ "series": "16",
+ "brand-id": "developer1",
+ "model": "testkeys-snapd-signed-core-20-amd64",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T22:00:00+00:00",
+ "grade": "dangerous",
+ "storage-safety": "prefer-unencrypted",
+ "base": "core24",
+ "serial-authority": [
+ "generic"
+ ],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/developer1-24-storage-safety-prefer-unencrypted.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,45 @@
+type: model
+authority-id: developer1
+series: 16
+brand-id: developer1
+model: testkeys-snapd-signed-core-20-amd64
+architecture: amd64
+base: core24
+grade: dangerous
+serial-authority:
+ - generic
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/edge
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/stable
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+storage-safety: prefer-unencrypted
+timestamp: 2024-04-09T22:00:00+00:00
+sign-key-sha3-384: EAD4DbLxK_kn0gzNCXOs3kd6DeMU3f-L6BEsSEuJGBqCORR0gXkdDxMbOm11mRFu
+
+AcLBUgQAAQoABgUCZhWfLQAAN88QAKfEoeq/+9+uA75dytHCW4IpMLwUlM7k5JGonI7KBkBsch5L
+brGHhU7DZ0q5B7j51/ddlcgnvf1fOmH2JcBM/YJofYU7TYW6LiTGJDybwOjXfGhbMpNeYIA964G0
+Cb19UOrxIrrpItFEr5iff9YXj9NB1S8WaZBxm80urGClU91xNfSiSgSJM6jkoD0IVzfef/f/HtbM
+DZn1rWAhyuABZiZs9I+953BLIq26zidbG45Xb3Mv/TGd4Q411tG5r8BV7F5Se4BVhUq2TYm3J4Cr
+hPBHT/ZFb/TCQfMjnlGu+AMy1Et2Yzc2WhJ59uWyX9fFfF3rX/L/Iwr5hIZFn2+dHNIf46FF9i4g
+1oqkoaczBgksB8LsN35QT7au9SzVbb/nXSOur0bEOT6YGOlilfl0t2AJabJaN/OqAEE4UG/N6w8n
+CS5gAO5Ne8S+gXpP1DknxCPurkcvkhZm4V9Y/uS5FLVeWYq8lKF2i7M+eCMyiVIuvUyz0AsOdnN0
+4SPBxjoW0XxG9YFIGO1kitkukj1Q+hPnJpgr2/iFq6+BVJVT7M5scWL8pmq3PRazYKxuVhy2zal1
+boavPVsSRGCkb3WbfjHF7W2tWpRRjmNDt47+T46/+WHAPVZsATuvEPmpneTW6n2JCMVO+PtXGgrh
+P/vIcsw9qs2kRt/eh80Pp3CdA43v
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/nested-24-amd64.model snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/nested-24-amd64.model
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/nested-24-amd64.model 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/nested-24-amd64.model 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,49 @@
+type: model
+authority-id: canonical
+revision: 2
+series: 16
+brand-id: canonical
+model: ubuntu-core-24-amd64-dangerous
+architecture: amd64
+base: core24
+grade: dangerous
+snaps:
+ -
+ default-channel: 24/edge
+ id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
+ name: pc
+ type: gadget
+ -
+ default-channel: 24/beta
+ id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
+ name: pc-kernel
+ type: kernel
+ -
+ default-channel: latest/edge
+ id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
+ name: core24
+ type: base
+ -
+ default-channel: latest/edge
+ id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
+ name: snapd
+ type: snapd
+ -
+ default-channel: 24/edge
+ id: ASctKBEHzVt3f1pbZLoekCvcigRjtuqw
+ name: console-conf
+ presence: optional
+ type: app
+timestamp: 2024-03-12T08:42:32+00:00
+sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
+
+AcLBXAQAAQoABgUCZfBvFgAKCRDgT5vottzAEkUZD/9q2UjBGOMNUaAOqpSxtAwgKGtt1uVYE74d
+5U3V+gqHC5x6eSdXkm6DCbHPp54Lxz3f4so2Epp8lYGyrtUPJdXmP57w49BvMZfItudSto8IPkdZ
+ogYYZQfaV5L0JUL+OEdrOlbuUEWkHAbqxKrFHlv5c3VwlzaplQixTenyvfAxsERJSgrRUaz1FuL/
+AuoWkz4hpvDe1JV+mLyHmaqea8U9g+H7gd5x5pSI/f6S2t1Ercds3fDe8Ot92E2vsi5PhOC/z5mn
+MS2Lv7KYKXMIMvOfh2GzV2cv2ZPjPv/D8lJ/y4BCl4N1iUmUb52fW6m3Whdi/LqDM0VkSvJXWX23
+H+szcnq09EM4ajcuXxUGVl9Z0QeQG9goKFRqF0lTfMo2EIGkOvWbO077SjzWWpFfr7GtB74J9xu3
+RgxDPmk0HEdYy4u7jUAiOpIMytmKiCor7hXCnMUvadP//slpnH2Pi5nqq0bm32nID6JjBjYO3IrL
+TuuSaKbjGpyHIGg/dUBZltHtsgGgRxF7CFrtzxhGjdIg8tllG6nMdPm9G3Vsic9zuBG8uLAOX7Dr
+RvT5/ylHYnbE68Y6TQJGhfH1qYpbqnG3QTJX8bDDHJ4nBKyNhBdrZQ2wOvBOLnyN9npaJO83qpF6
+Xv/6BUbwNtOnPL3ovnBLe1RJ358a7TcUtfuES1XlyQ==
\ No newline at end of file
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/valid-for-testing-pc-24.json snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/valid-for-testing-pc-24.json
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/assertions/valid-for-testing-pc-24.json 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/assertions/valid-for-testing-pc-24.json 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,38 @@
+{
+ "type": "model",
+ "authority-id": "test-snapd",
+ "series": "16",
+ "brand-id": "test-snapd",
+ "model": "my-model",
+ "architecture": "amd64",
+ "timestamp": "2024-04-09T00:00:00+00:00",
+ "grade": "dangerous",
+ "base": "core24",
+ "serial-authority": ["generic"],
+ "snaps": [
+ {
+ "default-channel": "24/edge",
+ "id": "UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH",
+ "name": "pc",
+ "type": "gadget"
+ },
+ {
+ "default-channel": "24/edge",
+ "id": "pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza",
+ "name": "pc-kernel",
+ "type": "kernel"
+ },
+ {
+ "default-channel": "latest/edge",
+ "id": "dwTAh7MZZ01zyriOZErqd1JynQLiOGvM",
+ "name": "core24",
+ "type": "base"
+ },
+ {
+ "default-channel": "latest/stable",
+ "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4",
+ "name": "snapd",
+ "type": "snapd"
+ }
+ ]
+}
\ No newline at end of file
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/external/prepare-ssh-uc24.sh snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/external/prepare-ssh-uc24.sh
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/external/prepare-ssh-uc24.sh 1970-01-01 00:00:00.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/external/prepare-ssh-uc24.sh 2024-04-17 07:32:18.000000000 +0000
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -ex
+
+INSTANCE_IP="${1:-localhost}"
+INSTANCE_PORT="${2:-8022}"
+USER="${3:-$(whoami)}"
+
+execute_remote(){
+ # shellcheck disable=SC2029
+ ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p "$INSTANCE_PORT" "$USER@$INSTANCE_IP" "$@"
+}
+
+execute_remote "sudo useradd --uid 12345 --extrausers test"
+execute_remote "echo test:ubuntu123 | sudo chpasswd"
+execute_remote "echo 'test ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-test"
+
+execute_remote "sudo useradd --extrausers external"
+execute_remote "echo external:ubuntu123 | sudo chpasswd"
+execute_remote "echo 'external ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-external"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/external/prepare-ssh.sh snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/external/prepare-ssh.sh
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/external/prepare-ssh.sh 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/external/prepare-ssh.sh 2024-04-17 07:32:18.000000000 +0000
@@ -11,9 +11,10 @@
}
execute_remote "sudo adduser --uid 12345 --extrausers --quiet --disabled-password --gecos '' test"
-execute_remote "echo test:ubuntu | sudo chpasswd"
+execute_remote "echo test:ubuntu123 | sudo chpasswd"
execute_remote "echo 'test ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-test"
execute_remote "sudo adduser --extrausers --quiet --disabled-password --gecos '' external"
-execute_remote "echo external:ubuntu | sudo chpasswd"
+execute_remote "echo external:ubuntu123 | sudo chpasswd"
execute_remote "echo 'external ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-external"
+
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/nested.sh snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/nested.sh
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/nested.sh 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/nested.sh 2024-04-17 07:32:18.000000000 +0000
@@ -74,10 +74,10 @@
fi
# Check no infinite loops during boot
- if nested_is_core_20_system || nested_is_core_22_system; then
+ if nested_is_core_ge 20; then
test "$(grep -c -E "Command line:.*snapd_recovery_mode=install" "$serial_log")" -le 1
test "$(grep -c -E "Command line:.*snapd_recovery_mode=run" "$serial_log")" -le 1
- elif nested_is_core_16_system || nested_is_core_18_system; then
+ else
test "$(grep -c -E "Command line:.*BOOT_IMAGE=\(loop\)/kernel.img" "$serial_log")" -le 1
fi
@@ -146,8 +146,8 @@
local recovery_system="$1"
local mode="$2"
- if ! nested_is_core_20_system && ! nested_is_core_22_system; then
- echo "Transition can be done just on uc20 and uc22 systems, exiting..."
+ if nested_is_core_le 18; then
+ echo "Transition can be done just on uc20+ systems, exiting..."
exit 1
fi
@@ -166,17 +166,23 @@
}
nested_prepare_ssh() {
- remote.exec "sudo adduser --uid 12345 --extrausers --quiet --disabled-password --gecos '' test"
- remote.exec "echo test:ubuntu | sudo chpasswd"
+ if nested_is_core_ge 24; then
+ remote.exec "sudo useradd --uid 12345 --extrausers test"
+ remote.exec "sudo useradd --extrausers external"
+ else
+ remote.exec "sudo adduser --uid 12345 --extrausers --quiet --disabled-password --gecos '' test"
+ remote.exec "sudo adduser --extrausers --quiet --disabled-password --gecos '' external"
+ fi
+
+ remote.exec "echo test:ubuntu123 | sudo chpasswd"
remote.exec "echo 'test ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-test"
# Check we can connect with the new test user and make sudo
- remote.exec --user test --pass ubuntu "sudo true"
+ remote.exec --user test --pass ubuntu123 "sudo true"
- remote.exec "sudo adduser --extrausers --quiet --disabled-password --gecos '' external"
- remote.exec "echo external:ubuntu | sudo chpasswd"
+ remote.exec "echo external:ubuntu123 | sudo chpasswd"
remote.exec "echo 'external ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/create-user-external"
# Check we can connect with the new external user and make sudo
- remote.exec --user external --pass ubuntu "sudo true"
+ remote.exec --user external --pass ubuntu123 "sudo true"
}
@@ -323,6 +329,30 @@
test "$NESTED_TYPE" = "classic"
}
+nested_is_core_ge() {
+ local VERSION=$1
+ os.query is-ubuntu-ge "${VERSION}.04"
+}
+
+nested_is_core_gt() {
+ local VERSION=$1
+ os.query is-ubuntu-gt "${VERSION}.04"
+}
+
+nested_is_core_le() {
+ local VERSION=$1
+ os.query is-ubuntu-le "${VERSION}.04"
+}
+
+nested_is_core_lt() {
+ local VERSION=$1
+ os.query is-ubuntu-lt "${VERSION}.04"
+}
+
+nested_is_core_24_system() {
+ os.query is-noble
+}
+
nested_is_core_22_system() {
os.query is-jammy
}
@@ -352,7 +382,7 @@
remote.exec "snap info core" | grep -E "^tracking: +latest/${NEW_CHANNEL}"
fi
- if nested_is_core_18_system || nested_is_core_20_system || nested_is_core_22_system; then
+ if nested_is_core_ge 18; then
remote.exec "sudo snap refresh snapd --${NEW_CHANNEL}"
remote.exec "snap info snapd" | grep -E "^tracking: +latest/${NEW_CHANNEL}"
else
@@ -370,8 +400,10 @@
nested_get_snakeoil_key() {
local KEYNAME="PkKek-1-snakeoil"
- wget -q https://raw.githubusercontent.com/snapcore/pc-amd64-gadget/20/snakeoil/$KEYNAME.key
- wget -q https://raw.githubusercontent.com/snapcore/pc-amd64-gadget/20/snakeoil/$KEYNAME.pem
+ local VERSION
+ VERSION="$(nested_get_version)"
+ wget -q https://raw.githubusercontent.com/snapcore/pc-amd64-gadget/"$VERSION"/snakeoil/"$KEYNAME".key
+ wget -q https://raw.githubusercontent.com/snapcore/pc-amd64-gadget/"$VERSION"/snakeoil/"$KEYNAME".pem
echo "$KEYNAME"
}
@@ -502,6 +534,8 @@
echo "20"
elif nested_is_core_22_system; then
echo "22"
+ elif nested_is_core_24_system; then
+ echo "24"
fi
}
@@ -529,6 +563,9 @@
ubuntu-22.04-arm-64)
echo "$TESTSLIB/assertions/nested-22-arm64.model"
;;
+ ubuntu-24.04-64)
+ echo "$TESTSLIB/assertions/nested-24-amd64.model"
+ ;;
*)
echo "unsupported system"
exit 1
@@ -589,11 +626,11 @@
version="$(nested_get_version)"
if [ ! -f "$NESTED_ASSETS_DIR/$output_name" ]; then
- if nested_is_core_16_system || nested_is_core_18_system; then
+ if nested_is_core_le 18; then
kernel_snap=pc-kernel-new.snap
repack_kernel_snap "$kernel_snap"
- elif nested_is_core_20_system || nested_is_core_22_system; then
+ elif nested_is_core_ge 20; then
snap download --basename=pc-kernel --channel="$version/${NESTED_KERNEL_CHANNEL}" pc-kernel
# set the unix bump time if the NESTED_* var is set,
@@ -604,7 +641,11 @@
epochBumpTime="--epoch-bump-time=$epochBumpTime"
fi
- uc20_build_initramfs_kernel_snap "pc-kernel.snap" "$NESTED_ASSETS_DIR" "$epochBumpTime"
+ if nested_is_core_24_system; then
+ uc24_build_initramfs_kernel_snap "pc-kernel.snap" "$NESTED_ASSETS_DIR" "$epochBumpTime"
+ else
+ uc20_build_initramfs_kernel_snap "pc-kernel.snap" "$NESTED_ASSETS_DIR" "$epochBumpTime"
+ fi
rm -f "pc-kernel.snap" "pc-kernel.assert"
# Prepare the pc kernel snap
@@ -624,7 +665,7 @@
nested_prepare_gadget() {
if [ "$NESTED_REPACK_GADGET_SNAP" = "true" ]; then
- if nested_is_core_20_system || nested_is_core_22_system; then
+ if nested_is_core_ge 20; then
# Prepare the pc gadget snap (unless provided by extra-snaps)
local snap_id version gadget_snap
version="$(nested_get_version)"
@@ -720,6 +761,9 @@
elif nested_is_core_22_system; then
snap_name="core22"
snap_id="amcUKQILKXHHTlmSa7NMdnXSx02dNeeT"
+ elif nested_is_core_24_system; then
+ snap_name="core24"
+ snap_id="dwTAh7MZZ01zyriOZErqd1JynQLiOGvM"
fi
output_name="${snap_name}.snap"
@@ -766,7 +810,7 @@
IMAGE_NAME="$(nested_get_image_name core)"
# Configure the user for the vm
if [ "$NESTED_USE_CLOUD_INIT" = "true" ]; then
- if nested_is_core_20_system || nested_is_core_22_system; then
+ if nested_is_core_ge 20; then
nested_configure_cloud_init_on_core20_vm "$NESTED_IMAGES_DIR/$IMAGE_NAME"
else
nested_configure_cloud_init_on_core_vm "$NESTED_IMAGES_DIR/$IMAGE_NAME"
@@ -948,7 +992,7 @@
local CONFIG_PATH=$1
cat << 'EOF' > "$CONFIG_PATH"
#cloud-config
-datasource_list: [NoCloud]
+datasource_list: [ None ]
users:
- name: user1
sudo: "ALL=(ALL) NOPASSWD:ALL"
@@ -1145,7 +1189,7 @@
# storage to
PARAM_ASSERTIONS="-drive if=none,id=stick,format=raw,file=$NESTED_ASSETS_DIR/assertions.disk,cache=none,format=raw -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,removable=true,drive=stick"
fi
- if nested_is_core_20_system || nested_is_core_22_system; then
+ if nested_is_core_ge 20; then
# use a bundle EFI bios by default
if os.query is-arm; then
PARAM_BIOS="-bios /usr/share/AAVMF/AAVMF_CODE.fd"
@@ -1156,7 +1200,7 @@
OVMF_CODE="secboot"
OVMF_VARS="ms"
- if nested_is_core_22_system; then
+ if nested_is_core_ge 22; then
wget -q https://storage.googleapis.com/snapd-spread-tests/dependencies/OVMF_CODE.secboot.fd
mv OVMF_CODE.secboot.fd /usr/share/OVMF/OVMF_CODE.secboot.fd
wget -q https://storage.googleapis.com/snapd-spread-tests/dependencies/OVMF_VARS.snakeoil.fd
@@ -1273,7 +1317,11 @@
nested_prepare_tools
# Wait for cloud init to be done if the system is using cloud-init
if [ "$NESTED_USE_CLOUD_INIT" = true ]; then
- remote.exec "retry --wait 1 -n 5 sh -c 'cloud-init status --wait'"
+ if ! remote.exec "retry --wait 1 -n 5 sh -c 'cloud-init status --wait'"; then
+ # In uc24 the command `cloud-init status --wait` fails even when
+ # the status is done.
+ remote.exec "cloud-init status" | MATCH "status: done"
+ fi
fi
fi
}
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/prepare.sh snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/prepare.sh
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/prepare.sh 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/prepare.sh 2024-04-17 07:32:18.000000000 +0000
@@ -1017,9 +1017,6 @@
core_name="core22"
elif is_test_target_core 24; then
core_name="core24"
- # TODO: revert this once snaps are ready in target channel
- KERNEL_CHANNEL=beta
- GADGET_CHANNEL=edge
fi
# XXX: we get "error: too early for operation, device not yet
# seeded or device model not acknowledged" here sometimes. To
@@ -1161,15 +1158,9 @@
# also add debug command line parameters to the kernel command line via
# the gadget in case things go side ways and we need to debug
- if is_test_target_core 24; then
- # TODO: remove this once pc snap is available in beta channel
- snap download --basename=pc --channel="${BRANCH}/edge" pc
- else
- snap download --basename=pc --channel="${BRANCH}/${KERNEL_CHANNEL}" pc
- fi
+ snap download --basename=pc --channel="${BRANCH}/${KERNEL_CHANNEL}" pc
test -e pc.snap
unsquashfs -d pc-gadget pc.snap
-
# TODO: it would be desirable when we need to do in-depth debugging of
# UC20 runs in google to have snapd.debug=1 always on the kernel command
# line, but we can't do this universally because the logic for the env
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/tools/tests.nested snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/tools/tests.nested
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/lib/tools/tests.nested 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/lib/tools/tests.nested 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
echo " restore"
echo " build-image IMAGE-TYPE"
echo " create-vm IMAGE-TYPE [--param-cdrom PARAM] [--param-cpus PARAM] [--param-mem PARAM]"
- echo " is-nested [core|classic|uc16|uc18|uc20|uc22]"
+ echo " is-nested [core|classic|uc16|uc18|uc20|uc22|uc24]"
echo " show [ATTRIBUTE]"
echo " vm "
echo " get "
@@ -191,6 +191,9 @@
uc22)
nested_is_core_22_system
;;
+ uc24)
+ nested_is_core_24_system
+ ;;
*)
echo "tests.nested: parameter not supported: $1" >&2
exit 1
@@ -423,6 +426,8 @@
echo ubuntu-core-20-64
elif os.query is-ubuntu 22.04; then
echo ubuntu-core-22-64
+ elif os.query is-ubuntu 22.04; then
+ echo ubuntu-core-24-64
else
echo "unsupported nested system"
exit 1
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/bad-try-kernel-no-reboot/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/bad-try-kernel-no-reboot/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/bad-try-kernel-no-reboot/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/bad-try-kernel-no-reboot/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -3,7 +3,7 @@
details: |
Make sure that a bad try-kernel.efi does not provoke reboot loops
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
execute: |
echo "Wait for the system to be seeded first"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/base-revert-after-boot/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/base-revert-after-boot/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/base-revert-after-boot/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/base-revert-after-boot/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
that already booted can be reverted properly if something else fails, like a
post-refresh hook.
-systems: [ubuntu-16.04-64, ubuntu-18.04-64, ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-*]
execute: |
echo "Build base with failing post-refresh hook"
@@ -14,8 +14,8 @@
if [ "$VERSION" -eq 16 ]; then
base=core
fi
- rm -rf "$base"
- snap download --basename="$base" "$base"
+ snap download --basename="$base" --channel="$NESTED_CORE_CHANNEL" "$base"
+
unsquashfs -d "$base" "$base".snap
HOOKS_D=$base/meta/hooks/
POST_REFRESH_P=$HOOKS_D/post-refresh
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/connected-after-reboot-revert/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/connected-after-reboot-revert/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/connected-after-reboot-revert/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/connected-after-reboot-revert/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -6,7 +6,7 @@
update, we still have connections to the base snap. This could happen in
the past if one of the updated snaps was snapd.
-systems: [ubuntu-16.04-64, ubuntu-18.04-64, ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-*]
execute: |
echo "Build kernel with failing post-refresh hook"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core-gadget-mounted/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core-gadget-mounted/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core-gadget-mounted/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core-gadget-mounted/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
from initramfs.
# this is a UC20+ specific test
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
execute: |
# Checks that the gadget was mounted
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-create-recovery/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-create-recovery/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-create-recovery/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-create-recovery/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: verify creating recovery system on UC20
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Checks the system is back in run mode when it is used a recovery system
+ with typical and alternative recovery system labels.
+
+systems: [ubuntu-2*]
prepare: |
remote.exec sudo snap install test-snapd-curl --edge --devmode
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-degraded/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-degraded/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-degraded/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-degraded/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,11 @@
summary: Transition to recover mode with things missing so we use degraded mode
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Checks the transition to degraded mode can be done trough a transition with missing
+ ubuntu-save key. Verifies degraded.json exists and has the unlock-key for ubuntu-save
+ as the fallback key.
+
+systems: [ubuntu-2*]
environment:
DEGRADED_JSON: /run/snapd/snap-bootstrap/degraded.json
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-factory-reset/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-factory-reset/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-factory-reset/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-factory-reset/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -3,7 +3,7 @@
details: |
This test checks that UC20 can be reset to factory state
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_ENABLE_SECURE_BOOT/fde: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-fault-inject/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-fault-inject/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-fault-inject/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-fault-inject/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
The test injects a reboot fault during link snap and verifies that a reboot
actually happens.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
execute: |
# automatically cleaned up in restore
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-gadget-reseal/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-gadget-reseal/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-gadget-reseal/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-gadget-reseal/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Check that a gadget refresh reseals
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check that when a new gadget without changes is installed, then no reseal is needed. Then
+ verifies that when a gadget with changes is installed, resealing is performed.
+
+systems: [ubuntu-2*]
execute: |
SEALED_KEY_MTIME_1="$(remote.exec sudo stat --format="%Y" /run/mnt/ubuntu-boot/device/fde/ubuntu-data.sealed-key)"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-kernel-failover/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-kernel-failover/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-kernel-failover/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-kernel-failover/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,10 +1,12 @@
summary: Check that a broken kernel snap automatically rolls itself back
details: |
- Check that a broken kernel snap automatically rolls itself back
+ Check that when it is triggered an installation of a broken kernel (there are 7 different
+ kernel corruptions), the install change sinished with error and the initial kernel revision
+ remains installed and we don't have leftover bootenv.
# TODO:UC20: write equivalent test for base snap failover
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
PROBLEM_TYPE/crash: crash
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-kernel-reseal/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-kernel-reseal/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-kernel-reseal/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-kernel-reseal/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Check that a kernel refresh reseals
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Verifies that after installing a new (unasserted) kernel, we are using the new
+ kernel, ubuntu-data.sealed-key mtime is newer and we have boot chains.
+
+systems: [ubuntu-2*]
prepare: |
# we cannot use the kernel from store as it may have a version of
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-reinstall-partitions/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-reinstall-partitions/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core20-reinstall-partitions/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core20-reinstall-partitions/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -3,7 +3,7 @@
details: |
This test checks that UC20 can be reinstalled
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
# TODO: figure out a way to do this test where we reset the swtpm after the
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core22-basic/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core22-basic/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/core22-basic/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/core22-basic/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -3,7 +3,7 @@
details: |
This test checks basic snapd commands on UC22 with secure boot and encryption enabled
-systems: [ubuntu-22.04-64]
+systems: [ubuntu-22.04-64, ubuntu-24.04-64]
execute: |
echo "Wait for the system to be seeded first"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/coreconfig-services/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/coreconfig-services/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/coreconfig-services/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/coreconfig-services/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Disable and enable back core services via snap set with reboot.
-systems: [ubuntu-18.04-64, ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Verifies it is possible to disable and re-enable systemd-resolved service
+ via `snap set` with reboot.
+
+systems: [ubuntu-18.04-64, ubuntu-2*]
execute: |
remote.exec "systemctl status systemd-resolved.service" | MATCH "Active: +active"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/hotplug/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/hotplug/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/hotplug/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/hotplug/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,11 @@
summary: Create ubuntu core image, install snapd and test hotplug feature
-systems: [ubuntu-16.04-64, ubuntu-18.04-64]
+details: |
+ Check that when a device is plugged the hotplug slot is present, and when it
+ is unplugged, the slot is no longer present. Also validates a snap can be
+ connected to the device and serial-port permissions of the snap are correct.
+
+systems: [ubuntu-1*]
prepare: |
snap pack "$TESTSLIB"/snaps/serial-port-hotplug
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/interfaces-custom-devices/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/interfaces-custom-devices/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/interfaces-custom-devices/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/interfaces-custom-devices/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
The custom-device interface allows a gadget snap to provide custom slots
granting access to the devices it defines.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
prepare: |
# Add our interface to the gadget snap
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/kernel-revert-after-boot/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/kernel-revert-after-boot/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/kernel-revert-after-boot/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/kernel-revert-after-boot/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
that already booted can be reverted properly if something else fails, like a
post-refresh hook.
-systems: [ubuntu-16.04-64, ubuntu-18.04-64, ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-*]
execute: |
echo "Build kernel with failing post-refresh hook"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/save-data/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/save-data/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/core/save-data/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/core/save-data/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
ubuntu-save partition. It then verifies that we can write data to that folder
and that the folder is removed again once the snap is removed.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
debug: |
remote.exec "lsblk" || true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core-seeding-devmode/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core-seeding-devmode/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core-seeding-devmode/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core-seeding-devmode/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,7 +1,10 @@
summary: Test that devmode snaps can be installed during seeding.
+details: |
+ Validates that a devmode snap is properly installed during seeding
+
# testing with core16 (no snapd snap) and core18 (with snapd snap) is enough
-systems: [ubuntu-16.04-64, ubuntu-18.04-64]
+systems: [ubuntu-1*]
prepare: |
# seed a devmode snap
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-4k-sector-size/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-4k-sector-size/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-4k-sector-size/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-4k-sector-size/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: verify a simple UC2* scenario with 4k sector size
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check the basic snap commands when the Ubuntu Core image has been
+ created with 4k sector size
+
+systems: [ubuntu-2*]
environment:
NESTED_ENABLE_TPM: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-auto-remove-user/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-auto-remove-user/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-auto-remove-user/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-auto-remove-user/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Verify that snapd correctly removes expired users created with assertions.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check snapd removes expired users created with assertions, and also is able to
+ reimports the user with a new expiration date.
+
+systems: [ubuntu-2*]
environment:
# use snapd from the spread run so that we have testkeys trusted in the
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-boot-config-update/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-boot-config-update/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-boot-config-update/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-boot-config-update/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Check that the boot config is correctly updated when snapd is refreshed
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Verify that when snapd is refreshed with new boot config assets, then boot assets
+ have been updated
+
+systems: [ubuntu-2*]
environment:
VARIANT/nogadget: "no-gadget"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-cloud-init-maas-signed-seed-data/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-cloud-init-maas-signed-seed-data/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-cloud-init-maas-signed-seed-data/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-cloud-init-maas-signed-seed-data/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,11 @@
summary: Test that UC2* can use cloud-init config on ubuntu-seed with grade signed.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Verify that on Ubuntu Core 20+ it is possible to configure cloud-init on
+ ubuntu-seed with grade signed. Check files have been copied depending on the variant
+ and cloud-init is disabled after it is executed.
+
+systems: [ubuntu-2*]
environment:
# three variants
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-custom-kernel-commandline/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-custom-kernel-commandline/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-custom-kernel-commandline/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-custom-kernel-commandline/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -3,7 +3,7 @@
details: |
This test checks support for customized kernel command line arguments in UC20
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_BUILD_SNAPD_FROM_CURRENT: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-da-lockout/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-da-lockout/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-da-lockout/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-da-lockout/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
This test checks that an unclean shutdown of a UC20 device does
not cause an eventual DA lockout (LP: 1979185)
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_ENABLE_TPM/encrypted: "true"
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-early-config/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-early-config/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-early-config/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-early-config/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,10 @@
summary: Test that gadget config defaults are applied early on core20.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check that defaults are applied early when the Ubuntu Core image is
+ booted and also after transition to recovery mode.
+
+systems: [ubuntu-2*]
environment:
NESTED_ENABLE_TPM: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-factory-reset-install-device-hook/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-factory-reset-install-device-hook/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-factory-reset-install-device-hook/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-factory-reset-install-device-hook/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -6,7 +6,7 @@
conditions (whether the hook is executed in install mode, or factory-reset
mode ).
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
# use snapd from the spread run so that we have testkeys trusted in the
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-gadget-cloud-conf/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-gadget-cloud-conf/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-gadget-cloud-conf/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-gadget-cloud-conf/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,7 +1,12 @@
summary: Test that UC2* can boot with gadget provided cloud.conf for all grades
+details: |
+ Check that it is possible to create a user through the gadget provided cloud.conf.
+ Verify that initial cloud-init user was created and we can run things as the normal
+ user
+
# TODO: enable similar test for UC18 and UC16 gadgets that use cloud.conf?
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
# use tpm + secure boot to get full disk encryption, this is explicitly needed
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-above-testkeys-boot/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-above-testkeys-boot/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-above-testkeys-boot/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-above-testkeys-boot/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,9 @@
summary: Test that snapd with testkeys on UC2* can boot a model with grade signed.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check that snapd can boot a model with grade signed using testkeys.
+
+systems: [ubuntu-2*]
environment:
# use tpm + secure boot to get full disk encryption, this is explicitly needed
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-cloud-init-testkeys/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-cloud-init-testkeys/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-cloud-init-testkeys/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-grade-signed-cloud-init-testkeys/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,9 @@
summary: Test that UC2* with testkeys can boot a grade signed model with cloud-init.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check that Ubuntu Core can boot a grade signed model with cloud-init using testkeys.
+
+systems: [ubuntu-2*]
environment:
# use tpm + secure boot to get full disk encryption, this is explicitly needed
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-initramfs-time-moves-forward/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-initramfs-time-moves-forward/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-initramfs-time-moves-forward/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-initramfs-time-moves-forward/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,6 +1,11 @@
summary: Test that time moves forward when the RTC is broken/unavailable in UC20
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+details: |
+ Check that when the RTC is broken/unavailable, the time afeer tUbuntu Core is booted
+ is newer than the model assertion sign time. Also verify that the timestamp from
+ after snap-bootstrap ran is greater than the time from the model assertion.
+
+systems: [ubuntu-2*]
environment:
NESTED_BUILD_SNAPD_FROM_CURRENT: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-ubuntu-save-via-hook/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-ubuntu-save-via-hook/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-ubuntu-save-via-hook/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-ubuntu-save-via-hook/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -6,7 +6,7 @@
gadget that contains an install-device hook, which just writes a few files to the path
pointed to by SNAP_SAVE_DATA. It verifies we can create a file and a folder.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
# use snapd from the spread run so that we have testkeys trusted in the
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-via-hook-hack/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-via-hook-hack/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-via-hook-hack/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-device-file-install-via-hook-hack/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -6,7 +6,7 @@
onto the run system ubuntu-data on UC20 during install mode to avoid an
additional reboot during the first boot process.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
# use snapd from the spread run so that we have testkeys trusted in the
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-mode-shutdown-via-hook/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-mode-shutdown-via-hook/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-install-mode-shutdown-via-hook/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-install-mode-shutdown-via-hook/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
This test checks support for shutting down the device at the end of install
mode via the install-device hook
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_BUILD_SNAPD_FROM_CURRENT: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-remodel/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-remodel/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/core20-remodel/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/core20-remodel/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -8,7 +8,7 @@
requires a base that was not previously installed on the system. A remodel of
this kind requires snaps to be installed in a specific order.
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_CUSTOM_MODEL: $TESTSLIB/assertions/valid-for-testing-pc-{VERSION}.model
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/devmode-snap-seeded-dangerous/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/devmode-snap-seeded-dangerous/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/devmode-snap-seeded-dangerous/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/devmode-snap-seeded-dangerous/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,7 +1,11 @@
summary: Check that devmode snaps can be seeded with a dangerous uc20 model
+details: |
+ Check that devmode snaps are seeded properly when using a dangerous model in
+ Ubuntu Core. Verify that the devmode snap can be executed
+
# this is a UC20 specific test
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_BUILD_SNAPD_FROM_CURRENT: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/devmode-snaps-can-run-other-snaps/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/devmode-snaps-can-run-other-snaps/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/devmode-snaps-can-run-other-snaps/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/devmode-snaps-can-run-other-snaps/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -6,9 +6,7 @@
and for boinic the test covers running a non-core based devmode snap from a non-core based strict snap as
well as running core and non-core based devmode snaps from a core based strict snap.
-systems:
- - ubuntu-18.04-64
- - ubuntu-16.04-64
+systems: [ubuntu-1*]
environment:
# not needed to build snapd from source to use here, we have to manually
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/fde-on-classic/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/fde-on-classic/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/fde-on-classic/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/fde-on-classic/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
This test creates a classic image that looks like what the installer
would create and we boot into it.
-systems: [ubuntu-22.04-64]
+systems: [ubuntu-22.04-64, ubuntu-24.04-64]
environment:
NESTED_ENABLE_SECURE_BOOT: false
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/hybrid-remodel/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/hybrid-remodel/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/hybrid-remodel/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/hybrid-remodel/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -4,7 +4,7 @@
This test remodels on a hybrid system to install a new kernel snap and new
application snaps.
-systems: [ubuntu-22.04-64]
+systems: [ubuntu-22.04-64, ubuntu-24.04-64]
environment:
NESTED_BUILD_SNAPD_FROM_CURRENT: true
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/install-min-size/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/install-min-size/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/install-min-size/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/install-min-size/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -2,7 +2,7 @@
details: install a gadget that uses min-size
-systems: [ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-2*]
environment:
NESTED_CUSTOM_MODEL: $TESTSLIB/assertions/valid-for-testing-pc-{VERSION}.model
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/minimal-smoke/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/minimal-smoke/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/minimal-smoke/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/minimal-smoke/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -5,7 +5,7 @@
minimal memory requirements. The memory requirement varies depending on the
ubuntu core version.
-systems: [ubuntu-16.04-64, ubuntu-18.04-64, ubuntu-20.04-64, ubuntu-22.04-64]
+systems: [ubuntu-*]
environment:
NESTED_ENABLE_SECURE_BOOT/secboot_disabled: false
diff -Nru snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/muinstaller/task.yaml snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/muinstaller/task.yaml
--- snapd-2.62+git5217.d8c2314e4~ubuntu23.10.1/tests/nested/manual/muinstaller/task.yaml 2024-04-16 07:32:17.000000000 +0000
+++ snapd-2.62+git5222.e0a2f0280~ubuntu23.10.1/tests/nested/manual/muinstaller/task.yaml 2024-04-17 07:32:18.000000000 +0000
@@ -1,8 +1,12 @@
summary: Check that the /system/