1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2 | <html>
|
3 | <head>
|
4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5 | <title>/home/userxifi/XIFI-workspace/NAM_Adapter/.README.md.html</title>
|
6 |
|
7 |
|
8 | <style type="text/css">
|
9 | body {
|
10 | color: #333;
|
11 | font: 13px/1.4 Helvetica,arial,freesans,clean,sans-serif;
|
12 | }
|
13 |
|
14 | .markdown-body {
|
15 | border: 1px solid #CACACA;
|
16 | padding: 30px;
|
17 | font-size: 15px;
|
18 | line-height: 1.7;
|
19 | word-wrap: break-word;
|
20 | }
|
21 | .markdown-body > *:first-child {
|
22 | margin-top: 0 !important;
|
23 | }
|
24 | .markdown-body > *:last-child {
|
25 | margin-bottom: 0 !important;
|
26 | }
|
27 | .markdown-body a.absent {
|
28 | color: #C00;
|
29 | }
|
30 | .markdown-body a.anchor {
|
31 | bottom: 0;
|
32 | cursor: pointer;
|
33 | display: block;
|
34 | left: 0;
|
35 | margin-left: -30px;
|
36 | padding-left: 30px;
|
37 | padding-right: 6px;
|
38 | position: absolute;
|
39 | top: 0;
|
40 | }
|
41 | .markdown-body a.anchor:focus {
|
42 | outline: medium none;
|
43 | }
|
44 | .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 {
|
45 | cursor: text;
|
46 | font-weight: bold;
|
47 | line-height: 1.7;
|
48 | margin: 1em 0 15px;
|
49 | padding: 0;
|
50 | position: relative;
|
51 | }
|
52 |
|
53 | .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {
|
54 | color: #000;
|
55 | display: none;
|
56 | }
|
57 | .markdown-body h1:hover a.anchor, .markdown-body h2:hover a.anchor, .markdown-body h3:hover a.anchor, .markdown-body h4:hover a.anchor, .markdown-body h5:hover a.anchor, .markdown-body h6:hover a.anchor {
|
58 | line-height: 1;
|
59 | margin-left: -22px;
|
60 | padding-left: 0;
|
61 | text-decoration: none;
|
62 | top: 15%;
|
63 | }
|
64 | .markdown-body h1:hover a.anchor .octicon-link, .markdown-body h2:hover a.anchor .octicon-link, .markdown-body h3:hover a.anchor .octicon-link, .markdown-body h4:hover a.anchor .octicon-link, .markdown-body h5:hover a.anchor .octicon-link, .markdown-body h6:hover a.anchor .octicon-link {
|
65 | display: inline-block;
|
66 | }
|
67 | .markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt, .markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code, .markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt, .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code {
|
68 | font-size: inherit;
|
69 | }
|
70 | .markdown-body h1 {
|
71 | border-bottom: 1px solid #DDD;
|
72 | font-size: 2.5em;
|
73 | }
|
74 | .markdown-body h2 {
|
75 | border-bottom: 1px solid #EEE;
|
76 | font-size: 2em;
|
77 | }
|
78 | .markdown-body h3 {
|
79 | font-size: 1.5em;
|
80 | }
|
81 | .markdown-body h4 {
|
82 | font-size: 1.2em;
|
83 | }
|
84 | .markdown-body h5 {
|
85 | font-size: 1em;
|
86 | }
|
87 | .markdown-body h6 {
|
88 | color: #777;
|
89 | font-size: 1em;
|
90 | }
|
91 | .markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre {
|
92 | margin: 15px 0;
|
93 | }
|
94 | .markdown-body ul, .markdown-body ol {
|
95 | padding-left: 30px;
|
96 | }
|
97 | .markdown-body ul.no-list, .markdown-body ol.no-list {
|
98 | list-style-type: none;
|
99 | padding: 0;
|
100 | }
|
101 | .markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul {
|
102 | margin-bottom: 0;
|
103 | margin-top: 0;
|
104 | }
|
105 | .markdown-body dl {
|
106 | padding: 0;
|
107 | }
|
108 | .markdown-body dl dt {
|
109 | font-size: 14px;
|
110 | font-style: italic;
|
111 | font-weight: bold;
|
112 | margin-top: 15px;
|
113 | padding: 0;
|
114 | }
|
115 | .markdown-body dl dd {
|
116 | margin-bottom: 15px;
|
117 | padding: 0 15px;
|
118 | }
|
119 | .markdown-body blockquote {
|
120 | border-left: 4px solid #DDD;
|
121 | color: #777;
|
122 | padding: 0 15px;
|
123 | }
|
124 | .markdown-body blockquote > *:first-child {
|
125 | margin-top: 0;
|
126 | }
|
127 | .markdown-body blockquote > *:last-child {
|
128 | margin-bottom: 0;
|
129 | }
|
130 | .markdown-body table {
|
131 | display: block;
|
132 | overflow: auto;
|
133 | width: 100%;
|
134 | border-collapse: collapse;
|
135 | }
|
136 | .markdown-body table th {
|
137 | font-weight: bold;
|
138 | }
|
139 | .markdown-body table th, .markdown-body table td {
|
140 | border: 1px solid #DDD;
|
141 | padding: 6px 13px;
|
142 | }
|
143 | .markdown-body table tr {
|
144 | background-color: #FFF;
|
145 | border-top: 1px solid #CCC;
|
146 | }
|
147 | .markdown-body table tr:nth-child(2n) {
|
148 | background-color: #F8F8F8;
|
149 | }
|
150 | .markdown-body img {
|
151 | -moz-box-sizing: border-box;
|
152 | -webkit-box-sizing: border-box;
|
153 | -o-box-sizing: border-box;
|
154 | box-sizing: border-box;
|
155 | max-width: 100%;
|
156 | border: 0px;
|
157 | }
|
158 | .markdown-body span.frame {
|
159 | display: block;
|
160 | overflow: hidden;
|
161 | }
|
162 | .markdown-body span.frame > span {
|
163 | border: 1px solid #DDD;
|
164 | display: block;
|
165 | float: left;
|
166 | margin: 13px 0 0;
|
167 | overflow: hidden;
|
168 | padding: 7px;
|
169 | width: auto;
|
170 | }
|
171 | .markdown-body span.frame span img {
|
172 | display: block;
|
173 | float: left;
|
174 | }
|
175 | .markdown-body span.frame span span {
|
176 | clear: both;
|
177 | color: #333;
|
178 | display: block;
|
179 | padding: 5px 0 0;
|
180 | }
|
181 | .markdown-body span.align-center {
|
182 | clear: both;
|
183 | display: block;
|
184 | overflow: hidden;
|
185 | }
|
186 | .markdown-body span.align-center > span {
|
187 | display: block;
|
188 | margin: 13px auto 0;
|
189 | overflow: hidden;
|
190 | text-align: center;
|
191 | }
|
192 | .markdown-body span.align-center span img {
|
193 | margin: 0 auto;
|
194 | text-align: center;
|
195 | }
|
196 | .markdown-body span.align-right {
|
197 | clear: both;
|
198 | display: block;
|
199 | overflow: hidden;
|
200 | }
|
201 | .markdown-body span.align-right > span {
|
202 | display: block;
|
203 | margin: 13px 0 0;
|
204 | overflow: hidden;
|
205 | text-align: right;
|
206 | }
|
207 | .markdown-body span.align-right span img {
|
208 | margin: 0;
|
209 | text-align: right;
|
210 | }
|
211 | .markdown-body span.float-left {
|
212 | display: block;
|
213 | float: left;
|
214 | margin-right: 13px;
|
215 | overflow: hidden;
|
216 | }
|
217 | .markdown-body span.float-left span {
|
218 | margin: 13px 0 0;
|
219 | }
|
220 | .markdown-body span.float-right {
|
221 | display: block;
|
222 | float: right;
|
223 | margin-left: 13px;
|
224 | overflow: hidden;
|
225 | }
|
226 | .markdown-body span.float-right > span {
|
227 | display: block;
|
228 | margin: 13px auto 0;
|
229 | overflow: hidden;
|
230 | text-align: right;
|
231 | }
|
232 | .markdown-body code, .markdown-body tt {
|
233 | background-color: #F8F8F8;
|
234 | border: 1px solid #DDD;
|
235 | border-radius: 3px;
|
236 | margin: 0 2px;
|
237 | padding: 0 5px;
|
238 | }
|
239 | .markdown-body code {
|
240 | white-space: nowrap;
|
241 | }
|
242 | .markdown-body pre > code {
|
243 | border: medium none;
|
244 | margin: 0;
|
245 | padding: 0;
|
246 | white-space: pre;
|
247 | }
|
248 | .markdown-body .highlight pre, .markdown-body pre {
|
249 | background-color: #F8F8F8;
|
250 | border: 1px solid #DDD;
|
251 | border-radius: 3px;
|
252 | font-size: 13px;
|
253 | line-height: 19px;
|
254 | overflow: auto;
|
255 | padding: 6px 10px;
|
256 | }
|
257 | .markdown-body pre code, .markdown-body pre tt {
|
258 | border: medium none;
|
259 | margin: 0;
|
260 | padding: 0;
|
261 | word-wrap: normal;
|
262 | }
|
263 |
|
264 | pre, code, tt {
|
265 | font-family: Consolas,"Liberation Mono",Courier,monospace;
|
266 | font-size: 12px;
|
267 | }
|
268 |
|
269 | .highlight {
|
270 | background: #FFF;
|
271 | }
|
272 | .highlight .k,
|
273 | .highlight .o,
|
274 | .highlight .cp,
|
275 | .highlight .cs,
|
276 | .highlight .gs,
|
277 | .highlight .gu,
|
278 | .highlight .kc,
|
279 | .highlight .kd,
|
280 | .highlight .kn,
|
281 | .highlight .kp,
|
282 | .highlight .kr,
|
283 | .highlight .kt,
|
284 | .highlight .nc,
|
285 | .highlight .ne,
|
286 | .highlight .nf,
|
287 | .highlight .ow {
|
288 | font-weight: bold;
|
289 | }
|
290 | .highlight .gd,
|
291 | .highlight .gd .x,
|
292 | .highlight .gi,
|
293 | .highlight .gi .x,
|
294 | .type-csharp .highlight .nf,
|
295 | .type-csharp .highlight .nn {
|
296 | color: #000;
|
297 | }
|
298 | .highlight .c,
|
299 | .highlight .cm,
|
300 | .highlight .c1 {
|
301 | color: #998;
|
302 | font-style: italic;
|
303 | }
|
304 | .highlight .err {
|
305 | background-color: #E3D2D2;
|
306 | color: #A61717;
|
307 | }
|
308 | .highlight .cp,
|
309 | .highlight .cs {
|
310 | color: #999;
|
311 | }
|
312 | .highlight .cs,
|
313 | .highlight .ge {
|
314 | font-style: italic;
|
315 | }
|
316 | .highlight .gd {
|
317 | background-color: #FDD;
|
318 | }
|
319 | .highlight .gd .x {
|
320 | background-color: #FAA;
|
321 | }
|
322 | .highlight .gr,
|
323 | .highlight .gt {
|
324 | color: #A00;
|
325 | }
|
326 | .highlight .gh {
|
327 | color: #999;
|
328 | }
|
329 | .highlight .gi {
|
330 | background-color: #DFD;
|
331 | }
|
332 | .highlight .gi .x {
|
333 | background-color: #AFA;
|
334 | }
|
335 | .highlight .go {
|
336 | color: #888;
|
337 | }
|
338 | .highlight .gp,
|
339 | .highlight .nn {
|
340 | color: #555;
|
341 | }
|
342 | .highlight .gu,
|
343 | .highlight .ni {
|
344 | color: #800080;
|
345 | }
|
346 | .highlight .kt {
|
347 | color: #458;
|
348 | }
|
349 | .highlight .m {
|
350 | color: #099;
|
351 | }
|
352 | .highlight .s {
|
353 | color: #D14;
|
354 | }
|
355 | .highlight .n {
|
356 | color: #333;
|
357 | }
|
358 | .highlight .na,
|
359 | .highlight .no,
|
360 | .highlight .nv,
|
361 | .highlight .vc,
|
362 | .highlight .vg,
|
363 | .highlight .vi {
|
364 | color: #008080;
|
365 | }
|
366 | .highlight .nb {
|
367 | color: #0086B3;
|
368 | }
|
369 | .highlight .nc {
|
370 | color: #458;
|
371 | }
|
372 | .highlight .ne,
|
373 | .highlight .nf {
|
374 | color: #900;
|
375 | }
|
376 | .highlight .nt {
|
377 | color: #000080;
|
378 | }
|
379 | .highlight .w {
|
380 | color: #BBB;
|
381 | }
|
382 | .highlight .mf,
|
383 | .highlight .mh,
|
384 | .highlight .mi,
|
385 | .highlight .mo {
|
386 | color: #099;
|
387 | }
|
388 | .highlight .sb,
|
389 | .highlight .sc,
|
390 | .highlight .sd,
|
391 | .highlight .s2,
|
392 | .highlight .se,
|
393 | .highlight .sh,
|
394 | .highlight .si,
|
395 | .highlight .sx,
|
396 | .highlight .s1 {
|
397 | color: #D14;
|
398 | }
|
399 | .highlight .sr {
|
400 | color: #009926;
|
401 | }
|
402 | .highlight .ss {
|
403 | color: #990073;
|
404 | }
|
405 | .highlight .bp {
|
406 | color: #999;
|
407 | }
|
408 | .highlight .il {
|
409 | color: #099;
|
410 | }
|
411 | .highlight .gc {
|
412 | background-color: #EAF2F5;
|
413 | color: #999;
|
414 | }
|
415 | .type-csharp .highlight .k,
|
416 | .type-csharp .highlight .kt {
|
417 | color: #00F;
|
418 | }
|
419 | .type-csharp .highlight .nf {
|
420 | font-weight: normal;
|
421 | }
|
422 | .type-csharp .highlight .nc {
|
423 | color: #2B91AF;
|
424 | }
|
425 | .type-csharp .highlight .s,
|
426 | .type-csharp .highlight .sc {
|
427 | color: #A31515;
|
428 | }
|
429 |
|
430 | </style>
|
431 |
|
432 |
|
433 | <script type="text/javascript">
|
434 |
|
435 | function getDocumentScrollTop()
|
436 | {
|
437 | var res = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset || 0;
|
438 |
|
439 | return res;
|
440 | }
|
441 |
|
442 | function setDocumentScrollTop(ypos)
|
443 | {
|
444 | window.scrollTo(0, ypos);
|
445 | }
|
446 |
|
447 | </script>
|
448 |
|
449 |
|
450 | </head>
|
451 | <body class="markdown-body">
|
452 | <h1> <a name="user-content-nam-adapter" class="anchor" href="..md.html#nam-adapter" aria-hidden="true"><span class="octicon octicon-link"></span></a>NAM Adapter</h1>
|
453 | <p>NAM Adapter is the component in charge of the Network Active Monitoring data within the XIFI Infrastructure Monitoring Middleware (XIMM) (initial description and concepts provided in the <a href="http://wiki.fi-xifi.eu/Public:D3.1">deliverable D3.1- XIFI infrastructure adaptation components API open specification</a>). This component provides a multi-domain monitoring mechanism able to handle latency and bandwidth-related tests along a set of points of interest within the federated community. </p>
|
454 | <h2> <a name="user-content-install" class="anchor" href="..md.html#install" aria-hidden="true"><span class="octicon octicon-link"></span></a>Install</h2>
|
455 | <h3> <a name="user-content-installation-requirements" class="anchor" href="..md.html#installation-requirements" aria-hidden="true"><span class="octicon octicon-link"></span></a>Installation Requirements</h3>
|
456 | <p>The main recommendation to install the NAM Adapter is to deploy the software package on a host with Ubuntu/ Debian running as Operating System. If this was not the case, it would be necessary to check how to install additional packages that are required. NAM's software repository has been successfully tested with versions 12.10 and 13.10 of Ubuntu, and version 7.3 of Debian. No major issues are expected for upcoming versions. </p>
|
457 | <p>In order to work properly, the component requires the following set of software modules: </p>
|
458 | <ul>
|
459 | <li>Node.js</li>
|
460 | <li>MongoDB</li>
|
461 | <li>NTP</li>
|
462 | <li>Iperf</li>
|
463 | </ul>
|
464 | <p>The required software can be installed manually from the default Debian/Ubuntu repositories by using the following commands:</p>
|
465 | <p>Install Node-js</p>
|
466 | <pre><code> $ sudo apt-get update
|
467 | $ sudo apt-get install -y python-software-properties python g++ make
|
468 | $ sudo add-apt-repository -y ppa:chris-lea/node.js
|
469 | $ sudo apt-get update
|
470 | $ sudo apt-get install nodejs
|
471 | </code></pre>
|
472 | <p>Install mongodb</p>
|
473 | <pre><code> $ sudo apt-get install mongodb
|
474 | </code></pre>
|
475 | <p>Install iperf</p>
|
476 | <pre><code> $ sudo apt-get install iperf
|
477 | </code></pre>
|
478 | <h3> <a name="user-content-installation-of-the-nam-adapter-in-debianubuntu" class="anchor" href="..md.html#installation-of-the-nam-adapter-in-debianubuntu" aria-hidden="true"><span class="octicon octicon-link"></span></a>Installation of the NAM Adapter in Debian/Ubuntu</h3>
|
479 | <p>For install nam adapter uses the following command:</p>
|
480 | <pre><code>sudo npm nam_adapter
|
481 | </code></pre>
|
482 | <h2> <a name="user-content-usage" class="anchor" href="..md.html#usage" aria-hidden="true"><span class="octicon octicon-link"></span></a>Usage</h2>
|
483 | <h3> <a name="user-content-request-an-on-demand-test-between-endpoints" class="anchor" href="..md.html#request-an-on-demand-test-between-endpoints" aria-hidden="true"><span class="octicon octicon-link"></span></a>Request an On-Demand Test between endpoints</h3>
|
484 | <p>A Call instance resource represents a measure between a host A and host B. The following parameters are needed to run Test On-Demand (OWD or BDW):</p>
|
485 | <ul>
|
486 | <li>URI: http://{hostServerNAM}:{portNAM}/monitoring/host2hosts/{serviceType}/{regionId_Source}-{hostId_Source};{regionId_Destination}-{hostId_Destination} </li>
|
487 | <li>Method: GET </li>
|
488 | <li>Content-Type: Application/JSON </li>
|
489 | <li>Query string parameters: ?format=XML/JSON/TXT </li>
|
490 | <li>Request body: none </li>
|
491 | </ul>
|
492 | <p>Example of usage: </p>
|
493 | <pre><code>curl --header "{my-token}" "http://138.4.47.33:3000/monitoring/host2hosts/owd/Trento-193.205.211.69;Waterford-193.1.202.133"
|
494 | </code></pre>
|
495 | <h2> <a name="user-content-developing" class="anchor" href="..md.html#developing" aria-hidden="true"><span class="octicon octicon-link"></span></a>Developing</h2>
|
496 | <h3> <a name="user-content-tools" class="anchor" href="..md.html#tools" aria-hidden="true"><span class="octicon octicon-link"></span></a>Tools</h3>
|
497 | </body>
|
498 | </html>
|