in microsoft/testsuites/core/azure_image_standard.py [0:0]
def verify_grub(self, node: Node) -> None:
# check grub configuration file
if isinstance(node.os, Debian):
grub_output = node.tools[Cat].read("/boot/grub/grub.cfg", sudo=True)
elif isinstance(node.os, Suse):
if node.shell.exists(PurePosixPath("/boot/grub2/grub.cfg")):
grub_output = node.tools[Cat].read("/boot/grub2/grub.cfg", sudo=True)
elif node.shell.exists(PurePosixPath("/boot/grub/grub.conf")):
grub_output = node.tools[Cat].read("/boot/grub/grub.conf", sudo=True)
else:
raise LisaException("Unable to locate grub file")
elif isinstance(node.os, Fedora):
if isinstance(node.os, Redhat) and node.os.information.version >= "8.0.0":
grub_output = node.tools[Cat].read("/boot/grub2/grubenv", sudo=True)
elif node.shell.exists(PurePosixPath("/boot/grub2/grub.cfg")):
grub_output = node.tools[Cat].read("/boot/grub2/grub.cfg", sudo=True)
elif node.shell.exists(PurePosixPath("/boot/grub/menu.lst")):
grub_output = node.tools[Cat].read("/boot/grub/menu.lst", sudo=True)
else:
raise LisaException("Unable to locate grub file")
elif isinstance(node.os, CoreOs):
# in core os we don't have access to boot partition
grub_output = node.tools[Dmesg].run().stdout
else:
raise LisaException(f"Test cannot run on distro {node.os}")
assert_that(
grub_output, f"console=ttyS0 should be present in {grub_output}."
).contains("console=ttyS0")
assert_that(
grub_output,
f"libata.atapi_enabled=0 should not be present in {grub_output}.",
).does_not_contain("libata.atapi_enabled=0")
assert_that(
grub_output, f"reserve=0x1f0,0x8 should not be present in {grub_output}."
).does_not_contain("reserve=0x1f0,0x8")
# check numa=off in grub for Redhat version < 6.6.0
# https://access.redhat.com/solutions/436883
if isinstance(node.os, Redhat):
if node.os.information.version < "6.6.0":
assert_that(
grub_output, f"numa=off should be present in {grub_output}"
).contains("numa=off")