Deep Dive into Eve-ng¶
動作をトレースする¶
ます、各IOLは
/opt/unetlab/addons/iol/bin/L3-ADVENTERPRISEK9.bin -e 1 -s 0 -n 256 -q -m 512 -c startup-config 160
などで立ち上がる。
/opt/unetlab/data/Logs/access.logにはWebのログが出てくる。REST APIのトレースができる。
192.168.9.1 - - [01/Nov/2017:15:02:54 +0200] "GET /api/labs/Lab1.unl/nodes/10/stop?_=1509541061739 HTTP/1.1" 200 362 "http://192.168.9.192/legacy/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
みたいなかんじ。
API¶
curl -c cookies.txt -i -X POST -d '{"username":"admin","password":"eve", "html5" :"-1"}' http://127.0.0.1/api/auth/login ; echo
curl -b cookies.txt -X GET http://127.0.0.1/api/folders/ | python -m json.tool
curl -b cookies.txt -X GET http://127.0.0.1/api/labs/Lab1.unl/nodes | python -m json.tool" :"-1"}' http://127.0.0.1/api/auth/login ; echo
大切なものを抜粋>
"11": {
"config": "1",
"id": 11,
"name": "R15",
"nvram": 256,
"ram": 512,
"url": "telnet://127.0.0.1:32779" ★ここがリスト
},
all start時にdelayを入れれる¶
root@eve-ng:/opt/unetlab# diff -ruN /opt/unetlab/html.orig /opt/unetlab/html
diff -ruN /opt/unetlab/html.orig/themes/default/js/functions.js /opt/unetlab/html/themes/default/js/functions.js
--- /opt/unetlab/html.orig/themes/default/js/functions.js 2017-08-18 01:11:16.000000000 +0300
+++ /opt/unetlab/html/themes/default/js/functions.js 2017-11-09 06:06:16.726374096 +0200
@@ -1864,7 +1864,7 @@
addMessage('danger', nodes[Object.keys(nodes)[i]]['name'] + ': ' + MESSAGES[76] + 'failed');
}
if (i > 0) {
- recursive_start(nodes, i);
+ setTimeout(recursive_start(nodes, i), 500);
} else {
addMessage('info', 'Start All: done');
}