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 ${VENDOR} Nicira, Inc.
13 ${HARDWARE} Open vSwitch
14 @{node_list} openflow:1 openflow:2 openflow:3
15 ${SW_IPADDRESS} "flow-node-inventory:ip-address":"${TOOLS_SYSTEM_IP}"
16 ${SW_VENDOR} "flow-node-inventory:manufacturer":"${VENDOR}"
17 ${SW_HARDWARE} "flow-node-inventory:hardware":"${HARDWARE}"
18 @{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"
22 [Documentation] Get the inventory
23 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API} ${node_list}
26 [Documentation] Check there is no link down. We have 8 ports in total: s1=2, s2=3, s3=3.
27 Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${OPERATIONAL_NODES_API} "link-down":false 8
30 [Documentation] Get the inventory for a node
31 ${list} Create List @{SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:1:1
33 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:1 ${list}
36 [Documentation] Get the inventory for a node
37 ${list} Create List @{SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:2:1
38 ... openflow:2:2 openflow:2:3
39 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:2 ${list}
42 [Documentation] Get the inventory for a node
43 ${list} Create List @{SW_CAPABILITIES} ${SW_VENDOR} ${SW_IPADDRESS} ${SW_HARDWARE} openflow:3:1
44 ... openflow:3:2 openflow:3:3
45 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:3 ${list}
48 [Documentation] Take link s1-s2 down
51 @{list} Create List "link-down":true
52 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${list}
53 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${list}
56 [Documentation] Take link s1-s2 up
59 @{list} Create List "link-down":false
60 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${list}
61 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${list}
64 [Documentation] Remove port s2-eth1
65 Write sh ovs-vsctl del-port s2 s2-eth1
67 @{list} Create List openflow:2:1
68 Wait Until Keyword Succeeds 10s 2s Check For Elements Not At URI ${OPERATIONAL_NODES_API} ${list}
71 [Documentation] Add port s2-eth1, new id 4
72 Write sh ovs-vsctl add-port s2 s2-eth1
74 @{list} Create List openflow:2:4
75 Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${OPERATIONAL_NODES_API} ${list}