Deployment
To deploy the plugin on UFM Appliance:
- login as admin;
- run enable;
- run config terminal;
- make sure that UFM is running with show ufm status;
- if UFM is down then run it with ufm start;
- make sure that NDT plugin is disabled with show ufm plugin;
- pull the plugin container with docker pull mellanox/ufm-plugin-ndt;
- in case of HA load the plugin on the standby node as well;
- run ufm plugin ndt add to enable the plugin;
- check that plugin is up and running with ufm plugin show;
To deploy the plugin with UFM (SA or HA):
- install the latest version of UFM;
- run UFM with /etc/init.d/ufmd start;
- pull the plugin container with docker pull mellanox/ufm-plugin-ndt;
- in case of HA load the plugin on the standby node as well;
- run /opt/ufm/scripts/manage_ufm_plugins.py add -p ndt to enable the plugin;
- check that plugin is up and running with docker ps;
Log file ndt.log is located in /opt/ufm/files/log on the host.
Usage
Example of a test scenario (positive flow):
- run UFM simulation based on ibnetdiscover_director.txt file (instruction on how to run UFM on top of simulated topology could be found here);
- curl -k -i -X POST -H "Content-Type:application/json" -d ‘’ ‘http://<host_ip>/ufmRest/plugin/ndt/upload_metadata’: upload the data, don’t forget to replace Windows line endings with Linux ones;
- curl -k -i -X GET 'http:// <host_ip>/ ufmRest/plugin/ndt/list': check a list of uploaded NDTs;
- curl -k -i -X POST -H "Content-Type:application/json" -d ‘’ 'http://<host_ip>/ ufmRest/plugin/ndt/compare’: run topology comparison;
- curl -k -i -X GET 'http:// <host_ip>/ ufmRest/plugin/ndt/reports’: check a list of reports;
- curl -k -i -X GET 'http:// <host_ip>/ ufmRest/plugin/ndt/reports/1’: check the content of the 1-st (and the only one) report;
- curl -k -i -X POST -H "Content-Type:application/json" -d ‘’ 'http://<host_ip>/ ufmRest/plugin/ndt/compare’: run topology periodic comparison, e.g., startTime is current time, endTime is current time + 10 minutes, interval is 5 minute;
- wait for 10 minutes and run curl -k -i -X GET 'http://<host_ip>/ ufmRest/plugin/ndt/reports’ to check the list of reports again – there should be 4 now.
- curl -k -i -X POST -H "Content-Type:application/json" -d ‘’ 'http://<host_ip>/ ufmRest/plugin/ndt/delete’: delete NDTs;
Please use tests/ndt_rest_api.py wrapper script as a client for REST API. For more details, run python ndt_rest_api.py --help.