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/