@@ -390,6 +390,7 @@ def _fix_mirrorlist_to_vault(self, node: Node) -> None:
390390 def _install_build_tools (self , node : Node ) -> None :
391391 os = node .os
392392 self ._log .info ("installing build tools" )
393+ self ._update_kmod (os , node )
393394 if isinstance (node .os , Redhat ) and node .os .information .version < "8.0.0" :
394395 self ._fix_mirrorlist_to_vault (node )
395396 if isinstance (os , Redhat ):
@@ -459,7 +460,19 @@ def _install_build_tools(self, node: Node) -> None:
459460 f"os '{ os .name } ' doesn't support in { self .type_name ()} . "
460461 f"Implement its build dependencies installation there."
461462 )
462-
463+
464+ def _update_kmod (self , os , node : Node ) -> None :
465+ # Update kmod/module-init-tools first
466+ if isinstance (os , Ubuntu ):
467+ # Update package list and upgrade kmod
468+ node .execute ("apt-get update" , sudo = True )
469+ node .execute ("apt-get install -y --upgrade kmod" , sudo = True )
470+ elif isinstance (os , Redhat ):
471+ # Update kmod package
472+ node .execute ("yum update -y kmod" , sudo = True )
473+ elif isinstance (os , CBLMariner ):
474+ # Update kmod package
475+ node .execute ("tdnf update -y kmod" , sudo = True )
463476
464477class BaseLocation (subclasses .BaseClassWithRunbookMixin ):
465478 def __init__ (
0 commit comments