From 1fc538820ec1e0afdc72a047507daa7c67833caa Mon Sep 17 00:00:00 2001 From: wdesmedt Date: Sun, 21 Jul 2024 19:14:09 +0000 Subject: [PATCH] fix defaults handling in clab topo file --- nornir_srl/fsc.py | 13 ++++++++----- pyproject.toml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/nornir_srl/fsc.py b/nornir_srl/fsc.py index 05e5d26..13c178b 100644 --- a/nornir_srl/fsc.py +++ b/nornir_srl/fsc.py @@ -303,15 +303,18 @@ def cli( else: prefix = f"{topo['prefix']}-{lab_name}-" hosts: Dict[str, Dict[str, Any]] = {} - srlinux_def = ( - True - if "srlinux:" in topo["topology"].get("defaults", {}).get("image", "") - else False + def_kind = topo["topology"].get("defaults", {}).get("kind") + def_image = ( + topo["topology"].get("defaults", {}).get("image") + or topo["topology"]["kinds"].get(def_kind, {}).get("image") + if def_kind + else None ) + srlinux_def = True if def_image and "srlinux" in def_image else False srl_kinds = [ k for k, v in topo["topology"].get("kinds", {}).items() - if "srlinux:" in v.get("image") + if "srlinux" in v.get("image") ] clab_nodes: Dict[str, Dict] = topo["topology"]["nodes"] for node, node_spec in clab_nodes.items(): diff --git a/pyproject.toml b/pyproject.toml index c61c2db..e767a78 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nornir-srl" -version = "0.2.17" +version = "0.2.18" description = "Nornir connection plugin for SRLinux" authors = ["Walter De Smedt "] readme = "README.md"