diff mbox series

[2/2] tests/vm: custom openbsd partitioning to increase /home space

Message ID 20230322123639.836104-3-berrange@redhat.com
State New
Headers show
Series tests/vm: fix ENOSPC in the openbsd VM image | expand

Commit Message

Daniel P. Berrangé March 22, 2023, 12:36 p.m. UTC
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>
---
 tests/vm/openbsd | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

Comments

Thomas Huth March 22, 2023, 12:45 p.m. UTC | #1
On 22/03/2023 13.36, Daniel P. Berrangé wrote:
> 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

s/todo/to do/

> 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>
> ---
>   tests/vm/openbsd | 27 ++++++++++++++++++++++++++-
>   1 file changed, 26 insertions(+), 1 deletion(-)

Acked-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé March 22, 2023, 1:39 p.m. UTC | #2
On 22/3/23 13:36, Daniel P. Berrangé wrote:
> 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>
> ---
>   tests/vm/openbsd | 27 ++++++++++++++++++++++++++-
>   1 file changed, 26 insertions(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/tests/vm/openbsd b/tests/vm/openbsd
index 6af7afac0d..6b4fc29793 100755
--- a/tests/vm/openbsd
+++ b/tests/vm/openbsd
@@ -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")