Juniper / jsnapy

Python version of Junos Snapshot Administrator
Apache License 2.0
116 stars 58 forks source link

Jsnapy Test reported 2x failures but no faults actually captured. #420

Open Jakecui-2020 opened 3 months ago

Jakecui-2020 commented 3 months ago

Description of Issue/Question

One of my customers reported Jsnapy issue being the test reported 2x failures but there are no faults actually captured in the results.

Example output:

**** Device: 10.61.83.132 **** Tests Included: verify_junos_version Command: show version PASS | All "." is equal to "21.4R3-S7.8" [ 1 value matched ] Tests Included: verify_active_system_alarm **** Command: show system alarms **** PASS | All "no-active-alarms" exists at xpath "//alarm-summary" [ 1 value matched ] Tests Included: verify_active_chassis_alarm **** Command: show chassis alarms **** PASS | All "no-active-alarms" exists at xpath "//alarm-summary" [ 1 value matched ] Tests Included: verify_controller_interfaces Command: show interfaces descriptions ------------------------------Performing --diff without any test operator------------------------------ --------------------Performing --diff without test Operation -------------------- Difference in pre and post snap file 0] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: 1] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: 2] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: 3] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: 4] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: 5] value different: Pre node text: '\nup\n' Post node text: '\ndown\n' Parent node: Tests Included: verify_controller_links_optics **** Command: show interfaces diagnostics optics **** ------------------------------Performing --diff without any test operator------------------------------ --------------------Performing --diff without test Operation -------------------- Difference in pre and post snap file 0] value different: Pre node text: '\n36.168\n' Post node text: '\n35.564\n' Parent node: 1] value different: Pre node text: '\n0.6120\n' Post node text: '\n0.6010\n' Parent node: 2] value different: Pre node text: '\n-2.13\n' Post node text: '\n-2.21\n' Parent node: 3] Attributes do not match: celsius='33.4', celsius='34.2' for tag values 4] Attributes do not match: celsius='34.2', celsius='33.4' for tag values 5] value different: Pre node text: '\n33 degrees C / 92 degrees F\n' Post node text: '\n34 degrees C / 94 degrees F\n' Parent node: 6] value different: Pre node text: '\n3.2530\n' Post node text: '\n3.2490\n' Parent node: 7] value different: Pre node text: '\n0.2963\n' Post node text: '\n0.2958\n' Parent node: 8] value different: Pre node text: '\n-5.28\n' Post node text: '\n-5.29\n' Parent node: 9] value different: Pre node text: '\n40.020\n' Post node text: '\n39.274\n' Parent node: 10] value different: Pre node text: '\n0.6060\n' Post node text: '\n0.5940\n' Parent node: 11] value different: Pre node text: '\n-2.18\n' Post node text: '\n-2.26\n' Parent node: 12] Attributes do not match: celsius='36.7', celsius='35.9' for tag values 13] Attributes do not match: celsius='35.9', celsius='36.7' for tag values 14] value different: Pre node text: '\n37 degrees C / 98 degrees F\n' Post node text: '\n36 degrees C / 97 degrees F\n' Parent node: 15] value different: Pre node text: '\n0.5141\n' Post node text: '\n0.5163\n' Parent node: 16] value different: Pre node text: '\n-2.89\n' Post node text: '\n-2.87\n' Parent node: 17] value different: Pre node text: '\n0.6480\n' Post node text: '\n0.6470\n' Parent node: 18] value different: Pre node text: '\n-1.88\n' Post node text: '\n-1.89\n' Parent node: 19] Attributes do not match: celsius='36.5', celsius='36.4' for tag values 20] Attributes do not match: celsius='36.4', celsius='36.5' for tag values 21] value different: Pre node text: '\n37 degrees C / 98 degrees F\n' Post node text: '\n36 degrees C / 97 degrees F\n' Parent node: 22] value different: Pre node text: '\n3.2850\n' Post node text: '\n3.2890\n' Parent node: 23] value different: Pre node text: '\n0.5094\n' Post node text: '\n0.5085\n' Parent node: 24] value different: Pre node text: '\n-2.93\n' Post node text: '\n-2.94\n' Parent node: 25] value different: Pre node text: '\n0.2180\n' Post node text: '\n0.2200\n' Parent node: 26] value different: Pre node text: '\n-6.62\n' Post node text: '\n-6.58\n' Parent node: 27] Attributes do not match: celsius='34.3', celsius='34.1' for tag values 28] Attributes do not match: celsius='34.1', celsius='34.3' for tag values 29] value different: Pre node text: '\n34 degrees C / 94 degrees F\n' Post node text: '\n34 degrees C / 93 degrees F\n' Parent node: 30] Attributes do not match: celsius='34.5', celsius='34.2' for tag values 31] Attributes do not match: celsius='34.2', celsius='34.5' for tag values 32] value different: Pre node text: '\n30.323\n' Post node text: '\n30.263\n' Parent node: 33] value different: Pre node text: '\n0.931\n' Post node text: '\n0.932\n' Parent node: 34] value different: Pre node text: '\n-0.31\n' Post node text: '\n-0.30\n' Parent node: 35] value different: Pre node text: '\n0.490\n' Post node text: '\n0.489\n' Parent node: 36] value different: Pre node text: '\n-3.10\n' Post node text: '\n-3.11\n' Parent node: 37] value different: Pre node text: '\n29.813\n' Post node text: '\n29.724\n' Parent node: 38] value different: Pre node text: '\n1.185\n' Post node text: '\n1.184\n' Parent node: 39] value different: Pre node text: '\n0.74\n' Post node text: '\n0.73\n' Parent node: 40] value different: Pre node text: '\n0.730\n' Post node text: '\n0.731\n' Parent node: 41] value different: Pre node text: '\n-1.37\n' Post node text: '\n-1.36\n' Parent node: 42] value different: Pre node text: '\n30.413\n' Post node text: '\n30.323\n' Parent node: 43] value different: Pre node text: '\n0.918\n' Post node text: '\n0.919\n' Parent node: 44] value different: Pre node text: '\n0.788\n' Post node text: '\n0.792\n' Parent node: 45] value different: Pre node text: '\n-1.04\n' Post node text: '\n-1.01\n' Parent node: 46] value different: Pre node text: '\n30.444\n' Post node text: '\n30.323\n' Parent node: 47] value different: Pre node text: '\n0.757\n' Post node text: '\n0.754\n' Parent node: 48] value different: Pre node text: '\n-1.21\n' Post node text: '\n-1.22\n' Parent node: 49] value different: Pre node text: '\n0.680\n' Post node text: '\n0.682\n' Parent node: 50] value different: Pre node text: '\n-1.68\n' Post node text: '\n-1.66\n' Parent node: 51] Attributes do not match: celsius='36.2', celsius='35.9' for tag values 52] Attributes do not match: celsius='35.9', celsius='36.2' for tag values 53] value different: Pre node text: '\n30.714\n' Post node text: '\n30.653\n' Parent node: 54] value different: Pre node text: '\n1.257\n' Post node text: '\n1.258\n' Parent node: 55] value different: Pre node text: '\n0.99\n' Post node text: '\n1.00\n' Parent node: 56] value different: Pre node text: '\n0.693\n' Post node text: '\n0.691\n' Parent node: 57] value different: Pre node text: '\n-1.59\n' Post node text: '\n-1.60\n' Parent node: 58] value different: Pre node text: '\n30.413\n' Post node text: '\n30.384\n' Parent node: 59] value different: Pre node text: '\n1.139\n' Post node text: '\n1.141\n' Parent node: 60] value different: Pre node text: '\n0.741\n' Post node text: '\n0.738\n' Parent node: 61] value different: Pre node text: '\n-1.30\n' Post node text: '\n-1.32\n' Parent node: 62] value different: Pre node text: '\n30.233\n' Post node text: '\n30.204\n' Parent node: 63] value different: Pre node text: '\n1.155\n' Post node text: '\n1.157\n' Parent node: 64] value different: Pre node text: '\n0.577\n' Post node text: '\n0.575\n' Parent node: 65] value different: Pre node text: '\n-2.39\n' Post node text: '\n-2.40\n' Parent node: 66] value different: Pre node text: '\n30.354\n' Post node text: '\n30.294\n' Parent node: 67] value different: Pre node text: '\n0.612\n' Post node text: '\n0.609\n' Parent node: 68] value different: Pre node text: '\n-2.13\n' Post node text: '\n-2.15\n' Parent node: Tests Included: verify_kvm_host_interfaces Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_kvm_host_links_optics **** Command: show interfaces diagnostics optics **** Tests Included: verify_compute_interfaces Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_compute_links_optics **** Command: show interfaces diagnostics optics **** Tests Included: verify_interswitch_interfaces Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_isis_interface **** Command: show isis interface **** PASS | All "./isis-interface-state-one" is equal to "Point to Point" [ 1 value matched ] PASS | All "./isis-interface-state-one" is equal to "Point to Point" [ 1 value matched ] Tests Included: verify_isis_adjacencies **** Command: show isis adjacency **** PASS | All "./adjacency-state" is equal to "Up" [ 1 value matched ] PASS | All "./adjacency-state" is equal to "Up" [ 1 value matched ] Tests Included: verify_interswitch_links_optics **** Command: show interfaces diagnostics optics **** PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./laser-bias-current-high-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-low-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-high-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-low-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-high-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-low-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-high-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-low-warn" is equal to "off" [ 4 value matched ] PASS | All "./tx-loss-of-signal-functionality-alarm" is equal to "off" [ 4 value matched ] PASS | All "./rx-loss-of-signal-alarm" is equal to "off" [ 4 value matched ] PASS | All "./tx-laser-disabled-alarm" is equal to "off" [ 4 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./laser-bias-current-high-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-low-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-high-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-bias-current-low-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-high-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-low-alarm" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-high-warn" is equal to "off" [ 4 value matched ] PASS | All "./laser-rx-power-low-warn" is equal to "off" [ 4 value matched ] PASS | All "./tx-loss-of-signal-functionality-alarm" is equal to "off" [ 4 value matched ] PASS | All "./rx-loss-of-signal-alarm" is equal to "off" [ 4 value matched ] PASS | All "./tx-laser-disabled-alarm" is equal to "off" [ 4 value matched ] Tests Included: verify_rdn_l3_interfaces Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_rdn_l3_links_optics **** Command: show interfaces diagnostics optics **** PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] Tests Included: verify_infrastructure_bundles Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_bgp_peer_state Command: show bgp summary PASS | All "./peer-state" is equal to "Established" [ 2 value matched ] Tests Included: verify_bgp_evpn_state Command: show bgp summary PASS | All "./total-prefix-count" is greater than 0" [ 1 value matched ] PASS | All "./active-prefix-count" is greater than 0" [ 1 value matched ] Tests Included: verify_lacp_generic_actor_state Command: show lacp interfaces PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] Tests Included: verify_lacp_generic_partner_state Command: show lacp interfaces PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] Tests Included: verify_lacp_generic_state Command: show lacp interfaces PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] **** Device: 10.61.83.132 **** Tests Included: verify_tenant_interfaces Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_tenant_links_optics **** Command: show interfaces diagnostics optics **** PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-temperature-low-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-alarm" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-high-warn" is equal to "off" [ 1 value matched ] PASS | All "./optics-diagnostics/module-voltage-low-warn" is equal to "off" [ 1 value matched ] Tests Included: verify_tenant_bundles Command: show interfaces descriptions PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] PASS | All "./admin-status" is equal to "up" [ 1 value matched ] PASS | All "./oper-status" is equal to "up" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_999 Command: show ethernet-switching table vlan-name U0000002R_999 PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_1000 ** Command: show ethernet-switching table vlan-name U0000002R_1000 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4000 ** Command: show ethernet-switching table vlan-name U0000002R_4000 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4001 ** Command: show ethernet-switching table vlan-name U0000002R_4001 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4021 ** Command: show ethernet-switching table vlan-name U0000002R_4021 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4022 ** Command: show ethernet-switching table vlan-name U0000002R_4022 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4060 ** Command: show ethernet-switching table vlan-name U0000002R_4060 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4062 ** Command: show ethernet-switching table vlan-name U0000002R_4062 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4063 ** Command: show ethernet-switching table vlan-name U0000002R_4063 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4088 ** Command: show ethernet-switching table vlan-name U0000002R_4088 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4072 ** Command: show ethernet-switching table vlan-name U0000002R_4072 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000002R_4073 ** Command: show ethernet-switching table vlan-name U0000002R_4073 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000003R_310000 Command: show ethernet-switching table vlan-name U0000003R_310000 PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000003R_304050 Command: show ethernet-switching table vlan-name U0000003R_304050 PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000006R_3050 ** Command: show ethernet-switching table vlan-name U0000006R_3050 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000006R_3060 ** Command: show ethernet-switching table vlan-name U0000006R_3060 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000006R_3070 ** Command: show ethernet-switching table vlan-name U0000006R_3070 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_learnt_mac_table_U0000010R_1060 ** Command: show ethernet-switching table vlan-name U0000010R_1060 ** PASS | All "." is greater than 0" [ 1 value matched ] Tests Included: verify_interface_vlan_ae200.1000 ** Command: show vlans interface ae200.1000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_1000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae200.4000 ** Command: show vlans interface ae200.4000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae200.4001 ** Command: show vlans interface ae200.4001 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4001" [ 1 value matched ] Tests Included: verify_interface_vlan_ae200.4060 ** Command: show vlans interface ae200.4060 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4060" [ 1 value matched ] Tests Included: verify_interface_vlan_ae200.4062 ** Command: show vlans interface ae200.4062 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4062" [ 1 value matched ] Tests Included: verify_interface_vlan_ae201.1000 ** Command: show vlans interface ae201.1000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_1000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae201.4000 ** Command: show vlans interface ae201.4000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae201.4001 ** Command: show vlans interface ae201.4001 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4001" [ 1 value matched ] Tests Included: verify_interface_vlan_ae201.4060 ** Command: show vlans interface ae201.4060 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4060" [ 1 value matched ] Tests Included: verify_interface_vlan_ae201.4063 ** Command: show vlans interface ae201.4063 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4063" [ 1 value matched ] Tests Included: verify_interface_vlan_ae202.999 ** Command: show vlans interface ae202.999 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_999" [ 1 value matched ] Tests Included: verify_interface_vlan_ae202.4021 ** Command: show vlans interface ae202.4021 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4021" [ 1 value matched ] Tests Included: verify_interface_vlan_ae202.4022 ** Command: show vlans interface ae202.4022 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4022" [ 1 value matched ] Tests Included: verify_interface_vlan_ae202.4088 ** Command: show vlans interface ae202.4088 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4088" [ 1 value matched ] Tests Included: verify_interface_vlan_ae202.4072 ** Command: show vlans interface ae202.4072 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4072" [ 1 value matched ] Tests Included: verify_interface_vlan_ae203.999 ** Command: show vlans interface ae203.999 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_999" [ 1 value matched ] Tests Included: verify_interface_vlan_ae203.4021 ** Command: show vlans interface ae203.4021 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4021" [ 1 value matched ] Tests Included: verify_interface_vlan_ae203.4022 ** Command: show vlans interface ae203.4022 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4022" [ 1 value matched ] Tests Included: verify_interface_vlan_ae203.4088 ** Command: show vlans interface ae203.4088 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4088" [ 1 value matched ] Tests Included: verify_interface_vlan_ae203.4073 ** Command: show vlans interface ae203.4073 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4073" [ 1 value matched ] Tests Included: verify_interface_vlan_ae204.3000 ** Command: show vlans interface ae204.3000 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae204.3000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae204.4050 ** Command: show vlans interface ae204.4050 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae204.4050" [ 1 value matched ] Tests Included: verify_interface_vlan_ae206.3050 ** Command: show vlans interface ae206.3050 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae206.3050" [ 1 value matched ] Tests Included: verify_interface_vlan_ae206.3070 ** Command: show vlans interface ae206.3070 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae206.3070" [ 1 value matched ] Tests Included: verify_interface_vlan_ae210.3050 ** Command: show vlans interface ae210.3050 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae210.3050" [ 1 value matched ] Tests Included: verify_interface_vlan_ae211.3060 ** Command: show vlans interface ae211.3060 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae211.3060" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.1000 ** Command: show vlans interface ae80.1000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_1000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.4000 ** Command: show vlans interface ae80.4000 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4000" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.4001 ** Command: show vlans interface ae80.4001 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4001" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.4060 ** Command: show vlans interface ae80.4060 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4060" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.4062 ** Command: show vlans interface ae80.4062 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4062" [ 1 value matched ] Tests Included: verify_interface_vlan_ae80.4063 ** Command: show vlans interface ae80.4063 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4063" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.999 Command: show vlans interface ae81.999 PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_999" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.4021 ** Command: show vlans interface ae81.4021 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4021" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.4022 ** Command: show vlans interface ae81.4022 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4022" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.4072 ** Command: show vlans interface ae81.4072 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4072" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.4073 ** Command: show vlans interface ae81.4073 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4073" [ 1 value matched ] Tests Included: verify_interface_vlan_ae81.4088 ** Command: show vlans interface ae81.4088 ** PASS | All "./l2ifbd-vlan-name" is equal to "U0000002R_4088" [ 1 value matched ] Tests Included: verify_interface_vlan_ae82.1 **** Command: show vlans interface ae82.1 **** PASS | All "./l2ifbd-ifl-name" is equal to "ae82.1" [ 1 value matched ] Tests Included: verify_interface_vlan_ae82.4050 ** Command: show vlans interface ae82.4050 ** PASS | All "./l2ifbd-ifl-name" is equal to "ae82.4050" [ 1 value matched ] Tests Included: verify_lacp_service_actor_state Command: show lacp interfaces PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Actor"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] Tests Included: verify_lacp_service_partner_state Command: show lacp interfaces PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-distributing" is equal to "Yes" [ 1 value matched ] PASS | All "../lag-lacp-state[normalize-space(lacp-role) = "Partner"]/lacp-collecting" is equal to "Yes" [ 1 value matched ] Tests Included: verify_lacp_service_state Command: show lacp interfaces PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Fast periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Slow periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Slow periodic" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-receive-state" is equal to "Current" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-mux-state" is equal to "Collecting distributing" [ 1 value matched ] PASS | All "../lag-lacp-protocol/lacp-transmit-state" is equal to "Slow periodic" [ 1 value matched ] Tests Included: verify_l2_switching_table_U0000002R_999 Command: show ethernet-switching table vlan-name U0000002R_999 PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 1 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 1 value matched ] Tests Included: verify_l2_switching_table_U0000002R_1000 ** Command: show ethernet-switching table vlan-name U0000002R_1000 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 1 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 1 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4000 ** Command: show ethernet-switching table vlan-name U0000002R_4000 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 5 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 5 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4001 ** Command: show ethernet-switching table vlan-name U0000002R_4001 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4021 ** Command: show ethernet-switching table vlan-name U0000002R_4021 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 5 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 5 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4022 ** Command: show ethernet-switching table vlan-name U0000002R_4022 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 1 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 1 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4060 ** Command: show ethernet-switching table vlan-name U0000002R_4060 ** Tests Included: verify_l2_switching_table_U0000002R_4062 ** Command: show ethernet-switching table vlan-name U0000002R_4062 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4063 ** Command: show ethernet-switching table vlan-name U0000002R_4063 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4088 ** Command: show ethernet-switching table vlan-name U0000002R_4088 ** Tests Included: verify_l2_switching_table_U0000002R_4072 ** Command: show ethernet-switching table vlan-name U0000002R_4072 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000002R_4073 ** Command: show ethernet-switching table vlan-name U0000002R_4073 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000003R_310000 Command: show ethernet-switching table vlan-name U0000003R_310000 PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 2 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 2 value matched ] Tests Included: verify_l2_switching_table_U0000003R_304050 Command: show ethernet-switching table vlan-name U0000003R_304050 Tests Included: verify_l2_switching_table_U0000006R_3050 ** Command: show ethernet-switching table vlan-name U0000006R_3050 ** Tests Included: verify_l2_switching_table_U0000006R_3060 ** Command: show ethernet-switching table vlan-name U0000006R_3060 ** Tests Included: verify_l2_switching_table_U0000006R_3070 ** Command: show ethernet-switching table vlan-name U0000006R_3070 ** Tests Included: verify_l2_switching_table_U0000010R_1060 ** Command: show ethernet-switching table vlan-name U0000010R_1060 ** PASS | All "l2ng-l2-mac-address" is same in pre and post snapshot [ 1 value matched ] PASS | All "l2ng-l2-mac-logical-interface" is same in pre and post snapshot [ 1 value matched ] ------------------------------- Final Result!! ------------------------------- verify_junos_version : Passed verify_active_system_alarm : Passed verify_active_chassis_alarm : Passed verify_kvm_host_interfaces : Passed verify_kvm_host_links_optics : Skipped verify_compute_interfaces : Passed verify_compute_links_optics : Skipped verify_interswitch_interfaces : Passed verify_isis_interface : Passed verify_isis_adjacencies : Passed verify_interswitch_links_optics : Passed verify_rdn_l3_interfaces : Passed verify_rdn_l3_links_optics : Passed verify_infrastructure_bundles : Passed verify_bgp_peer_state : Passed verify_bgp_evpn_state : Passed verify_lacp_generic_actor_state : Passed verify_lacp_generic_partner_state : Passed verify_lacp_generic_state : Passed verify_tenant_interfaces : Passed verify_tenant_links_optics : Passed verify_tenant_bundles : Passed verify_learnt_mac_table_U0000002R_999 : Passed verify_learnt_mac_table_U0000002R_1000 : Passed verify_learnt_mac_table_U0000002R_4000 : Passed verify_learnt_mac_table_U0000002R_4001 : Passed verify_learnt_mac_table_U0000002R_4021 : Passed verify_learnt_mac_table_U0000002R_4022 : Passed verify_learnt_mac_table_U0000002R_4060 : Passed verify_learnt_mac_table_U0000002R_4062 : Passed verify_learnt_mac_table_U0000002R_4063 : Passed verify_learnt_mac_table_U0000002R_4088 : Passed verify_learnt_mac_table_U0000002R_4072 : Passed verify_learnt_mac_table_U0000002R_4073 : Passed verify_learnt_mac_table_U0000003R_310000 : Passed verify_learnt_mac_table_U0000003R_304050 : Passed verify_learnt_mac_table_U0000006R_3050 : Passed verify_learnt_mac_table_U0000006R_3060 : Passed verify_learnt_mac_table_U0000006R_3070 : Passed verify_learnt_mac_table_U0000010R_1060 : Passed verify_interface_vlan_ae200.1000 : Passed verify_interface_vlan_ae200.4000 : Passed verify_interface_vlan_ae200.4001 : Passed verify_interface_vlan_ae200.4060 : Passed verify_interface_vlan_ae200.4062 : Passed verify_interface_vlan_ae201.1000 : Passed verify_interface_vlan_ae201.4000 : Passed verify_interface_vlan_ae201.4001 : Passed verify_interface_vlan_ae201.4060 : Passed verify_interface_vlan_ae201.4063 : Passed verify_interface_vlan_ae202.999 : Passed verify_interface_vlan_ae202.4021 : Passed verify_interface_vlan_ae202.4022 : Passed verify_interface_vlan_ae202.4088 : Passed verify_interface_vlan_ae202.4072 : Passed verify_interface_vlan_ae203.999 : Passed verify_interface_vlan_ae203.4021 : Passed verify_interface_vlan_ae203.4022 : Passed verify_interface_vlan_ae203.4088 : Passed verify_interface_vlan_ae203.4073 : Passed verify_interface_vlan_ae204.3000 : Passed verify_interface_vlan_ae204.4050 : Passed verify_interface_vlan_ae206.3050 : Passed verify_interface_vlan_ae206.3070 : Passed verify_interface_vlan_ae210.3050 : Passed verify_interface_vlan_ae211.3060 : Passed verify_interface_vlan_ae80.1000 : Passed verify_interface_vlan_ae80.4000 : Passed verify_interface_vlan_ae80.4001 : Passed verify_interface_vlan_ae80.4060 : Passed verify_interface_vlan_ae80.4062 : Passed verify_interface_vlan_ae80.4063 : Passed verify_interface_vlan_ae81.999 : Passed verify_interface_vlan_ae81.4021 : Passed verify_interface_vlan_ae81.4022 : Passed verify_interface_vlan_ae81.4072 : Passed verify_interface_vlan_ae81.4073 : Passed verify_interface_vlan_ae81.4088 : Passed verify_interface_vlan_ae82.1 : Passed verify_interface_vlan_ae82.4050 : Passed verify_lacp_service_actor_state : Passed verify_lacp_service_partner_state : Passed verify_lacp_service_state : Passed verify_l2_switching_table_U0000002R_999 : Passed verify_l2_switching_table_U0000002R_1000 : Passed verify_l2_switching_table_U0000002R_4000 : Passed verify_l2_switching_table_U0000002R_4001 : Passed verify_l2_switching_table_U0000002R_4021 : Passed verify_l2_switching_table_U0000002R_4022 : Passed verify_l2_switching_table_U0000002R_4060 : Skipped verify_l2_switching_table_U0000002R_4062 : Passed verify_l2_switching_table_U0000002R_4063 : Passed verify_l2_switching_table_U0000002R_4088 : Skipped verify_l2_switching_table_U0000002R_4072 : Passed verify_l2_switching_table_U0000002R_4073 : Passed verify_l2_switching_table_U0000003R_310000 : Passed verify_l2_switching_table_U0000003R_304050 : Skipped verify_l2_switching_table_U0000006R_3050 : Skipped verify_l2_switching_table_U0000006R_3060 : Skipped verify_l2_switching_table_U0000006R_3070 : Skipped verify_l2_switching_table_U0000010R_1060 : Passed Total No of tests passed: 350 Total No of tests failed: 2 <<<<<<<<<<<<<<<<<<<<< 2x failures reported but no actual faults captured. Overall Tests passed!!!

