From 7af8637343a3d9e90149ff0db3f127ec50d4b64e Mon Sep 17 00:00:00 2001 From: Matthew G McGovern Date: Wed, 8 Jan 2025 10:02:48 -0800 Subject: [PATCH] Raise and catch hugepage size err --- lisa/tools/hugepages.py | 12 ++++++------ microsoft/testsuites/dpdk/dpdkutil.py | 5 ++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lisa/tools/hugepages.py b/lisa/tools/hugepages.py index 9efee106ff..e553895ec9 100644 --- a/lisa/tools/hugepages.py +++ b/lisa/tools/hugepages.py @@ -4,8 +4,6 @@ from enum import Enum from typing import Any, Set -from assertpy import assert_that - from lisa.executable import Tool from lisa.tools.free import Free from lisa.tools.ls import Ls @@ -84,10 +82,12 @@ def _enable_hugepages( ) total_request_pages = request_space_kb // hugepage_size_kb.value pages_per_numa_node = total_request_pages // numa_nodes - assert_that(pages_per_numa_node).described_as( - "Must request huge page count > 0. Verify this system has enough " - "free memory to allocate ~2GB of hugepages" - ).is_greater_than(0) + if pages_per_numa_node <= 0: + raise NotEnoughMemoryException( + "Must request huge page count > 0. Verify this system has enough " + "free memory to allocate ~2GB of hugepages" + ) + for i in range(numa_nodes): # nr_hugepages will be written with the number calculated # based on 2MB hugepages if not specified, subject to change diff --git a/microsoft/testsuites/dpdk/dpdkutil.py b/microsoft/testsuites/dpdk/dpdkutil.py index b7235e76ae..84074dad0d 100644 --- a/microsoft/testsuites/dpdk/dpdkutil.py +++ b/microsoft/testsuites/dpdk/dpdkutil.py @@ -346,7 +346,10 @@ def initialize_node_resources( # init and enable hugepages (required by dpdk) hugepages = node.tools[Hugepages] - hugepages.init_hugepages(hugepage_size, minimum_gb=4) + try: + hugepages.init_hugepages(hugepage_size, minimum_gb=4) + except NotEnoughMemoryException as err: + raise SkippedException(err) assert_that(len(node.nics)).described_as( "Test needs at least 1 NIC on the test node."