diff options
| author | Samuel Dionne-Riel <samuel@dionne-riel.com> | 2021-04-25 19:37:19 -0400 |
|---|---|---|
| committer | Samuel Dionne-Riel <samuel@dionne-riel.com> | 2021-04-25 19:59:29 -0400 |
| commit | 7d112134de0e6a7cefe503c93d0d070b8ea06fa3 (patch) | |
| tree | 12eef52458af695cb683b618dfc1cfd2d55c180e /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch | |
| parent | 93de027ee045d0c1fbf13418fb86d86e6309b962 (diff) | |
nixosTests.installer: Fix grub1 test being unreliable
The kernel sometimes assigns `/dev/sdb` to the 8GiB disk. This, in turn,
means the test will fail because we're targeting the wrong disk.
```
machine # [ 0.000000] sd 2:0:0:0: [sda] 16777216 512-byte logical blocks: (8.59 GB/8.00 GiB)
machine # [ 0.000000] sd 3:0:0:0: [sdb] 1048576 512-byte logical blocks: (537 MB/512 MiB)
```
```
machine # [ 0.000000] sd 2:0:0:0: [sdb] 16777216 512-byte logical blocks: (8.59 GB/8.00 GiB)
machine # [ 0.000000] sd 3:0:0:0: [sda] 1048576 512-byte logical blocks: (537 MB/512 MiB)
```
Note how the "sd x:0:0:0:` ID is stable. That is because QEMU **is**
told to give specific identifiers to the disks. So using the
dev/disk/by-id/ identifiers is stable.
* * *
Tested by forcing the sda/sdb swap this way:
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 24c55081f9a..2eee224351b 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -702,12 +702,19 @@ in {
+ " mkpart primary linux-swap 1M 1024M"
+ " mkpart primary ext2 1024M -1s",
"udevadm settle",
+ )
+ print(machine.succeed("find /dev/disk/ '!' -type d -printf '%p → %l\n' | sort"))
+ machine.succeed(
"mkswap ${grubDevice}-part1 -L swap",
"swapon -L swap",
"mkfs.ext3 -L nixos ${grubDevice}-part2",
"mount LABEL=nixos /mnt",
"mkdir -p /mnt/tmp",
)
+ machine.succeed("echo success")
+ machine.succeed(
+ 'if [[ "$(find ${grubDevice} -printf \'%l\')" != "../../sdb" ]]; then exit 22; else true; fi'
+ )
'';
grubVersion = 1;
# /dev/sda is not stable, even when the SCSI disk number is.
And ran this way:
$ until (clear; tmux clear ; time env -i nix-build nixos/release-combined.nix -A nixos.tests.installer.grub1.x86_64-linux); do echo derp; done
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions
