Problem:
This article helps understand why the topology diagram in Airwave does not show any information. This is one instance where the issue occurs due to duplicate AP ID's created. The issue happens when a device goes down at some point and the IP got reassigned to a different MAC address and since topology can only handle device based on MAC address the diagram does not show any devices.
Diagnostics:If we inspect the browser element from the Topology page we can see the following error:
Getting Error on console :
module_frappe.1507566769.js:107 Error: Cannot add item: item with id 300 already exists
at n._addItem (module_frappe.1507566769.js:18798)
at n.add (module_frappe.1507566769.js:18798)
at new n (module_frappe.1507566769.js:18798)
at module_frappe.1507566769.js:18938
at module_frappe.1507566769.js:119
at n.$eval (module_frappe.1507566769.js:133)
at n.$digest (module_frappe.1507566769.js:130)
at n.$apply (module_frappe.1507566769.js:133)
at h (module_frappe.1507566769.js:87)
at K (module_frappe.1507566769.js:91)
We also can run an API query to the server using the following link:
https://<IP or Hostname of Airwave>/topology/getTopology
Sample output shown below:
{
"apID": 300,
"name": "MAN-Library-MDF",
"role": "Switch",
"model": "Juniper Virtual",
"ip": "192.168.213.130",
"mac": "3C:8A:B0:EA:BD:03",
"folder": {
"id": 95,
"name": "Top/Buildings/Horace Mann/Horace Mann Switches"
},
"HealthInfo": {
"health": "good",
"reason": []
}
},
{
"apID": 300,
"name": "MAN-Library-MDF",
"role": "Switch",
"model": "Juniper Virtual",
"ip": "192.168.213.130",
"mac": "3C:61:04:6F:46:03",
"folder": {
"id": 95,
"name": "Top/Buildings/Horace Mann/Horace Mann Switches"
},
"HealthInfo": {
"health": "poor",
"reason": [{
"attribute": "up",
"value": 0
}]
}
},
Notice that the AP ID is same whereas the MAC address of the device is different. This will cause the Topology page not to show any info due to conflict.
SolutionWe need to determine the topology service currently running and restart the same.
This can be done from UI by simply navigating to System-->Status page and restarting the AMP services by clicking the "Restart AMP" button.
Topology service can also be done from Airwave CLI by determining the process ID. Sample shown below.
[root@airwave-test mercury]# daemons | grep Top
6296 6295 6292 0.4 4.2 341164 1-02:04:49 Topology
[root@airwave-test mercury]# kill -9 <process ID>
In the above case the process ID = 6296