Skip to main content
Solved

Different Output when an NQE is run within Verify versus from the Library

  • January 6, 2026
  • 2 replies
  • 44 views

Forum|alt.badge.img+1

I have raised a support case for this as well, but I was wondering if anyone had seen it when you see different behavior when running a query in the library versus verify.

I have created a query to display the vxlan address table, and when run in Verify the result shows 0 however when executed int he library it produces the complete list of passed entries as expected.

The Query will always pass and has been added to verify so we can do a diff check on the VXLAN Address table during changes as requested by the engineers.

Has anyone else experienced this, or got any suggestions on how to address this.

Results from execution in Verify:

Results from execution in Library (Sanitized):

 

Code from Script:

/**
* @intent Display the Mac Address List for VXLAN
* @description Will display the VXLAN mac address list and set the violation to false.
*/

import "library/Arista Library";

foreach device in network.devices

where device.platform.os == OS.ARISTA_EOS

let vxlanTables = vxlanTable(device)

foreach item in vxlanTables

let deviceName = item.deviceName
let vlan = item.vlan
let MacAddress = item.MacAddress
let vtepType = item.vtepType
let vxlanPrt = item.vxlanPrt
let vtep = item.vtep
let moves = item.NoOfMoves
let days = item.NoOfDays
let time = item.vtepTime
let violation = false

select {
Device:deviceName,
Vlan:vlan,
MacAddress:MacAddress,
Type:vtepType,
Port:vxlanPrt,
Vtep:vtep,
Moves:moves,
DaysSinceLastMove: days,
HoursSinceLastMove: time,
violation:violation
}

Code from our Arista Library:

vxlanTableOutput = 
```
Vxlan Mac Address Table
----------------------------------------------------------------------

VLAN Mac Address Type Prt VTEP Moves Last Move
---- ----------- ---- --- ---- ----- ---------
{vlan:string} {MacAddress:string} {vtepType:string} {vxlanPrt:string} {vtep:string} {moves:number} {vtepDays:number} days, {time:string} ago

Total Remote Mac Addresses for this criterion: {RemoteMacs:string}
```;

export vxlanTable(device: Device) =

foreach command in device.outputs.commands
where command.commandType == CommandType.VXLAN_MAC_TABLE //Retrieve only the command show vxlan address-table
let tableResponse = command.response
let deviceName = device.name
let parsed = parseConfigBlocks(OS.UNKNOWN, tableResponse)
let tableMatches = blockMatches(parsed, vxlanTableOutput)
foreach tableMatch in tableMatches
let vlan = tableMatch.data.vlan
let MacAddress = tableMatch.data.MacAddress
let vtepType = tableMatch.data.vtepType
let vxlanPrt = tableMatch.data.vxlanPrt
let vtep = tableMatch.data.vtep
let NoOfMoves = tableMatch.data.moves
let NoOfDays = tableMatch.data.vtepDays
let vtepTime = tableMatch.data.time
let returnData = {deviceName,vlan,MacAddress,vtepType,vxlanPrt,vtep,NoOfMoves,NoOfDays,vtepTime,parsed}
select(returnData);

 

Best answer by SteveBamford

This was human error the Arista Library (NQE) I had written had not been committed therefore the code was not available to the query, committed all working, layer 8 is often the problem 😀

2 replies

Forum|alt.badge.img+1
  • Author
  • Spotter
  • Answer
  • January 6, 2026

This was human error the Arista Library (NQE) I had written had not been committed therefore the code was not available to the query, committed all working, layer 8 is often the problem 😀


tenzing29
  • Ramping Up
  • January 23, 2026

really with ai coming up?