2 Documentation Test suite for RESTCONF inventory
3 Suite Setup Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
4 Suite Teardown Delete All Sessions
6 Library RequestsLibrary
7 Library ../../../libraries/Common.py
8 Variables ../../../variables/Variables.py
9 Resource ../../../libraries/Utils.robot
12 ${REST_CONTEXT} /restconf/operational/opendaylight-inventory:nodes
13 ${VENDOR} Nicira, Inc.
14 ${HARDWARE} Open vSwitch
15 @{node_list} openflow:1 openflow:2 openflow:3
19 [Documentation] Get the inventory
20 Set Suite Variable ${SW_IPADDRESS} "flow-node-inventory:ip-address":"${MININET}"
21 Set Suite Variable ${SW_VENDOR} "flow-node-inventory:manufacturer":"${VENDOR}"
22 Set Suite Variable ${SW_HARDWARE} "flow-node-inventory:manufacturer":"${HARDWARE}"
23 Set Suite Variable @{SW_CAPABILITIES} "flow-node-inventory:flow-feature-capability-flow-stats" "flow-node-inventory:flow-feature-capability-table-stats" "flow-node-inventory:flow-feature-capability-port-stats" "flow-node-inventory:flow-feature-capability-queue-stats"
24 Wait Until Keyword Succeeds 30s 2s Ensure All Nodes Are In Response ${REST_CONTEXT} ${node_list}
25 ${resp} RequestsLibrary.Get session ${REST_CONTEXT}
29 [Documentation] Get the inventory for a node
30 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:1:1
32 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1 ${list}
35 [Documentation] Get the inventory for a node
36 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:2:1
37 ... openflow:2:2 openflow:2:3
38 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2 ${list}
41 [Documentation] Get the inventory for a node
42 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:3:1
43 ... openflow:3:2 openflow:3:3
44 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:3 ${list}
47 [Documentation] Take link s1-s2 down
50 @{list} Create List "link-down":true
51 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1 ${list}
52 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3 ${list}
55 [Documentation] Take link s1-s2 up
58 @{list} Create List "link-down":false
59 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1 ${list}
60 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3 ${list}
63 [Documentation] Remove port s2-eth1
64 Write sh ovs-vsctl del-port s2 s2-eth1
66 @{list} Create List openflow:2:1
67 Wait Until Keyword Succeeds 30s 2s Check For Elements Not At URI ${REST_CONTEXT} ${list}
70 [Documentation] Add port s2-eth1, new id 4
71 Write sh ovs-vsctl add-port s2 s2-eth1
73 @{list} Create List openflow:2:4
74 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT} ${list}