...
- Overview
- Producer
- Consumer
- Repository
- Data Model
- Searching in NOCLook
- Indexed properties
- REST API
- Backup and Restore
- Links
- How to set up a NI suiteNOCLook
- Troubleshooting
Overview
...
The only NORDUnet consumer today is NOCLook which is a web gui made with the Django web framework and Neo4j graph database as back end for the inventory data model. The data is added to the Neo4j database via norduni_client.py norduniclient which builds on neo4jneo4jdb-embeddedpython.
Repository
...
Data model
Image Removed
Hopefully these entities and relationships are enoughSee Presentation.
Image Removed
The data that was inserted manually in the prototype.
Searching in NOCLook
...
NOCLook REST API is driven by django-tastypie. Authentication is set per user as an API key.
Create a new site
Code Block |
---|
$ cat site.json
{
"node_name": "DK-AAL",
"node_type": "/api/v1/node_type/site/",
"node_meta_type": "Location",
"node": {
"address": "Selma Lagerlöfsvej 300",
"area": "Aalborg",
"country": "Denmark",
"country_code": "DK",
"latitude": "57.011944",
"longitude": "9.990560",
"owner_id": "AAU",
"postarea": "Aalborg",
"postcode": "9220"
}
}
$ curl -i -H "Authorization: ApiKey apiuser:secret" -H "Content-Type: application/json" -X POST --data @site.json |
Create a new L2VPN service
Using curl
Code Block |
---|
curl -k -H "Authorization: ApiKey apiuser:secret" -H "Content-Type: application/json" -X POST --data '{"node_name": "NU-SXXXXX1", "operational_state": "In service", "route_distinguisher": "rd1", "vrf_target": "vt1", "end_points": [{"device": "se-tug.nordu.net", "port":"l2vpn_test_port"}, {"device": "se-fre.nordu.net", "port":"l2vpn_test_port"}]}' https://nidev-consumer.nordu.net/api/v1/l2vpn/
Return:
{
"created": "2013-02-20T16:45:41.228176",
"creator": "/api/v1/user/59/",
"description": null,
"handle_id": 11717,
"modified": "2013-02-20T16:45:41.228213",
"modifier": "/api/v1/user/59/",
"node": {
"handle_id": 11717,
"name": "NU-SXXXXX1",
"node_type": "Service",
"operational_state": "In service",
"service_class": "MPLS",
"service_type": "L2VPN"
},
"node_id": 13707,
"node_meta_type": "logical",
"node_name": "NU-SXXXXX1",
"node_type": "/api/v1/node_type/service/",
"object_path": "/service/11717/",
"operational_state": "In service",
"relationships": [
"/api/v1/relationship/47575/",
"/api/v1/relationship/47576/",
"/api/v1/relationship/47577/"
],
"resource_uri": "/api/v1/l2vpn/11717/",
"route_distinguisher": "rd1",
"service_type": "L2VPN",
"vrf_target": "vt1"
}
|
...
Code Block |
---|
# Backup the SQL database
su - postgres -c "pg_dumpalldump norduni > /var/opt/norduni/nistore/producers/noclook/sql/postgres.sql"
# Run NOCLook producer for backup purpose
cd /opt/norduni/src/scripts/
rm /opt/nistore/producers/noclook/json/*
./noclook_producer.py -O /opt/nistore/producers/noclook/json/
# Push the changes to nistore master
/usr/local/sbin/ni-push.sh -r /opt/nistore/
|
...
Code Block |
---|
|
# All producers need to be listed here with a path data or empty
[data]
juniper_conf =
nmap_services_py =
alcatel_isis =
noclook = /opt/nistore/producers/noclook/json/
nagios_checkmk =
cfengine_report = |
Code Block |
---|
sudo -u postgres psql -f /opt/nistore/producers/noclook/sql/postgres.sql postgresnorduni
noclook_consumer.py -C restore.conf -I
|
...
Issue tracker: https://project.nordu.net/browse/NORDUNIDEV
Graph Gists
Version 1.0: http://gistportal.neo4jgraphgist.org/?e598ce9c6851fd803243/graph_gists/bf9576c3-c7d0-450b-82fb-bd52e4038753
Version 2.0: http://gist.neo4j.org/?fe682b1dc394dd8e4421
How to set up
...
NOCLook
See Setting up a NORDUni 2.0 instance.
Anchor |
---|
| troubleshooting |
---|
| troubleshooting |
---|
|
Troubleshooting
Starting/stopping and restarting
Code Block |
---|
$ sudo service uwsgi start|stop|restart |