Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

One of the main questions is: How many NetConf-Servers are configured and what it the connection-status to each NetConf-Server.

```

#!/bin/bash
protocol=http     # http or https
fqdn=10.20.6.29 # This is a machine of OSNL (OpenSDN/NFV lab) used for testing the commands
httpPort=8181
odlAaaUserName=demx8as6
odlAaaUserPassword=************

...

echo "List connection-status of mountpoints"
odlMountpointsUrl=$baseUrl/restconf/operational/network-topology:network-topology
curl $login $header $odlMountpointsUrl | python -m json.tool | grep connection-status
echo

```


Data from NetConf Sever (device, network function)

...

echo "View supported yang capabilitescapabilities for a seletedsleeted node (device, mountpoint, netconf-server)"
nodeId="SMOptics"<node-id>
odlMountpointsUrl=$baseUrl/restconf/operational/network-topology:network-topology/topology/topology-netconf/node/$nodeId/available-capabilities
curl $login $header $odlMountpointsUrl | python -m json.tool | grep capability\":
echo
echo "Show device data provided by the NetConf-Server"
yangCapability="core-model:network-element"
odlMountpointsUrl=$baseUrl/restconf/operational/network-topology:network-topology/topology/topology-netconf/node/$nodeId/yang-ext:mount/$yangCapability
curl $login $header $odlMountpointsUrl | python -m json.tool
echo

Data from a database

SDN-R (currently - there are activities to move such data into other databases)  stores a couple of data in an elasticsearch cluster. The most important ones are related to NetConf Alarm notifications.

From such notifications SDN-R keeps a table up-to-date with all current alarms of the network. In addition received NetConf Notifications with faults are stored in a separate. EleasticSearch APIs (https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search.html) can be used to retrieve the data. 

Current alarms

echo "Show 100 current alarms"
esUrl=$baseUrl/database/sdnevents/faultcurrent/_search
curl --request POST $header -d '{"from":0,"size":100,"query":{"match_all":{}}}' $esUrl | python -m json.tool
echo

Alarm Log

echo "Show 100 alarm logs"

 esUrl=$baseUrl/database/sdnevents/faultlog/_search
curl --request POST $header -d '{"from":0,"size":100,"query":{"match_all":{}}}' $esUrl | python -m json.tool
echo

...