2 Documentation Test suite for RESTCONF inventory
3 Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${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":"${TOOLS_SYSTEM_IP}"
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}
27 [Documentation] Check there is no link down
28 Wait Until Keyword Succeeds 30s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT} "link-down":false 11
31 [Documentation] Get the inventory for a node
32 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:1:1
34 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1 ${list}
37 [Documentation] Get the inventory for a node
38 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:2:1
39 ... openflow:2:2 openflow:2:3
40 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2 ${list}
43 [Documentation] Get the inventory for a node
44 @{list} Append To List ${SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:3:1
45 ... openflow:3:2 openflow:3:3
46 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:3 ${list}
49 [Documentation] Take link s1-s2 down
52 @{list} Create List "link-down":true
53 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1 ${list}
54 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3 ${list}
57 [Documentation] Take link s1-s2 up
60 @{list} Create List "link-down":false
61 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1 ${list}
62 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3 ${list}
65 [Documentation] Remove port s2-eth1
66 Write sh ovs-vsctl del-port s2 s2-eth1
68 @{list} Create List openflow:2:1
69 Wait Until Keyword Succeeds 30s 2s Check For Elements Not At URI ${REST_CONTEXT} ${list}
72 [Documentation] Add port s2-eth1, new id 4
73 Write sh ovs-vsctl add-port s2 s2-eth1
75 @{list} Create List openflow:2:4
76 Wait Until Keyword Succeeds 30s 2s Check For Elements At URI ${REST_CONTEXT} ${list}