Commit Graph

5393 Commits

Author SHA1 Message Date
Michael Hudson-Doyle 72c7e8df43 reuse an existing partition if possible in apply_system
This required a bit of a refactor which lead to rewriting tests as well
as adding a new one.
2022-11-17 22:03:58 +13:00
Michael Hudson-Doyle e735f83a8a
Merge pull request #1482 from mwhudson/server-install-desktop
configure controllers tui does not support when installing desktop
2022-11-16 11:11:57 +13:00
Michael Hudson-Doyle f015634b79 configure controllers tui does not support when installing desktop
A bit of a hack but probably a useful one.
2022-11-15 15:43:33 +13:00
Michael Hudson-Doyle ed13c64b05
Merge pull request #1484 from mwhudson/no-desktop-without-catalog
remove any support for a desktop installer without a source catalog
2022-11-15 15:41:40 +13:00
Michael Hudson-Doyle a48c2b4f14 remove any support for a desktop installer without a source catalog
The code in subiquity main could plausibly be offered as an upgrade to
users installing focal server and focal server ISOs do not have a source
catalog so we need to support that. But we will never support a desktop
ISO that does not have a source catalog so we can remove some slightly
confusing code that attempted to cover that case.
2022-11-15 13:41:42 +13:00
Michael Hudson-Doyle c585c41f3a
Merge pull request #1480 from mwhudson/stickier-channels
do not switch snap channel from .disk/info if not on ubuntu/stable-XX.YY
2022-11-15 11:50:28 +13:00
Michael Hudson-Doyle 820a482d49 do not switch snap channel from .disk/info if not on ubuntu/stable-XX.YY
The point of switching snap channel based on .disk/info is so that we
can avoid releasing updates to point release media if they won't work
there. If the snap is not tracking ubuntu/stable-XX.YY then there is
funny business afoot and we are not on point release media, so switching
channels as if we are is just unhelpful (for example, if you are working
on a project that is going to involve giving someone an image with a
subiquity from a non default track).

