tests/vm: custom openbsd partitioning to increase /home space

The openbsd image is 20GB in size, but the automatic partitioning
done by the installer leaves /home with a mere ~3.5 GB of space,
wasting free space across many other partitions that are not
used by our build process:

openbsd$ df
Filesystem  512-blocks      Used     Avail Capacity  Mounted on
/dev/sd0a      1229692    213592    954616    18%    /
/dev/sd0k      7672220        40   7288572     0%    /home
/dev/sd0d      1736604        24   1649752     0%    /tmp
/dev/sd0f      4847676   2505124   2100172    54%    /usr
/dev/sd0g      1326684    555656    704696    44%    /usr/X11R6
/dev/sd0h      4845436   1445932   3157236    31%    /usr/local
/dev/sd0j     10898972         4  10354020     0%    /usr/obj
/dev/sd0i      3343644         4   3176460     0%    /usr/src
/dev/sd0e      2601212     19840   2451312     1%    /var

This change tells the installer todo custom partitioning with
4 GB on /, 256 MB swap, and the remaining ~15GB for /home

openbsd$ df
Filesystem  512-blocks      Used     Avail Capacity  Mounted on
/dev/sd0a      7932412   4740204   2795588    63%    /
/dev/sd0d     32164636        40  30556368     0%    /home

This will avoid ENOSPC failures when tests that need to create
big files (disk images) run in parallel.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230322123639.836104-3-berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
Daniel P. Berrangé 2023-03-22 12:36:39 +00:00 committed by Alex Bennée
parent 3b67f43cf3
commit 85b983485b

View File

@ -123,7 +123,32 @@ class OpenBSDVM(basevm.BaseVM):
self.console_wait_send("timezone", "UTC\n")
self.console_wait_send("root disk", "\n")
self.console_wait_send("(W)hole disk", "\n")
self.console_wait_send("(A)uto layout", "\n")
self.console_wait_send("(A)uto layout", "c\n")
# 4000 MB / as /dev/sd0a, at start of disk
self.console_wait_send("sd0>", "a a\n")
self.console_wait_send("offset:", "\n")
self.console_wait_send("size:", "4000M\n")
self.console_wait_send("FS type", "4.2BSD\n")
self.console_wait_send("mount point:", "/\n")
# 256 MB swap as /dev/sd0b
self.console_wait_send("sd0*>", "a b\n")
self.console_wait_send("offset:", "\n")
self.console_wait_send("size:", "256M\n")
self.console_wait_send("FS type", "swap\n")
# All remaining space for /home as /dev/sd0d
# NB, 'c' isn't allowed to be used.
self.console_wait_send("sd0*>", "a d\n")
self.console_wait_send("offset:", "\n")
self.console_wait_send("size:", "\n")
self.console_wait_send("FS type", "4.2BSD\n")
self.console_wait_send("mount point:", "/home\n")
self.console_wait_send("sd0*>", "q\n")
self.console_wait_send("Write new label?:", "y\n")
self.console_wait_send("Location of sets", "cd0\n")
self.console_wait_send("Pathname to the sets", "\n")
self.console_wait_send("Set name(s)", "\n")