GUI -- Fixed link lookup bug when removing links.
- fixed and extended the 'startup' test scenario to show device coming online (and links added), followed by device going offline (and links removed). Change-Id: I58f79b5b16d37504793f36db9959f8c3c26b5261
Showing
44 changed files
with
227 additions
and
86 deletions
| ... | @@ -5,5 +5,9 @@ | ... | @@ -5,5 +5,9 @@ |
| 5 | "title": "Host Intent Scenario", | 5 | "title": "Host Intent Scenario", |
| 6 | "params": { | 6 | "params": { |
| 7 | "lastAuto": 0 | 7 | "lastAuto": 0 |
| 8 | - } | 8 | + }, |
| 9 | + "description": [ | ||
| 10 | + "Currently this is just a sketch of the event sequence,", | ||
| 11 | + " but is NOT YET a runnable scenario." | ||
| 12 | + ] | ||
| 9 | } | 13 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff04", | 4 | "id": "of:0000ffffffffff04", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff04", | 8 | "0000ffffffffff04", |
| 9 | "FF:FF:FF:FF:FF:04", | 9 | "FF:FF:FF:FF:FF:04", | ... | ... |
| ... | @@ -3,15 +3,15 @@ | ... | @@ -3,15 +3,15 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff000A", | 4 | "id": "of:0000ffffffff000A", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff000A", | 8 | "0000ffffffff000A", |
| 9 | "FF:FF:FF:FF:00:0A", | 9 | "FF:FF:FF:FF:00:0A", |
| 10 | "?" | 10 | "?" |
| 11 | ], | 11 | ], |
| 12 | "metaUi": { | 12 | "metaUi": { |
| 13 | - "Zx": 832, | 13 | + "x": 832, |
| 14 | - "Zy": 223 | 14 | + "y": 223 |
| 15 | } | 15 | } |
| 16 | } | 16 | } |
| 17 | } | 17 | } | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff0001", | 4 | "id": "of:0000ffffffff0001", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff0001", | 8 | "0000ffffffff0001", |
| 9 | "FF:FF:FF:FF:00:01", | 9 | "FF:FF:FF:FF:00:01", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff01", | 4 | "id": "of:0000ffffffffff01", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff01", | 8 | "0000ffffffffff01", |
| 9 | "FF:FF:FF:FF:FF:01", | 9 | "FF:FF:FF:FF:FF:01", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff0004", | 4 | "id": "of:0000ffffffff0004", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff0004", | 8 | "0000ffffffff0004", |
| 9 | "FF:FF:FF:FF:00:04", | 9 | "FF:FF:FF:FF:00:04", | ... | ... |
| ... | @@ -3,15 +3,15 @@ | ... | @@ -3,15 +3,15 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff0A", | 4 | "id": "of:0000ffffffffff0A", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff0A", | 8 | "0000ffffffffff0A", |
| 9 | "FF:FF:FF:FF:FF:0A", | 9 | "FF:FF:FF:FF:FF:0A", |
| 10 | "?" | 10 | "?" |
| 11 | ], | 11 | ], |
| 12 | "metaUi": { | 12 | "metaUi": { |
| 13 | - "Zx": 840, | 13 | + "x": 840, |
| 14 | - "Zy": 290 | 14 | + "y": 290 |
| 15 | } | 15 | } |
| 16 | } | 16 | } |
| 17 | } | 17 | } | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff09", | 4 | "id": "of:0000ffffffffff09", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff09", | 8 | "0000ffffffffff09", |
| 9 | "FF:FF:FF:FF:FF:09", | 9 | "FF:FF:FF:FF:FF:09", | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff02/20-of:0000ffffffffff05/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 4 | "src": "of:0000ffffffffff02", | 7 | "src": "of:0000ffffffffff02", |
| 5 | "srcPort": "20", | 8 | "srcPort": "20", |
| 6 | "dst": "of:0000ffffffffff05", | 9 | "dst": "of:0000ffffffffff05", |
| 7 | "dstPort": "10", | 10 | "dstPort": "10", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 6, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "80 G" | 12 | "BW": "80 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffff000A/2-of:0000ffffffffff0A/1", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffff000A", | 7 | "src": "of:0000ffffffff000A", |
| 5 | "srcPort": "2", | 8 | "srcPort": "2", |
| 6 | "dst": "of:0000ffffffffff0A", | 9 | "dst": "of:0000ffffffffff0A", |
| 7 | "dstPort": "1", | 10 | "dstPort": "1", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "100 G" | 12 | "BW": "100 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff03/10-of:0000ffffffffff02/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff03", | 7 | "src": "of:0000ffffffffff03", |
| 5 | "srcPort": "10", | 8 | "srcPort": "10", |
| 6 | "dst": "of:0000ffffffffff02", | 9 | "dst": "of:0000ffffffffff02", |
| 7 | "dstPort": "10", | 10 | "dstPort": "10", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff08", | 4 | "id": "of:0000ffffffffff08", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff08", | 8 | "0000ffffffffff08", |
| 9 | "FF:FF:FF:FF:FF:08", | 9 | "FF:FF:FF:FF:FF:08", | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff07/21-of:0000ffffffffff05/20", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff07", | 7 | "src": "of:0000ffffffffff07", |
| 5 | "srcPort": "21", | 8 | "srcPort": "21", |
| 6 | "dst": "of:0000ffffffffff05", | 9 | "dst": "of:0000ffffffffff05", |
| 7 | "dstPort": "20", | 10 | "dstPort": "20", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffff0001/2-of:0000ffffffffff01/1", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffff0001", | 7 | "src": "of:0000ffffffff0001", |
| 5 | "srcPort": "2", | 8 | "srcPort": "2", |
| 6 | "dst": "of:0000ffffffffff01", | 9 | "dst": "of:0000ffffffffff01", |
| 7 | "dstPort": "1", | 10 | "dstPort": "1", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff09/20-of:0000ffffffffff0A/20", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff09", | 7 | "src": "of:0000ffffffffff09", |
| 5 | "srcPort": "20", | 8 | "srcPort": "20", |
| 6 | "dst": "of:0000ffffffffff0A", | 9 | "dst": "of:0000ffffffffff0A", |
| 7 | "dstPort": "20", | 10 | "dstPort": "20", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffffff06", | 4 | + "id": "of:0000ffffffffff07/30-of:0000ffffffffff08/20", |
| 5 | - "srcPort": "20", | ||
| 6 | - "dst": "of:0000ffffffffff05", | ||
| 7 | - "dstPort": "30", | ||
| 8 | "type": "optical", | 5 | "type": "optical", |
| 9 | - "linkWidth": 6, | 6 | + "linkWidth": 4, |
| 7 | + "src": "of:0000ffffffffff07", | ||
| 8 | + "srcPort": "30", | ||
| 9 | + "dst": "of:0000ffffffffff08", | ||
| 10 | + "dstPort": "20", | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffffff07", | 4 | + "id": "of:0000ffffffffff02/10-of:0000ffffffffff01/10", |
| 5 | - "srcPort": "30", | ||
| 6 | - "dst": "of:0000ffffffffff08", | ||
| 7 | - "dstPort": "20", | ||
| 8 | "type": "optical", | 5 | "type": "optical", |
| 9 | - "linkWidth": 6, | 6 | + "linkWidth": 2, |
| 7 | + "src": "of:0000ffffffffff02", | ||
| 8 | + "srcPort": "10", | ||
| 9 | + "dst": "of:0000ffffffffff01", | ||
| 10 | + "dstPort": "10", | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffffff03", | 4 | + "id": "of:0000ffffffffff04/27-of:0000ffffffffff08/10", |
| 5 | - "srcPort": "20", | 5 | + "src": "of:0000ffffffffff04", |
| 6 | - "dst": "of:0000ffffffffff06", | 6 | + "srcPort": "27", |
| 7 | + "dst": "of:0000ffffffffff08", | ||
| 7 | "dstPort": "10", | 8 | "dstPort": "10", |
| 8 | "type": "optical", | 9 | "type": "optical", |
| 9 | "linkWidth": 2, | 10 | "linkWidth": 2, |
| 10 | "props" : { | 11 | "props" : { |
| 11 | - "BW": "70 G" | 12 | + "BW": "30 G" |
| 12 | } | 13 | } |
| 13 | } | 14 | } |
| 14 | } | 15 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffffff02", | 4 | + "id": "of:0000ffffffff0003/2-of:0000ffffffffff03/1", |
| 5 | - "srcPort": "10", | ||
| 6 | - "dst": "of:0000ffffffffff01", | ||
| 7 | - "dstPort": "10", | ||
| 8 | "type": "optical", | 5 | "type": "optical", |
| 9 | "linkWidth": 2, | 6 | "linkWidth": 2, |
| 7 | + "src": "of:0000ffffffff0003", | ||
| 8 | + "srcPort": "2", | ||
| 9 | + "dst": "of:0000ffffffffff03", | ||
| 10 | + "dstPort": "1", | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff09/1-of:0000ffffffff0009/2", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff09", | 7 | "src": "of:0000ffffffffff09", |
| 5 | "srcPort": "1", | 8 | "srcPort": "1", |
| 6 | "dst": "of:0000ffffffff0009", | 9 | "dst": "of:0000ffffffff0009", |
| 7 | "dstPort": "2", | 10 | "dstPort": "2", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff03/30-of:0000ffffffffff04/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff03", | 7 | "src": "of:0000ffffffffff03", |
| 5 | "srcPort": "30", | 8 | "srcPort": "30", |
| 6 | "dst": "of:0000ffffffffff04", | 9 | "dst": "of:0000ffffffffff04", |
| 7 | "dstPort": "10", | 10 | "dstPort": "10", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff07/20-of:0000ffffffffff09/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff07", | 7 | "src": "of:0000ffffffffff07", |
| 5 | "srcPort": "20", | 8 | "srcPort": "20", |
| 6 | "dst": "of:0000ffffffffff09", | 9 | "dst": "of:0000ffffffffff09", |
| 7 | "dstPort": "10", | 10 | "dstPort": "10", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff03", | 4 | "id": "of:0000ffffffffff03", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff03", | 8 | "0000ffffffffff03", |
| 9 | "FF:FF:FF:FF:FF:03", | 9 | "FF:FF:FF:FF:FF:03", | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff0A/10-of:0000ffffffffff08/30", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 4 | "src": "of:0000ffffffffff0A", | 7 | "src": "of:0000ffffffffff0A", |
| 5 | "srcPort": "10", | 8 | "srcPort": "10", |
| 6 | "dst": "of:0000ffffffffff08", | 9 | "dst": "of:0000ffffffffff08", |
| 7 | "dstPort": "30", | 10 | "dstPort": "30", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 6, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffff0004/2-of:0000ffffffffff04/1", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffff0004", | 7 | "src": "of:0000ffffffff0004", |
| 5 | "srcPort": "2", | 8 | "srcPort": "2", |
| 6 | "dst": "of:0000ffffffffff04", | 9 | "dst": "of:0000ffffffffff04", |
| 7 | "dstPort": "1", | 10 | "dstPort": "1", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff07/1-of:0000ffffffff0007/2", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 2, | ||
| 4 | "src": "of:0000ffffffffff07", | 7 | "src": "of:0000ffffffffff07", |
| 5 | "srcPort": "1", | 8 | "srcPort": "1", |
| 6 | "dst": "of:0000ffffffff0007", | 9 | "dst": "of:0000ffffffff0007", |
| 7 | "dstPort": "2", | 10 | "dstPort": "2", |
| 8 | - "type": "optical", | ||
| 9 | - "linkWidth": 2, | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | - "event": "addLink", | 2 | + "event": "updateDevice", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffff0003", | 4 | + "id": "of:0000ffffffffff06", |
| 5 | - "srcPort": "2", | 5 | + "type": "roadm", |
| 6 | - "dst": "of:0000ffffffffff03", | 6 | + "online": true, |
| 7 | - "dstPort": "1", | 7 | + "labels": [ |
| 8 | - "type": "optical", | 8 | + "0000ffffffffff06", |
| 9 | - "linkWidth": 2, | 9 | + "FF:FF:FF:FF:FF:06", |
| 10 | - "props" : { | 10 | + "?" |
| 11 | - "BW": "70 G" | 11 | + ], |
| 12 | + "metaUi": { | ||
| 13 | + "x": 336, | ||
| 14 | + "y": 254 | ||
| 12 | } | 15 | } |
| 13 | } | 16 | } |
| 14 | } | 17 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | + "id": "of:0000ffffffffff06/20-of:0000ffffffffff05/30", | ||
| 4 | "src": "of:0000ffffffffff06", | 5 | "src": "of:0000ffffffffff06", |
| 5 | - "srcPort": "30", | 6 | + "srcPort": "20", |
| 6 | - "dst": "of:0000ffffffffff08", | 7 | + "dst": "of:0000ffffffffff05", |
| 7 | - "dstPort": "10", | 8 | + "dstPort": "30", |
| 8 | "type": "optical", | 9 | "type": "optical", |
| 9 | - "linkWidth": 6, | 10 | + "linkWidth": 4, |
| 10 | "props" : { | 11 | "props" : { |
| 11 | "BW": "70 G" | 12 | "BW": "70 G" |
| 12 | } | 13 | } | ... | ... |
| 1 | { | 1 | { |
| 2 | "event": "addLink", | 2 | "event": "addLink", |
| 3 | "payload": { | 3 | "payload": { |
| 4 | - "src": "of:0000ffffffffff04", | 4 | + "id": "of:0000ffffffffff03/20-of:0000ffffffffff06/10", |
| 5 | - "srcPort": "27", | ||
| 6 | - "dst": "of:0000ffffffffff08", | ||
| 7 | - "dstPort": "10", | ||
| 8 | "type": "optical", | 5 | "type": "optical", |
| 9 | "linkWidth": 2, | 6 | "linkWidth": 2, |
| 7 | + "src": "of:0000ffffffffff03", | ||
| 8 | + "srcPort": "20", | ||
| 9 | + "dst": "of:0000ffffffffff06", | ||
| 10 | + "dstPort": "10", | ||
| 10 | "props" : { | 11 | "props" : { |
| 11 | - "BW": "30 G" | 12 | + "BW": "70 G" |
| 12 | } | 13 | } |
| 13 | } | 14 | } |
| 14 | } | 15 | } | ... | ... |
| 1 | +{ | ||
| 2 | + "event": "addLink", | ||
| 3 | + "payload": { | ||
| 4 | + "id": "of:0000ffffffffff06/30-of:0000ffffffffff08/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 7 | + "src": "of:0000ffffffffff06", | ||
| 8 | + "srcPort": "30", | ||
| 9 | + "dst": "of:0000ffffffffff08", | ||
| 10 | + "dstPort": "10", | ||
| 11 | + "props" : { | ||
| 12 | + "BW": "70 G" | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} |
| 1 | +{ | ||
| 2 | + "event": "removeLink", | ||
| 3 | + "payload": { | ||
| 4 | + "id": "of:0000ffffffffff07/30-of:0000ffffffffff08/20", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 7 | + "src": "of:0000ffffffffff07", | ||
| 8 | + "srcPort": "30", | ||
| 9 | + "dst": "of:0000ffffffffff08", | ||
| 10 | + "dstPort": "20", | ||
| 11 | + "props" : { | ||
| 12 | + "BW": "70 G" | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} |
| 1 | +{ | ||
| 2 | + "event": "removeLink", | ||
| 3 | + "payload": { | ||
| 4 | + "id": "of:0000ffffffffff04/27-of:0000ffffffffff08/10", | ||
| 5 | + "src": "of:0000ffffffffff04", | ||
| 6 | + "srcPort": "27", | ||
| 7 | + "dst": "of:0000ffffffffff08", | ||
| 8 | + "dstPort": "10", | ||
| 9 | + "type": "optical", | ||
| 10 | + "linkWidth": 2, | ||
| 11 | + "props" : { | ||
| 12 | + "BW": "30 G" | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff0007", | 4 | "id": "of:0000ffffffff0007", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff0007", | 8 | "0000ffffffff0007", |
| 9 | "FF:FF:FF:FF:00:07", | 9 | "FF:FF:FF:FF:00:07", | ... | ... |
| 1 | +{ | ||
| 2 | + "event": "removeLink", | ||
| 3 | + "payload": { | ||
| 4 | + "id": "of:0000ffffffffff0A/10-of:0000ffffffffff08/30", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 7 | + "src": "of:0000ffffffffff0A", | ||
| 8 | + "srcPort": "10", | ||
| 9 | + "dst": "of:0000ffffffffff08", | ||
| 10 | + "dstPort": "30", | ||
| 11 | + "props" : { | ||
| 12 | + "BW": "70 G" | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} |
| 1 | +{ | ||
| 2 | + "event": "removeLink", | ||
| 3 | + "payload": { | ||
| 4 | + "id": "of:0000ffffffffff06/30-of:0000ffffffffff08/10", | ||
| 5 | + "type": "optical", | ||
| 6 | + "linkWidth": 4, | ||
| 7 | + "src": "of:0000ffffffffff06", | ||
| 8 | + "srcPort": "30", | ||
| 9 | + "dst": "of:0000ffffffffff08", | ||
| 10 | + "dstPort": "10", | ||
| 11 | + "props" : { | ||
| 12 | + "BW": "70 G" | ||
| 13 | + } | ||
| 14 | + } | ||
| 15 | +} |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff0009", | 4 | "id": "of:0000ffffffff0009", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff0009", | 8 | "0000ffffffff0009", |
| 9 | "FF:FF:FF:FF:00:09", | 9 | "FF:FF:FF:FF:00:09", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff02", | 4 | "id": "of:0000ffffffffff02", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff02", | 8 | "0000ffffffffff02", |
| 9 | "FF:FF:FF:FF:FF:02", | 9 | "FF:FF:FF:FF:FF:02", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffff0003", | 4 | "id": "of:0000ffffffff0003", |
| 5 | "type": "switch", | 5 | "type": "switch", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffff0003", | 8 | "0000ffffffff0003", |
| 9 | "FF:FF:FF:FF:00:03", | 9 | "FF:FF:FF:FF:00:03", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff07", | 4 | "id": "of:0000ffffffffff07", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff07", | 8 | "0000ffffffffff07", |
| 9 | "FF:FF:FF:FF:FF:07", | 9 | "FF:FF:FF:FF:FF:07", | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "payload": { | 3 | "payload": { |
| 4 | "id": "of:0000ffffffffff05", | 4 | "id": "of:0000ffffffffff05", |
| 5 | "type": "roadm", | 5 | "type": "roadm", |
| 6 | - "online": false, | 6 | + "online": true, |
| 7 | "labels": [ | 7 | "labels": [ |
| 8 | "0000ffffffffff05", | 8 | "0000ffffffffff05", |
| 9 | "FF:FF:FF:FF:FF:05", | 9 | "FF:FF:FF:FF:FF:05", | ... | ... |
| ... | @@ -6,5 +6,15 @@ | ... | @@ -6,5 +6,15 @@ |
| 6 | "title": "Startup Scenario", | 6 | "title": "Startup Scenario", |
| 7 | "params": { | 7 | "params": { |
| 8 | "lastAuto": 32 | 8 | "lastAuto": 32 |
| 9 | - } | 9 | + }, |
| 10 | + "description": [ | ||
| 11 | + "Loads 16 devices (10 optical, 6 packet)", | ||
| 12 | + " and their associated links.", | ||
| 13 | + "", | ||
| 14 | + "Press 'S' to load initial events.", | ||
| 15 | + "", | ||
| 16 | + "Press spacebar to complete the scenario...", | ||
| 17 | + " * 4 events - device online, add 3 links", | ||
| 18 | + " * 5 events - device offline, remove 4 links" | ||
| 19 | + ] | ||
| 10 | } | 20 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -30,6 +30,7 @@ | ... | @@ -30,6 +30,7 @@ |
| 30 | // configuration data | 30 | // configuration data |
| 31 | var config = { | 31 | var config = { |
| 32 | useLiveData: true, | 32 | useLiveData: true, |
| 33 | + fnTrace: true, | ||
| 33 | debugOn: false, | 34 | debugOn: false, |
| 34 | debug: { | 35 | debug: { |
| 35 | showNodeXY: true, | 36 | showNodeXY: true, |
| ... | @@ -180,6 +181,11 @@ | ... | @@ -180,6 +181,11 @@ |
| 180 | return config.debugOn && config.debug[what]; | 181 | return config.debugOn && config.debug[what]; |
| 181 | } | 182 | } |
| 182 | 183 | ||
| 184 | + function fnTrace(msg, id) { | ||
| 185 | + if (config.fnTrace) { | ||
| 186 | + console.log('FN: ' + msg + ' [' + id + ']'); | ||
| 187 | + } | ||
| 188 | + } | ||
| 183 | 189 | ||
| 184 | // ============================== | 190 | // ============================== |
| 185 | // Key Callbacks | 191 | // Key Callbacks |
| ... | @@ -220,7 +226,7 @@ | ... | @@ -220,7 +226,7 @@ |
| 220 | var v = scenario.view, | 226 | var v = scenario.view, |
| 221 | frame; | 227 | frame; |
| 222 | if (stack.length === 0) { | 228 | if (stack.length === 0) { |
| 223 | - v.alert('Error:\n\nNo event #' + evn + ' found.'); | 229 | + v.alert('Oops!\n\nNo event #' + evn + ' found.'); |
| 224 | return; | 230 | return; |
| 225 | } | 231 | } |
| 226 | frame = stack.shift(); | 232 | frame = stack.shift(); |
| ... | @@ -334,6 +340,7 @@ | ... | @@ -334,6 +340,7 @@ |
| 334 | function logicError(msg) { | 340 | function logicError(msg) { |
| 335 | // TODO, report logic error to server, via websock, so it can be logged | 341 | // TODO, report logic error to server, via websock, so it can be logged |
| 336 | network.view.alert('Logic Error:\n\n' + msg); | 342 | network.view.alert('Logic Error:\n\n' + msg); |
| 343 | + console.warn(msg); | ||
| 337 | } | 344 | } |
| 338 | 345 | ||
| 339 | var eventDispatch = { | 346 | var eventDispatch = { |
| ... | @@ -350,6 +357,7 @@ | ... | @@ -350,6 +357,7 @@ |
| 350 | }; | 357 | }; |
| 351 | 358 | ||
| 352 | function addDevice(data) { | 359 | function addDevice(data) { |
| 360 | + fnTrace('addDevice', data.payload.id); | ||
| 353 | var device = data.payload, | 361 | var device = data.payload, |
| 354 | nodeData = createDeviceNode(device); | 362 | nodeData = createDeviceNode(device); |
| 355 | network.nodes.push(nodeData); | 363 | network.nodes.push(nodeData); |
| ... | @@ -359,6 +367,7 @@ | ... | @@ -359,6 +367,7 @@ |
| 359 | } | 367 | } |
| 360 | 368 | ||
| 361 | function addLink(data) { | 369 | function addLink(data) { |
| 370 | + fnTrace('addLink', data.payload.id); | ||
| 362 | var link = data.payload, | 371 | var link = data.payload, |
| 363 | lnk = createLink(link); | 372 | lnk = createLink(link); |
| 364 | if (lnk) { | 373 | if (lnk) { |
| ... | @@ -370,6 +379,7 @@ | ... | @@ -370,6 +379,7 @@ |
| 370 | } | 379 | } |
| 371 | 380 | ||
| 372 | function addHost(data) { | 381 | function addHost(data) { |
| 382 | + fnTrace('addHost', data.payload.id); | ||
| 373 | var host = data.payload, | 383 | var host = data.payload, |
| 374 | node = createHostNode(host), | 384 | node = createHostNode(host), |
| 375 | lnk; | 385 | lnk; |
| ... | @@ -388,6 +398,7 @@ | ... | @@ -388,6 +398,7 @@ |
| 388 | } | 398 | } |
| 389 | 399 | ||
| 390 | function updateDevice(data) { | 400 | function updateDevice(data) { |
| 401 | + fnTrace('updateDevice', data.payload.id); | ||
| 391 | var device = data.payload, | 402 | var device = data.payload, |
| 392 | id = device.id, | 403 | id = device.id, |
| 393 | nodeData = network.lookup[id]; | 404 | nodeData = network.lookup[id]; |
| ... | @@ -400,6 +411,7 @@ | ... | @@ -400,6 +411,7 @@ |
| 400 | } | 411 | } |
| 401 | 412 | ||
| 402 | function updateLink(data) { | 413 | function updateLink(data) { |
| 414 | + fnTrace('updateLink', data.payload.id); | ||
| 403 | var link = data.payload, | 415 | var link = data.payload, |
| 404 | id = link.id, | 416 | id = link.id, |
| 405 | linkData = network.lookup[id]; | 417 | linkData = network.lookup[id]; |
| ... | @@ -412,6 +424,7 @@ | ... | @@ -412,6 +424,7 @@ |
| 412 | } | 424 | } |
| 413 | 425 | ||
| 414 | function updateHost(data) { | 426 | function updateHost(data) { |
| 427 | + fnTrace('updateHost', data.payload.id); | ||
| 415 | var host = data.payload, | 428 | var host = data.payload, |
| 416 | id = host.id, | 429 | id = host.id, |
| 417 | hostData = network.lookup[id]; | 430 | hostData = network.lookup[id]; |
| ... | @@ -424,6 +437,7 @@ | ... | @@ -424,6 +437,7 @@ |
| 424 | } | 437 | } |
| 425 | 438 | ||
| 426 | function removeLink(data) { | 439 | function removeLink(data) { |
| 440 | + fnTrace('removeLink', data.payload.id); | ||
| 427 | var link = data.payload, | 441 | var link = data.payload, |
| 428 | id = link.id, | 442 | id = link.id, |
| 429 | linkData = network.lookup[id]; | 443 | linkData = network.lookup[id]; |
| ... | @@ -435,6 +449,7 @@ | ... | @@ -435,6 +449,7 @@ |
| 435 | } | 449 | } |
| 436 | 450 | ||
| 437 | function showPath(data) { | 451 | function showPath(data) { |
| 452 | + fnTrace('showPath', data.payload.id); | ||
| 438 | var links = data.payload.links, | 453 | var links = data.payload.links, |
| 439 | s = [ data.event + "\n" + links.length ]; | 454 | s = [ data.event + "\n" + links.length ]; |
| 440 | links.forEach(function (d, i) { | 455 | links.forEach(function (d, i) { |
| ... | @@ -883,7 +898,7 @@ | ... | @@ -883,7 +898,7 @@ |
| 883 | // remove from links array | 898 | // remove from links array |
| 884 | var idx = find(linkData.id, network.links); | 899 | var idx = find(linkData.id, network.links); |
| 885 | 900 | ||
| 886 | - network.links.splice(linkData.index, 1); | 901 | + network.links.splice(idx, 1); |
| 887 | // remove from SVG | 902 | // remove from SVG |
| 888 | updateLinks(); | 903 | updateLinks(); |
| 889 | } | 904 | } |
| ... | @@ -1058,13 +1073,12 @@ | ... | @@ -1058,13 +1073,12 @@ |
| 1058 | d3.json(urlSc, function(err, data) { | 1073 | d3.json(urlSc, function(err, data) { |
| 1059 | var p = data && data.params || {}, | 1074 | var p = data && data.params || {}, |
| 1060 | desc = data && data.description || null, | 1075 | desc = data && data.description || null, |
| 1061 | - intro; | 1076 | + intro = data && data.title; |
| 1062 | 1077 | ||
| 1063 | if (err) { | 1078 | if (err) { |
| 1064 | view.alert('No scenario found:\n\n' + urlSc + '\n\n' + err); | 1079 | view.alert('No scenario found:\n\n' + urlSc + '\n\n' + err); |
| 1065 | } else { | 1080 | } else { |
| 1066 | sc.params = p; | 1081 | sc.params = p; |
| 1067 | - intro = "Scenario loaded: " + ctx + '\n\n' + data.title; | ||
| 1068 | if (desc) { | 1082 | if (desc) { |
| 1069 | intro += '\n\n ' + desc.join('\n '); | 1083 | intro += '\n\n ' + desc.join('\n '); |
| 1070 | } | 1084 | } | ... | ... |
-
Please register or login to post a comment