pre cache loader by name, loader name in error

This commit is contained in:
Sharkitty 2023-05-12 17:07:52 +02:00
parent d8b569b160
commit 5ff9ab368b

View file

@ -17,17 +17,18 @@ class RemoveAndLoad(InventoryAction):
def process(self, containers): def process(self, containers):
project_name = get_current_project_name() project_name = get_current_project_name()
loaders = discover_loader_plugins(project_name=project_name) loaders_by_name = {
get_loader_identifier(plugin): plugin
for plugin in discover_loader_plugins(project_name=project_name)
}
for container in containers: for container in containers:
# Get loader # Get loader
loader_name = container["loader"] loader_name = container["loader"]
for plugin in loaders: loader = loaders_by_name.get(loader_name, None)
if get_loader_identifier(plugin) == loader_name: if not loader:
loader = plugin
break
else:
raise RuntimeError( raise RuntimeError(
"Failed to get loader, can't remove and load container" "Failed to get loader '{}', can't remove "
"and load container".format(loader_name)
) )
# Get representation # Get representation