Commit Graph

5065 Commits

Author SHA1 Message Date
Michael Hudson-Doyle 58d9670372 refuse to add a boot partition if it means shrinking a partition by more than 50% 2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle fd0a7954e4 do checks for misplaced preserved partitions in validators 2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle 2c942ae9ee factor out common bits of get_boot_device_plan_prep and get_boot_device_plan_uefi 2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle 5e6c845b89 add some typing stuff and docstrings 2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle 6cc1f50af0 Combine "can this be" and "make this a" boot disk logic for PREP
As this is the last bootloader implementation to be folded into this
style, this includes some additional cleanup.
2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle 4108c5e581 Combine "can this be" and "make this a" boot disk logic for UEFI
This one does change behaviour in that if it has to resize a partition
to make room for the ESP it puts it before the partition, not after.
This lets us put an assertion back in an API test.
2022-03-31 12:30:37 +13:00
Michael Hudson-Doyle dfc4a32b0a Combine "can this be" and "make this a" boot disk logic for BIOS
No behaviour change yet, this all assumes version 1 partitioning, i.e.
no mix of new and old partitions on a device. But it means we only have
to edit one batch of logic when that stops being true.
2022-03-31 12:30:37 +13:00
Dan Bungert c226d4e2b5
Merge pull request #1219 from dbungert/offsets-and-stretchy
Offsets and stretchy
2022-03-30 16:46:09 -06:00
Dan Bungert 8c6888f775 ui/filesystem: PartitionStretchy require keyword
A useful concept in other areas of partition / gap handling has to
require a keyword for specifying if we're sending gap or a partition.
Implement that here for the partition and gap keywords, and also on the
downstream partition_disk_handler.
2022-03-30 16:26:26 -06:00
Dan Bungert 8596ea96f1
Merge pull request #1248 from dbungert/no-largest-gap-size
disk: drop free_for_partitions
2022-03-30 16:23:52 -06:00
Dan Bungert e78b3fa089 disk: drop free_for_partitions 2022-03-30 16:09:32 -06:00
Dan Bungert 55fb68fa6e
Merge pull request #1245 from dbungert/v2-add-part-need-gap
storage/v2: add_partition takes a gap arg
2022-03-30 14:04:20 -06:00
Dan Bungert 868e272de2 test/api: better test_use_free_space_after_existing 2022-03-30 11:26:12 -06:00
Dan Bungert ce321526f6 storage/v2: add_partition takes a gap 2022-03-30 11:14:16 -06:00
Dan Bungert 3c0814897e storage/v2: enable test using space at end 2022-03-30 10:11:17 -06:00
Dan Bungert efd62ea380
Merge pull request #1243 from dbungert/add-part-require-offset
filesystem: add_partition requires offset
2022-03-30 09:39:34 -06:00
Dan Bungert 5e463d2a45
Merge pull request #1241 from dbungert/lp-1965110
probert: use os-prober only if asked
2022-03-29 15:18:54 -06:00
Dan Bungert a3e1cfa6e4 probert: implement os prober arg 2022-03-29 15:09:21 -06:00
Dan Bungert 9829c14e6e probert: update for 'os' probe_type 2022-03-29 15:09:21 -06:00
Dan Bungert 3fb16487cf
Merge pull request #1246 from dbungert/faster-curtin-replay-tests
Faster curtin replay tests
2022-03-24 13:37:59 -06:00
Dan Bungert d4e755c0e9 command runner: prefer term allowlist 2022-03-24 11:53:15 -06:00
Dan Bungert 407d87d8bb command runner: allow SUBIQUITY_REPLAY_TIMESCALE
SUBIQUITY_REPLAY_TIMESCALE should be passed to replay-curtin-log.py,
which speeds up test_server_flow (11s -> 2s), and probably others.

For the unit test, by clearing the environment and using a known set,
we can avoid having to keep a second copy of the allow list in test.
2022-03-24 11:52:35 -06:00
Didier Roche 689a7fd5f1
Merge pull request #1244 from CarlosNihelton/deeng-199-fix-wsl-apt
Removes apt python library from system_setup
2022-03-23 06:59:51 +00:00
Carlos Nihelton ef18564eca
Cleans comments and adresses test.
- Under dry-run apt is run with --simulate.
- That can still fail if a package does not exist, for instance.
- If so, a file will not be written.
2022-03-22 19:41:37 -03:00
Carlos Nihelton c9f90dffb3
Fix stylistic flake8 warnings. 2022-03-22 18:04:37 -03:00
Carlos Nihelton f4a2b916a7
Removes dependency on apt python lib.
It seemed far too much complicated find the proper way to deal with
apt Python library under the snap environment.