If the channel to switch to comes from the kernel command line or
autoinstall though, it should still be honoured.
2022-11-15 11:42:39 +13:00
Michael Hudson-Doyle 22b1958e0a
Merge pull request #1481 from mwhudson/tpm-v2
force storage version to 2 for a core boot classic install
2022-11-15 09:31:34 +13:00
Michael Hudson-Doyle 97d4fd70cd another comment for future work 2022-11-15 08:51:07 +13:00
Michael Hudson-Doyle 68316ceb80 force storage version to 2 for a core boot classic install
also a barely-related tweak to more accurately decide which path to take
in installation
2022-11-15 08:51:02 +13:00
Michael Hudson-Doyle 8b1699eaf2
Merge pull request #1479 from mwhudson/tpm-encrypt
call into snapd to set up encryption when required
2022-11-15 08:38:56 +13:00
Michael Hudson-Doyle 5971541beb use @ogayot's better bash
Co-authored-by: Olivier Gayot <olivier.gayot@sigexec.com>
2022-11-11 14:46:46 +13:00
Michael Hudson-Doyle 5dafdb916d call into snapd to set up encryption when required 2022-11-11 14:46:44 +13:00
Michael Hudson-Doyle cabb8dda8e add the ability to only generate a subset of curtin fs actions
DEVICES == everything up to and including partitioning
FORMAT_MOUNT == formatting and mounting
2022-11-11 14:46:24 +13:00
Michael Hudson-Doyle 21407002bd
Merge pull request #1476 from mwhudson/tpm-install
support installing an unencrypted core boot classic system
2022-11-10 12:06:08 +13:00
Michael Hudson-Doyle 7618ce2af6 extend "unit" test to cover finish_install
and fix the bug it inevitably found.
2022-11-10 11:57:21 +13:00
Michael Hudson-Doyle 2bb3aab362 add sample data which will fail at the finish-install step 2022-11-10 11:48:37 +13:00
Michael Hudson-Doyle c24cfd3d04 call into snapd to finish the installation of a core boot classic system 2022-11-10 11:48:37 +13:00
Michael Hudson-Doyle 8b2df438d9 record the device for each snapdapi.Role 2022-11-10 11:48:36 +13:00
Michael Hudson-Doyle 084a40b15b do not run the curthooks step for an core boot classic system 2022-11-10 11:47:29 +13:00
Michael Hudson-Doyle 5baa7b5e5f tidy sample data slightly 2022-11-10 11:47:29 +13:00
Michael Hudson-Doyle 8869c0edc1
Merge pull request #1477 from mwhudson/tpm-mount-system
bind mount systems from before asking snapd about them
2022-11-10 11:47:00 +13:00
Michael Hudson-Doyle 690f23acf9 add ?wait=true to serverish api test
POSTing to /source now triggers some asynchronous activity
2022-11-09 09:46:47 +13:00
Michael Hudson-Doyle 632e099e1a
Merge pull request #1473 from ogayot/codecs
codecs: add ability to install ubuntu-restricted-addons
2022-11-09 08:51:27 +13:00
Michael Hudson-Doyle 8b9a16c198 bind mount systems from before asking snapd about them
For the systems currently being tested, the live installer environment
is stacked on the one being installed and so the system definition for
the system being installed is already available. That's not going to be
true in full generality though, so add some helpers to make all systems
defined in the source available in the live installer environment before
calling into snapd to find out about them.
2022-11-08 14:48:35 +13:00
Michael Hudson-Doyle a372c3edab
Merge pull request #1475 from mwhudson/asyncio.create_task
switch from loop.create_task to asyncio.create_task
2022-11-08 11:06:18 +13:00
Michael Hudson-Doyle c03b23d7e4
Merge pull request #1470 from mwhudson/tpm-partitioning
do partitioning based on information from gadget
2022-11-08 10:26:59 +13:00
Michael Hudson-Doyle 82f2c78989 improvements suggested in review 2022-11-08 10:13:47 +13:00
Michael Hudson-Doyle 85b3cd0724 switch from loop.create_task to asyncio.create_task
mostly done with sed
2022-11-08 10:08:46 +13:00
Michael Hudson-Doyle 448512e31c only offer disks the gadget will fit on 2022-11-04 12:04:42 +01:00
Michael Hudson-Doyle cf80463e5b do partitioning based on information from gadget 2022-11-04 11:57:17 +01:00
Michael Hudson-Doyle 796f442445 generalize the handling of core boot classic systems we do not / cannot support 2022-11-04 11:56:33 +01:00
Olivier Gayot c46723750b codecs: add ability to install ubuntu-restricted-addons
Subiquity now supports a new endpoint that can be used by the desktop
installer to configure whether the ubuntu-restricted-addons package
should be installed. This package contains third-party codecs commonly
used on a desktop install.

  curl --unix-socket /run/subiquity/socket http://a/codecs
  > {"install": false}

  curl --unix-socket /run/subiquity/socket \
    http://a/codecs -d '{"install": true}'

  curl --unix-socket /run/subiquity/socket http://a/codecs
  > {"install": true}

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-11-04 10:41:03 +01:00
Dan Bungert 66a55ad39b
Merge pull request #1472 from dbungert/poweroff
doc: fix shutdown
2022-11-03 07:28:04 -06:00
Dan Bungert b62b9444b7 doc: fix shutdown 2022-11-03 14:04:26 -06:00
Michael Hudson-Doyle 1294365291
Merge pull request #1468 from mwhudson/part-names-and-fs-labels
support setting filesystem label and partition name
2022-11-02 22:02:39 +13:00
Michael Hudson-Doyle 92401a8fd7
Merge pull request #1469 from mwhudson/async-snapd-error
notice errors when an async snapd operation fails
2022-11-02 21:43:17 +13:00
Olivier Gayot d41c3b9ec0
Merge pull request #1445 from ogayot/LP1991413-LP1991929
Multiple fixes for size: -1 partitions
2022-11-02 09:39:30 +01:00
Michael Hudson-Doyle b79f5727bb
fix default for label
Co-authored-by: Dan Bungert <danielbungert@gmail.com>
2022-11-02 21:38:34 +13:00
Michael Hudson-Doyle 20513cc14a
Merge pull request #1462 from mwhudson/tpm-ui
Start of UI for TPM-backed FDE
2022-11-02 04:06:59 +13:00
Michael Hudson-Doyle 27953f794d fix integration test 2022-11-01 15:59:06 +01:00
Michael Hudson-Doyle f87b97bbdf add some more sample data 2022-11-01 14:39:23 +01:00
Michael Hudson-Doyle 2e05f79dc1 add example source, api output and fix some bugs 2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle 405fb1895e wall of text -> dictionary 2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle 24fdce6e72 implement an error screen for defective encryption 2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle f7ba692704 modify guided UI for core boot classic system
In particular, only allow the selection of a disk in this case and allow
choice of whether to use TPM backed FDE according to data from snapd.
2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle 952811fa14 pass encryption information to subiquity client
and skip storage editing screen if it is present.
2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle 1ef6267b54 allow a source to define a snapd_system_label
And fetch information about it from snapd when it is selected.
2022-11-01 13:54:36 +01:00
Michael Hudson-Doyle c8068d7dab api and type definitions for talking to snapd systems api
Some of these types are going to end up being part of the subiquity API
so they get defined in subiquity.common.types
2022-11-01 13:54:31 +01:00
Michael Hudson-Doyle 6e64c6b8b5 notice errors when an async snapd operation fails 2022-11-01 13:32:35 +01:00