Post Log Check ${LFM_RPC_API}:get-mapping ${json} 404
Get Mapping JSON
- [Documentation] Returns mapping record JSON dict
[Arguments] ${eid} ${rloc}
+ [Documentation] Returns mapping record JSON dict
${loc_record}= Get LocatorRecord Object ${rloc}
${lisp_address}= Get LispAddress Object ${eid}
${loc_record_list}= Create List ${loc_record}
${mapping_record_json}= Get MappingRecord JSON ${lisp_address} ${loc_record_list}
${mapping}= Wrap input ${mapping_record_json}
- [return] ${mapping}
+ [Return] ${mapping}
[Return] ${port_id}
Create Vm Instances
- [Arguments] ${net_name} ${vm_instance_names} ${image}=cirros-0.3.4-x86_64-uec ${flavor}=m1.nano ${sg}=default
+ [Arguments] ${net_name} ${vm_instance_names} ${image}=cirros-0.3.4-x86_64-uec ${flavor}=m1.nano ${sg}=default
[Documentation] Create X Vm Instance with the net id of the Netowrk.
${devstack_conn_id}= Get ControlNode Connection
Switch Connection ${devstack_conn_id}
List Ports
Create Security Group
- [Arguments] ${sg_name} ${desc}
+ [Arguments] ${sg_name} ${desc}
${devstack_conn_id}= Get ControlNode Connection
Switch Connection ${devstack_conn_id}
- ${output}= Write Commands Until Prompt nova secgroup-create ${sg_name} ${desc} 40s
+ ${output}= Write Commands Until Prompt nova secgroup-create ${sg_name} ${desc} 40s
Close Connection
Create Security Rule
- [Arguments] ${direction} ${protocol} ${min_port} ${max_port} ${remote_ip} ${sg_name}
+ [Arguments] ${direction} ${protocol} ${min_port} ${max_port} ${remote_ip} ${sg_name}
${devstack_conn_id}= Get ControlNode Connection
Switch Connection ${devstack_conn_id}
${output}= Write Commands Until Prompt neutron security-group-rule-create --direction ${direction} --protocol ${protocol} --port-range-min ${min_port} --port-range-max ${max_port} --remote-ip-prefix ${remote_ip} ${sg_name}
*** variable ***
${vlan_topo} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom vlan_vtn_test.py --topo vlantopo
-${nexus_path} https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/vtn/distribution.vtn-coordinator
-${boron} 6.3.0-SNAPSHOT
-${carbon} 6.4.0-SNAPSHOT
-${vtn_dist} distribution.vtn-coordinator
+${nexus_path} https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/vtn/distribution.vtn-coordinator
+${boron} 6.3.0-SNAPSHOT
+${carbon} 6.4.0-SNAPSHOT
+${vtn_dist} distribution.vtn-coordinator
*** Keywords ***
Get VtnCo
SSHLibrary.Execute Command sudo yum install -q -y http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
SSHLibrary.Execute Command sudo yum install -q -y postgresql93-libs postgresql93 postgresql93-server postgresql93-contrib postgresql93-odbc-09.03.0400
Run Keyword If '${ODL_STREAM}' == 'boron' SSHLibrary.Execute Command wget "${nexus_path}/${boron}/maven-metadata.xml"
- ... ELSE IF '${ODL_STREAM}' == 'carbon' SSHLibrary.Execute Command wget "${nexus_path}/${carbon}/maven-metadata.xml"
- Run Keyword If '${ODL_STREAM}' == 'boron' or '${ODL_STREAM}' == 'carbon' SSHLibrary.Get_file maven-metadata.xml
+ ... ELSE IF '${ODL_STREAM}' == 'carbon' SSHLibrary.Execute Command wget "${nexus_path}/${carbon}/maven-metadata.xml"
+ Run Keyword If '${ODL_STREAM}' == 'boron' or '${ODL_STREAM}' == 'carbon' SSHLibrary.Get_file maven-metadata.xml
${time_stamp}= XML.Get Element Text maven-metadata.xml xpath=.//snapshot/timestamp
${build_number}= XML.Get Element Text maven-metadata.xml xpath=.//snapshot/buildNumber
Run Keyword If '${ODL_STREAM}' == 'boron' SSHLibrary.Execute Command wget '${nexus_path}/${boron}/${vtn_dist}-6.3.0-${time_stamp}-${build_number}-bin.tar.bz2'
... ELSE IF '${ODL_STREAM}' == 'carbon' SSHLibrary.Execute Command wget '${nexus_path}/${carbon}/${vtn_dist}-6.4.0-${time_stamp}-${build_number}-bin.tar.bz2'
- Run Keyword If '${ODL_STREAM}' == 'boron' or '${ODL_STREAM}' == 'carbon' SSHLibrary.Execute Command tar -C/ -jxvf ${vtn_dist}*-bin.tar.bz2
+ Run Keyword If '${ODL_STREAM}' == 'boron' or '${ODL_STREAM}' == 'carbon' SSHLibrary.Execute Command tar -C/ -jxvf ${vtn_dist}*-bin.tar.bz2
... ELSE SSHLibrary.Execute Command tar -C/ -jxvf ${WORKSPACE}/${BUNDLEFOLDER}/externalapps/${vtn_dist}*-bin.tar.bz2
SSHLibrary.Execute Command /usr/local/vtn/sbin/db_setup
SSHLibrary.Execute Command /usr/local/vtn/bin/vtn_start
Resource ${CURDIR}/../../../libraries/Utils.robot
Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
-
*** Variables ***
${CONFIG_SESSION} config-session
${BGP_BMP_DIR} ${CURDIR}/../../../variables/bgpfunctional/bmp_basic
BuiltIn.Log ${command}
SSHLibrary.Set_Client_Configuration timeout=30s
SSHLibrary.Write ${command}
- ${until_phrase}= CompareStream.Set_Variable_If_At_Least_Boron successfully established. sucesfully established.
+ ${until_phrase}= CompareStream.Set_Variable_If_At_Least_Boron successfully established. sucesfully established.
SSHLibrary.Read_Until ${until_phrase}
-
Verify Data Reported
[Documentation] Verifies if the tool reported expected data
&{mapping} BuiltIn.Create_Dictionary TOOL_IP=${TOOLS_SYSTEM_IP}
table0 entry
[Arguments] ${connection-id} ${bridgename}
- [Documentation] After Creating the trunk interface , checking for table 0 entry exist in the flow dumps
+ [Documentation] After Creating the trunk interface , checking for table 0 entry exist in the flow dumps
switch connection ${connection-id}
log switch connection
${ovs-check} execute command sudo ovs-ofctl -O OpenFlow13 dump-flows ${bridgename}
ovs check for member interface creation
[Arguments] ${connection-id} ${bridgename}
- [Documentation] This keyword verifies the member interface created on OVS by checking the table0 ,vlan and action=pop_vlan entries
+ [Documentation] This keyword verifies the member interface created on OVS by checking the table0 ,vlan and action=pop_vlan entries
switch connection ${connection-id}
${ovs-check} execute command sudo ovs-ofctl -O OpenFlow13 dump-flows ${bridgename}
log ${ovs-check}
Create Interface
[Arguments] ${json_file} ${interface_mode}
- [Documentation] Creates an trunk/transparent interface based on input provided to the json body
+ [Documentation] Creates an trunk/transparent interface based on input provided to the json body
${body} OperatingSystem.Get File ${genius_config_dir}/${json_file}
log ${genius_config_dir}/${json_file}
${body} replace string ${body} "l2vlan-mode":"trunk" "l2vlan-mode":"${interface_mode}"
should be equal as strings ${resp.status_code} 500
Allocate IDs of size 3 from the pool
- [Documentation] This testcase allocates 3 Ids from the created pool in test case 1
+ [Documentation] This testcase allocates 3 Ids from the created pool in test case 1
${body} OperatingSystem.Get File ${genius_config_dir}/${allocaterange_json}
${body} replace string ${body} test-key ${test_keys[2]}
${body} replace string ${body} 5 3
Create Vm Instances For l2_net_1
[Documentation] Create Vm instances using flavor and image names for a network.
Log ${devstack_conn_id}
- OpenStackOperations.Create Vm Instances l2_net_1 ${NET_1_VM_INSTANCES} sg=csit
+ OpenStackOperations.Create Vm Instances l2_net_1 ${NET_1_VM_INSTANCES} sg=csit
Bring Up ODL1
[Documentation] Bring up ODL1 again
Create Vm Instances For l2_net_2
[Documentation] Create Vm instances using flavor and image names for a network.
- OpenStackOperations.Create Vm Instances l2_net_2 ${NET_2_VM_INSTANCES} sg=csit
+ OpenStackOperations.Create Vm Instances l2_net_2 ${NET_2_VM_INSTANCES} sg=csit
Bring Up ODL2
[Documentation] Bring up ODL2 again
Create Vm Instances For l3_net_1
[Documentation] Create Four Vm instances using flavor and image names for a network.
- OpenStackOperations.Create Vm Instances l3_net_1 ${NET_1_VM_INSTANCES} sg=csit
+ OpenStackOperations.Create Vm Instances l3_net_1 ${NET_1_VM_INSTANCES} sg=csit
Bring Up ODL1
[Documentation] Bring up ODL1 again
Create Vm Instances For l3_net_2
[Documentation] Create Four Vm instances using flavor and image names for a network.
- OpenStackOperations.Create Vm Instances l3_net_2 ${NET_2_VM_INSTANCES} sg=csit
+ OpenStackOperations.Create Vm Instances l3_net_2 ${NET_2_VM_INSTANCES} sg=csit
Bring Up ODL2
[Documentation] Bring up ODL2 again
Create Router router_2
[Documentation] Create Router and Add Interface to the subnets. this fails sometimes.
OpenStackOperations.Create Router router_2
- [Teardown] Report_Failure_Due_To_Bug 6117
+ [Teardown] Report_Failure_Due_To_Bug 6117
Create Router router_3
[Documentation] Create Router and Add Interface to the subnets.
Add Ssh Allow Rule
[Documentation] Allow all TCP packets for testing
- Create Security Group csit "CSIT SSH Allow"
- Create Security Rule ingress tcp 1 65535 0.0.0.0/0 csit
- Create Security Rule egress tcp 1 65535 0.0.0.0/0 csit
+ Create Security Group csit "CSIT SSH Allow"
+ Create Security Rule ingress tcp 1 65535 0.0.0.0/0 csit
+ Create Security Rule egress tcp 1 65535 0.0.0.0/0 csit
Create Vm Instances For l2_network_1
[Documentation] Create Four Vm instances using flavor and image names for a network.
- Create Vm Instances l2_network_1 ${NET_1_VM_INSTANCES} sg=csit
+ Create Vm Instances l2_network_1 ${NET_1_VM_INSTANCES} sg=csit
Create Vm Instances For l2_network_2
[Documentation] Create Four Vm instances using flavor and image names for a network.
- Create Vm Instances l2_network_2 ${NET_2_VM_INSTANCES} sg=csit
+ Create Vm Instances l2_network_2 ${NET_2_VM_INSTANCES} sg=csit
Ping Vm Instance1 In l2_network_1
[Documentation] Check reachability of vm instances by pinging to them.
Clean Up After Running Tempest
[Documentation] Clean up any extra leftovers that were created to allow tempest tests to run.
- Delete SubNet external-subnet
+ Delete SubNet external-subnet
Delete Network external
List Networks
- Close All Connections
\ No newline at end of file
+ Close All Connections
Resource ../../../variables/sfc/Variables.robot
Resource ../../../libraries/Utils.robot
Resource ../../../libraries/TemplatedRequests.robot
+
*** Variables ***
${CREATE_RSP1_INPUT} {"input":{"parent-service-function-path":"SFP-1","name":"SFP-1-Path-1"}}
${CREATE_RSP_FAILURE_INPUT} {"input":{"parent-service-function-path":"SFC1-empty","name":"SFC1-empty-Path-1"}}
+
*** Test Cases ***
Basic Environment Setup Tests
[Documentation] Prepare Basic Test Environment
Post Elements To URI As JSON
[Arguments] ${uri} ${data}
${resp} RequestsLibrary.Post Request session ${uri} data=${data} headers=${headers}
- Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
+ Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Get JSON Elements From URI
[Arguments] ${uri}
Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/full-deploy/service-function-paths.json
Set Suite Variable ${SERVICE_RANDOM_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/full-deploy/service-random-schedule-type.json
Set Suite Variable ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/full-deploy/service-roundrobin-schedule-type.json
-
[Documentation] Delete A Service Function Forwarder
Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
- Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
+ Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Remove All Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
Should Be Equal As Strings ${resp.status_code} 404
Check For Elements At URI ${SERVICE_WSP_SCHED_TYPE_URI} ${elements}
Check For Elements At URI ${SERVICE_SCHED_TYPES_URI} ${elements}
-
*** keywords ***
Init Suite
[Documentation] Initialize session and ODL version specific variables
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Should Contain ${resp.content} SFC1-400
-
*** keywords ***
Init Suite
[Documentation] Initialize session and ODL version specific variables
Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
${resp} RequestsLibrary.Put Request session ${CONFIG_TOPO_API}/${Uni_topo_API}${Mininet2_IP}/cl-unimgr-mef:speed data=${speedJson}
Log ${resp.content}
- Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
+ Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
${elements} Create List speed-10G
Wait Until Keyword Succeeds 16s 2s Check For Elements At URI ${OPERATIONAL_TOPO_API}/topology/unimgr:uni/ ${elements}
Add a vbrif flowfilter with vlanpcp
[Documentation] Create a flowfilter with vlanpcp and Verify ping
- Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
[Tags] exclude
+ Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h5
Verify vlanpcp of vbrif flowfilter
Add a vbrif flowfilter with vlanpcp
[Documentation] Create a flowfilter with vlanpcp and Verify ping
- Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
[Tags] exclude
+ Add a vbrif flowfilter Tenant1 vBridge1 if1 ${flowfiltervlanpcp}
Wait_Until_Keyword_Succeeds 20s 1s Mininet Ping Should Succeed h1 h5
Verify vlanpcp of vbrif flowfilter
${OPERATIONAL_RSPS_URI} /restconf/operational/rendered-service-path:rendered-service-paths/
${OPERATIONS_CREATE_RSP_URI} /restconf/operations/rendered-service-path:create-rendered-path/
${OPERATIONS_DELETE_RSP_URI} /restconf/operations/rendered-service-path:delete-rendered-path/
-