Opted for running the system apt command without the LD_*
customisations, similar to what an installer does when chroot into the
taget system.
2022-03-22 17:50:54 -03:00
Carlos Nihelton a950d9e98f
Removes __recomended_language_packs() env argument
That function will not require a custom environment.
Also simplified snap_dir variable assignment.
2022-03-22 17:47:53 -03:00
Carlos Nihelton a36120e0bb
apply_locale() and create_user() accept custom env
This allows for running subprocess outside of the snap environment.
Both functions now receive a custom env without the LD_ related vars.
Renamed _create_user() to create_user() to make explicit that it has the
same semantic level as apply_locale().
2022-03-22 17:46:25 -03:00
Dan Bungert d2c7a21fc2 filesystem: add_partition requires size as keyword
Goal is to reduce ambiguity in reading calls.
2022-03-22 13:48:41 -06:00
Dan Bungert 36241271a5 filesystem: add_partition requires an offset 2022-03-22 13:42:35 -06:00
Dan Bungert fd65eebd0a
Merge pull request #1237 from dbungert/lp-1948823
autoinstall: allow cloud source to override iso source
2022-03-21 12:19:14 -06:00
Olivier Gayot 8a56cfbc3b
Merge pull request #1239 from ogayot/fix-run-drivers
Fix command used in run-drivers mode
2022-03-21 19:01:57 +01:00
Dan Bungert 871c40ae92 autoinstall: raise Exception on bad arg 2022-03-21 11:51:33 -06:00
Dan Bungert 3cab357337
Merge pull request #1236 from dbungert/integration-tmpdir
integration: use output-base=$tmpdir
2022-03-21 11:46:45 -06:00
Olivier Gayot d400d90ee1 Fix command used in run-drivers mode
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-03-21 18:22:50 +01:00
Dan Bungert 845b7e42c7 integration: EXIT trap for consistent error msg
The trap on ERR doesn't trigger in all the cases that we want.
The EXIT trap seems to be more robust, albeit with the requirement to
actually check the result code.
2022-03-21 11:11:53 -06:00
Dan Bungert e59078c74e system-setup: inform server proc of output_base 2022-03-21 10:50:59 -06:00
Dan Bungert 96082252f7 integration: use output-base=$tmpdir
Move from using .subiquity as output-base to a tmpdir.  This solves
several practical problems, like accidentally running the tests while
dryrun is open in another terminal or any other case where the server
process that is connected to is not the one that is expected.

Also makes cleanup nicer.

On failure, it will show which temporary directory was used to allow for
easy log examination.
2022-03-21 10:50:59 -06:00
Dan Bungert 7afa2548a2 autoinstall: unit tests for file order 2022-03-18 16:40:09 -06:00
Dan Bungert 87b3a1354c autoinstall: specific order of possible locations
To allow customization where an install iso can have the autoinstall
data, and to ignore that in favor of autoinstall from cloud-config, this
implements a more specific order of loading from the possible locaitons.

Also, the chosen file is set aside, and then is top priority if the
subiquity process is reloaded.
2022-03-18 16:40:09 -06:00
Dan Bungert 80c3c7879c
Merge pull request #1234 from mwhudson/lp-1962205
never return a PROBING response from guided_POST
2022-03-18 09:17:32 -06:00
Michael Hudson-Doyle 4c59e1ee9b never return a PROBING response from guided_POST 2022-03-18 14:22:56 +13:00
Dan Bungert 84aee8e20e
Merge pull request #1230 from mwhudson/move-sizing-stuff
move partition size related stuff to its own module
2022-03-17 15:58:34 -06:00
Dan Bungert 3256172f0a
Merge pull request #1231 from mwhudson/fix-api-test
make test_v2_multi_disk_multi_boot api test more correct
2022-03-17 15:56:52 -06:00
Olivier Gayot ad6cd6e383
Merge pull request #1196 from ogayot/FR-2077
Add client-side controller and view to install third-party drivers on server installer
2022-03-17 10:38:48 +01:00
Olivier Gayot 2bf39f02ca Merge pull request #1217 from ogayot/ua-rebranding
Rename UbuntuAdvantage -> UbuntuPro
2022-03-17 09:20:43 +01:00
Michael Hudson-Doyle 4fdd4f9fec make test_v2_multi_disk_multi_boot api test more correct
This calls add_boot_partition on disks that are filled by pre-existing
partitions. That should not work, and does not in a branch I am working
on.
2022-03-17 13:35:01 +13:00
Michael Hudson-Doyle f62a4ca187 move partition size related stuff to its own module
This avoids a circular import in another branch I am working on.
2022-03-17 13:32:35 +13:00
Dan Bungert d7d1a70b59
Merge pull request #1229 from dbungert/api-test-flow
api test: fix flow test for v2 storage actions
2022-03-16 15:41:43 -06:00
Dan Bungert 6a378de508 api test: fix flow test for v2 storage actions 2022-03-16 15:21:39 -06:00