Skip to content

Commit 468f84f

Browse files
committed
Enhance min_list validation in ConfigurationCheckModule to handle exceptions and improve error logging
1 parent 6ab09fa commit 468f84f

File tree

1 file changed

+29
-24
lines changed

1 file changed

+29
-24
lines changed

src/modules/configuration_check_module.py

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -513,35 +513,40 @@ def validate_min_list(self, check: Check, collected_data: str) -> Dict[str, Any]
513513
"""
514514
min_values = check.validator_args.get("min_values", [])
515515
separator = check.validator_args.get("separator", " ")
516+
try:
516517

517-
if not isinstance(min_values, list):
518-
return {
519-
"status": TestStatus.ERROR.value,
520-
}
518+
if not isinstance(min_values, list):
519+
return {
520+
"status": TestStatus.ERROR.value,
521+
}
521522

522-
collected_values = str(collected_data).strip().split(separator) if collected_data else []
523-
collected_values = [val.strip() for val in collected_values if val.strip()]
524-
if len(collected_values) != len(min_values):
525-
return {
526-
"status": self._create_validation_result(check.severity, False),
527-
}
528-
all_valid = True
529-
for actual, minimum in zip(collected_values, min_values):
530-
try:
531-
actual_int = int(actual)
532-
minimum_int = int(minimum)
533-
if actual_int > sys.maxsize or minimum_int > sys.maxsize:
534-
continue
535-
if actual_int < minimum_int:
523+
collected_values = (
524+
str(collected_data).strip().split(separator) if collected_data else []
525+
)
526+
collected_values = [val.strip() for val in collected_values if val.strip()]
527+
if len(collected_values) != len(min_values):
528+
return {
529+
"status": self._create_validation_result(check.severity, False),
530+
}
531+
all_valid = True
532+
for actual, minimum in zip(collected_values, min_values):
533+
try:
534+
actual_int = int(actual)
535+
minimum_int = int(minimum)
536+
if actual_int > sys.maxsize or minimum_int > sys.maxsize:
537+
continue
538+
if actual_int < minimum_int:
539+
all_valid = False
540+
break
541+
except (ValueError, OverflowError):
536542
all_valid = False
537543
break
538-
except (ValueError, OverflowError):
539-
all_valid = False
540-
break
541544

542-
return {
543-
"status": self._create_validation_result(check.severity, all_valid),
544-
}
545+
return {
546+
"status": self._create_validation_result(check.severity, all_valid),
547+
}
548+
except Exception as ex:
549+
self.log(logging.ERROR, f"Error while validating min list {ex}")
545550

546551
def validate_vm_support(self, check: Check, collected_data: str) -> Dict[str, Any]:
547552
"""

0 commit comments

Comments
 (0)