Setup

(Please provide relevant configs, xml snapshots and related files (Be sure to remove sensitive info).)

This is a very simple setup which includes only one Juniper switch. Customer found the above issue after Junos upgrade.

Content of test.yml file is listed below.

“The test include part:

{% if jsnapy_mode == "pre" or jsnapy_mode == "post" %}

{% if host.tenant.vlans is defined and host.tenant.vlans is not none %}

{% for vlan,vlan_value in host.tenant.vlans.items() %}

{# - verify_l2_switchingtable{{ vlan }} #}

{% endif %}

{% endif %}

The actual test with the fail criteria

{% if host.tenant.vlans is defined and host.tenant.vlans is not none %}

{% for vlan,vlan_value in host.tenant.vlans.items() %}

verify_l2_switchingtable{{ vlan }}:

{% endfor %}

{% endif %}”

Steps to Reproduce Issue

(Include debug logs if possible and relevant. Error trace would be helpful too)

To do Junos upgrade on a QFX5K switch.

Versions Report

(Provided by running jsnapy --version. Please also mention python version.)

I will confirm with the customer.

Jakecui-2020 commented 3 months ago

Output of "jsnapy --version" provided by my customer:

[d944929@lxvlo0jh0001 uaeplus_network]$ ./podman_ansible.sh localhost -m command "jsnapy --version" Executing given commands ansible-playbook 2.10.8 config file = /project/podman_ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.8/site-packages/ansible executable location = /usr/bin/ansible-playbook python version = 3.8.5 (default, Jul 20 2020, 23:11:29) [GCC 9.3.0]