From b148cac45ab91b07fcc1ef98fd28dc396ac0bcbb Mon Sep 17 00:00:00 2001 From: PP <89448027+ppetilli@users.noreply.github.com> Date: Fri, 6 Mar 2026 11:17:24 +0100 Subject: [PATCH 1/9] Create hp_comware_display_route-policy.textfsm --- ntc_templates/templates/hp_comware_display_route-policy.textfsm | 1 + 1 file changed, 1 insertion(+) create mode 100644 ntc_templates/templates/hp_comware_display_route-policy.textfsm diff --git a/ntc_templates/templates/hp_comware_display_route-policy.textfsm b/ntc_templates/templates/hp_comware_display_route-policy.textfsm new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/ntc_templates/templates/hp_comware_display_route-policy.textfsm @@ -0,0 +1 @@ + From 487270957e154bb9e970118fdd0d86335bc138a8 Mon Sep 17 00:00:00 2001 From: PP <89448027+ppetilli@users.noreply.github.com> Date: Fri, 6 Mar 2026 11:18:10 +0100 Subject: [PATCH 2/9] Update index --- ntc_templates/templates/index | 1 + 1 file changed, 1 insertion(+) diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index 8d4ecac01b..2391793f97 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -681,6 +681,7 @@ hp_comware_display_interface_brief.textfsm, .*, hp_comware, di[[splay]] int[[erf hp_comware_display_ip_vpn-instance.textfsm, .*, hp_comware, di[[splay]] ip vpn[[-instance]] hp_comware_display_bgp_peer_ipv4.textfsm, .*, hp_comware, di[[splay]] bg[[p]] pe[[er]] ipv4 hp_comware_display_ip_interface.textfsm, .*, hp_comware, dis[[play]] ip i[[nterface]] +hp_comware_display_route-policy.textfsm, .*, hp_comware, di[[splay]] route[[-policy]] hp_comware_display_mac-address.textfsm, .*, hp_comware, di[[splay]] mac-ad[[dress]] hp_comware_display_vlan_brief.textfsm, .*, hp_comware, di[[splay]] v[[lan]] b[[rief]] hp_comware_display_interface.textfsm, .*, hp_comware, dis[[play]] int[[erface]] From 0d896fa8d6813bb27adc30636943dfada3fda8ef Mon Sep 17 00:00:00 2001 From: PP <89448027+ppetilli@users.noreply.github.com> Date: Fri, 6 Mar 2026 11:27:27 +0100 Subject: [PATCH 3/9] Add files via upload --- .../display_route-policy/hp_comware_display_route-policy.raw.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/display_route-policy/hp_comware_display_route-policy.raw.txt diff --git a/tests/display_route-policy/hp_comware_display_route-policy.raw.txt b/tests/display_route-policy/hp_comware_display_route-policy.raw.txt new file mode 100644 index 0000000000..e69de29bb2 From 3e6fab63a8050235e7b5093b7d924cc5a9157f7e Mon Sep 17 00:00:00 2001 From: ppetilli Date: Mon, 9 Mar 2026 15:26:21 +0100 Subject: [PATCH 4/9] Add hp_comware route-policy template and corresponding test files --- .../hp_comware_display_route-policy.textfsm.py | 15 +++++++++++++++ ntc_templates/templates/index | 1 + .../hp_comware_display_route-policy.raw.py} | 0 .../hp_comware_display_route-policy.yml.py | 15 +++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 ntc_templates/templates/hp_comware_display_route-policy.textfsm.py rename tests/{display_route-policy/hp_comware_display_route-policy.raw.txt => hp_comware/display_route-policy/hp_comware_display_route-policy.raw.py} (100%) create mode 100644 tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py diff --git a/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py b/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py new file mode 100644 index 0000000000..88b0fc7e02 --- /dev/null +++ b/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py @@ -0,0 +1,15 @@ +Value Filldown POLICY_NAME (\S+) +Value Required ACTION (Permit|Deny) +Value Required NODE (\d+) +Value List IF_MATCH (.+) +Value List APPLY (.+) + +Start + ^Route-policy:\s+ -> Continue.Record + ^Route-policy:\s+${POLICY_NAME}\s*$$ + ^\s+(Permit|Deny)\s+:\s+\d+ -> Continue.Record + ^\s+${ACTION}\s+:\s+${NODE}\s*$$ + ^\s+if-match\s+${IF_MATCH}\s*$$ + ^\s+apply\s+${APPLY}\s*$$ + ^\s*$$ -> Record + ^. -> Error diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index 2391793f97..0ffc1a781a 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -682,6 +682,7 @@ hp_comware_display_ip_vpn-instance.textfsm, .*, hp_comware, di[[splay]] ip vpn[[ hp_comware_display_bgp_peer_ipv4.textfsm, .*, hp_comware, di[[splay]] bg[[p]] pe[[er]] ipv4 hp_comware_display_ip_interface.textfsm, .*, hp_comware, dis[[play]] ip i[[nterface]] hp_comware_display_route-policy.textfsm, .*, hp_comware, di[[splay]] route[[-policy]] +hp_comware_display_route-policy.textfsm, .*, hp_comware, di[[splay]] route[[-policy]] hp_comware_display_mac-address.textfsm, .*, hp_comware, di[[splay]] mac-ad[[dress]] hp_comware_display_vlan_brief.textfsm, .*, hp_comware, di[[splay]] v[[lan]] b[[rief]] hp_comware_display_interface.textfsm, .*, hp_comware, dis[[play]] int[[erface]] diff --git a/tests/display_route-policy/hp_comware_display_route-policy.raw.txt b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw.py similarity index 100% rename from tests/display_route-policy/hp_comware_display_route-policy.raw.txt rename to tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw.py diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py new file mode 100644 index 0000000000..923cf712bb --- /dev/null +++ b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py @@ -0,0 +1,15 @@ +Route-policy: ACTIVE_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + +Route-policy: BACKUP_ACT_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + apply community 1111:135 + Deny : 99 + +Route-policy: BACKUP_SBY_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + apply community 1111:130 + Deny : 99 From 2c61ad607ce136ea244b715d6a01849f8d12a97f Mon Sep 17 00:00:00 2001 From: ppetilli Date: Mon, 9 Mar 2026 16:12:40 +0100 Subject: [PATCH 5/9] corrected file names --- .../hp_comware_display_route-policy.textfsm | 1 - .../hp_comware_display_route-policy.textfsm.py | 15 --------------- ...raw.py => hp_comware_display_route-policy.raw} | 0 ...yml.py => hp_comware_display_route-policy.yml} | 0 4 files changed, 16 deletions(-) delete mode 100644 ntc_templates/templates/hp_comware_display_route-policy.textfsm delete mode 100644 ntc_templates/templates/hp_comware_display_route-policy.textfsm.py rename tests/hp_comware/display_route-policy/{hp_comware_display_route-policy.raw.py => hp_comware_display_route-policy.raw} (100%) rename tests/hp_comware/display_route-policy/{hp_comware_display_route-policy.yml.py => hp_comware_display_route-policy.yml} (100%) diff --git a/ntc_templates/templates/hp_comware_display_route-policy.textfsm b/ntc_templates/templates/hp_comware_display_route-policy.textfsm deleted file mode 100644 index 8b13789179..0000000000 --- a/ntc_templates/templates/hp_comware_display_route-policy.textfsm +++ /dev/null @@ -1 +0,0 @@ - diff --git a/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py b/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py deleted file mode 100644 index 88b0fc7e02..0000000000 --- a/ntc_templates/templates/hp_comware_display_route-policy.textfsm.py +++ /dev/null @@ -1,15 +0,0 @@ -Value Filldown POLICY_NAME (\S+) -Value Required ACTION (Permit|Deny) -Value Required NODE (\d+) -Value List IF_MATCH (.+) -Value List APPLY (.+) - -Start - ^Route-policy:\s+ -> Continue.Record - ^Route-policy:\s+${POLICY_NAME}\s*$$ - ^\s+(Permit|Deny)\s+:\s+\d+ -> Continue.Record - ^\s+${ACTION}\s+:\s+${NODE}\s*$$ - ^\s+if-match\s+${IF_MATCH}\s*$$ - ^\s+apply\s+${APPLY}\s*$$ - ^\s*$$ -> Record - ^. -> Error diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw.py b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw similarity index 100% rename from tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw.py rename to tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml similarity index 100% rename from tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml.py rename to tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml From 5c1b3a6266ba3ec322145362e14fba29b11cf522 Mon Sep 17 00:00:00 2001 From: ppetilli Date: Mon, 9 Mar 2026 16:13:17 +0100 Subject: [PATCH 6/9] corrected file names --- .../hp_comware_display_route-policy.textfsm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ntc_templates/templates/hp_comware_display_route-policy.textfsm diff --git a/ntc_templates/templates/hp_comware_display_route-policy.textfsm b/ntc_templates/templates/hp_comware_display_route-policy.textfsm new file mode 100644 index 0000000000..88b0fc7e02 --- /dev/null +++ b/ntc_templates/templates/hp_comware_display_route-policy.textfsm @@ -0,0 +1,15 @@ +Value Filldown POLICY_NAME (\S+) +Value Required ACTION (Permit|Deny) +Value Required NODE (\d+) +Value List IF_MATCH (.+) +Value List APPLY (.+) + +Start + ^Route-policy:\s+ -> Continue.Record + ^Route-policy:\s+${POLICY_NAME}\s*$$ + ^\s+(Permit|Deny)\s+:\s+\d+ -> Continue.Record + ^\s+${ACTION}\s+:\s+${NODE}\s*$$ + ^\s+if-match\s+${IF_MATCH}\s*$$ + ^\s+apply\s+${APPLY}\s*$$ + ^\s*$$ -> Record + ^. -> Error From 485f17236f79ef03e0946f0a8814956ecce86eb8 Mon Sep 17 00:00:00 2001 From: ppetilli Date: Mon, 9 Mar 2026 16:25:06 +0100 Subject: [PATCH 7/9] corrected file content --- .../hp_comware_display_route-policy.raw | 15 ++++++ .../hp_comware_display_route-policy.yml | 47 +++++++++++++------ 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw index e69de29bb2..923cf712bb 100644 --- a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw +++ b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.raw @@ -0,0 +1,15 @@ +Route-policy: ACTIVE_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + +Route-policy: BACKUP_ACT_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + apply community 1111:135 + Deny : 99 + +Route-policy: BACKUP_SBY_OUT + Permit : 10 + if-match ip address prefix-list pl_customer_only + apply community 1111:130 + Deny : 99 diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml index 923cf712bb..b6119f8a97 100644 --- a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml +++ b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy.yml @@ -1,15 +1,32 @@ -Route-policy: ACTIVE_OUT - Permit : 10 - if-match ip address prefix-list pl_customer_only - -Route-policy: BACKUP_ACT_OUT - Permit : 10 - if-match ip address prefix-list pl_customer_only - apply community 1111:135 - Deny : 99 - -Route-policy: BACKUP_SBY_OUT - Permit : 10 - if-match ip address prefix-list pl_customer_only - apply community 1111:130 - Deny : 99 +--- +parsed_sample: + - action: "Permit" + apply: [] + if_match: + - "ip address prefix-list pl_customer_only" + node: "10" + policy_name: "ACTIVE_OUT" + - action: "Permit" + apply: + - "community 1111:135" + if_match: + - "ip address prefix-list pl_customer_only" + node: "10" + policy_name: "BACKUP_ACT_OUT" + - action: "Deny" + apply: [] + if_match: [] + node: "99" + policy_name: "BACKUP_ACT_OUT" + - action: "Permit" + apply: + - "community 1111:130" + if_match: + - "ip address prefix-list pl_customer_only" + node: "10" + policy_name: "BACKUP_SBY_OUT" + - action: "Deny" + apply: [] + if_match: [] + node: "99" + policy_name: "BACKUP_SBY_OUT" From cbaefd17f6d67d1c50a83db7a8fd7e77f9a01eaa Mon Sep 17 00:00:00 2001 From: ppetilli Date: Mon, 9 Mar 2026 16:36:35 +0100 Subject: [PATCH 8/9] corrected index file --- ntc_templates/templates/index | 1 - 1 file changed, 1 deletion(-) diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index 0ffc1a781a..2391793f97 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -682,7 +682,6 @@ hp_comware_display_ip_vpn-instance.textfsm, .*, hp_comware, di[[splay]] ip vpn[[ hp_comware_display_bgp_peer_ipv4.textfsm, .*, hp_comware, di[[splay]] bg[[p]] pe[[er]] ipv4 hp_comware_display_ip_interface.textfsm, .*, hp_comware, dis[[play]] ip i[[nterface]] hp_comware_display_route-policy.textfsm, .*, hp_comware, di[[splay]] route[[-policy]] -hp_comware_display_route-policy.textfsm, .*, hp_comware, di[[splay]] route[[-policy]] hp_comware_display_mac-address.textfsm, .*, hp_comware, di[[splay]] mac-ad[[dress]] hp_comware_display_vlan_brief.textfsm, .*, hp_comware, di[[splay]] v[[lan]] b[[rief]] hp_comware_display_interface.textfsm, .*, hp_comware, dis[[play]] int[[erface]] From 085ff0c202167b1a9cdb35a67f9f93d5cf336ec0 Mon Sep 17 00:00:00 2001 From: ppetilli Date: Fri, 13 Mar 2026 12:59:07 +0100 Subject: [PATCH 9/9] Add test case with multiple if-match and apply conditions for hp_comware_display_route-policy --- .../hp_comware_display_route-policy1.raw | 10 ++++++++++ .../hp_comware_display_route-policy1.yml | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.raw create mode 100644 tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.yml diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.raw b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.raw new file mode 100644 index 0000000000..019c082401 --- /dev/null +++ b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.raw @@ -0,0 +1,10 @@ +Route-policy: active_out + Permit : 10 + if-match ip address prefix-list pl_customer_only + +Route-policy: test_policy + Permit : 10 + if-match cost 10 + if-match ip address prefix-list pl_customer_only + apply community 1111:100 + apply local-preference 200 diff --git a/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.yml b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.yml new file mode 100644 index 0000000000..03a032194c --- /dev/null +++ b/tests/hp_comware/display_route-policy/hp_comware_display_route-policy1.yml @@ -0,0 +1,17 @@ +--- +parsed_sample: + - action: "Permit" + apply: [] + if_match: + - "ip address prefix-list pl_customer_only" + node: "10" + policy_name: "active_out" + - action: "Permit" + apply: + - "community 1111:100" + - "local-preference 200" + if_match: + - "cost 10" + - "ip address prefix-list pl_customer_only" + node: "10" + policy_name: "test_policy"