X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fsfc%2FSFC_Basic%2F070__sfc_rendered_service_paths.robot;fp=csit%2Fsuites%2Fsfc%2FSFC_Basic%2F070__sfc_rendered_service_paths.robot;h=0000000000000000000000000000000000000000;hb=371b104b282d1b91005f1efd6c08168a48cc4f6f;hp=d6a4b9f2202e21836a79ba3515f65a390acfd90e;hpb=b40b7d2d6461200ad56c531e4962e2088cf50c9d;p=integration%2Ftest.git diff --git a/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot b/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot deleted file mode 100644 index d6a4b9f220..0000000000 --- a/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot +++ /dev/null @@ -1,270 +0,0 @@ -*** Settings *** -Documentation Test suite for SFC Rendered Service Paths, Operates functions from Restconf APIs. - -Library SSHLibrary -Library Collections -Library OperatingSystem -Library RequestsLibrary -Resource ../../../variables/sfc/Variables.robot -Resource ../../../libraries/SFC/SfcKeywords.robot -Resource ../../../libraries/Utils.robot -Resource ../../../libraries/TemplatedRequests.robot - -Suite Setup Init Suite -Suite Teardown Delete All Sessions - - -*** Test Cases *** -Basic Environment Setup Tests - [Documentation] Prepare Basic Test Environment - Utils.Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE} - Utils.Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE} - Utils.Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} - BuiltIn.Wait Until Keyword Succeeds - ... 60s - ... 2s - ... SfcKeywords.Check Service Function Types Added - ... ${SERVICE_FUNCTION_NAMES} - Utils.Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - # Creates SFPs: SFC1-100, SFC1-200, SFC1-300, SFC2-100, and SFC2-200 - SfcKeywords.Create Sfp And Wait For Rsp Creation ${SERVICE_FUNCTION_PATHS_FILE} - -Get Rendered Service Path By Name - [Documentation] Get The Rendered Service Path Created in "Basic Environment Setup Tests" By Name Via RESTConf APIs - ${sfp_name} = BuiltIn.Set Variable SFC1-100 - ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${sfp_name} - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}/${rsp_name} - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - # The RSP should not be symetric, so only 1 should be created for the SFP - Utils.Check For Specific Number Of Elements At URI - ... ${SERVICE_FUNCTION_PATH_STATE_URI}/${sfp_name} - ... "sfp-rendered-service-path" - ... 1 - ${elements} = BuiltIn.Create List - ... "parent-service-function-path":"SFC1-100" - ... "hop-number":0 - ... "service-index":255 - ... "hop-number":1 - ... "service-index":254 - ... "hop-number":2 - ... "service-index":253 - Utils.Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements} - -Get Rendered Service Path Hop - [Documentation] Check Rendered Service Path Hops Created in "Basic Environment Setup Tests" - ${sfp_name} = BuiltIn.Set Variable SFC1-100 - ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${sfp_name} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${elements} = BuiltIn.Create List "hop-number":0 "service-index":255 "service-function-name":"dpi - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":1 "service-index":254 "service-function-name":"napt44 - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/1/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":2 "service-index":253 "service-function-name":"firewall - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/2/ ${elements} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/3/ - BuiltIn.Should Be Equal As Strings ${resp.status_code} 404 - -Delete one Rendered Service Path By Name - [Documentation] Delete One Rendered Service Path By deleting the parent Service Function Path - ... The RSP to be deleted was created in "Basic Environment Setup Tests" - ${sfp_name} = BuiltIn.Set Variable SFC2-200 - ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${sfp_name} - # First verify that the RSP exists - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}/${rsp_name} - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - SfcKeywords.Delete Sfp And Wait For Rsps Deletion ${sfp_name} - -Generate RSPs with Random Schedule Algorithm type - [Documentation] Generate RSPs with Random Schedule Algorithm type Through RESTConf APIs - Utils.Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI} - Utils.Add Elements To URI From File ${SERVICE_RANDOM_SCHED_TYPE_URI} ${SERVICE_RANDOM_SCHED_TYPE_FILE} - SfcKeywords.Delete All Sfps And Wait For Rsps Deletion - # Create the SFPs which will create the RSPs with the Random scheduler - SfcKeywords.Create Sfp And Wait For Rsp Creation ${SERVICE_FUNCTION_PATHS_FILE} - ${sfp_name} = BuiltIn.Set Variable SFC1-100 - ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${sfp_name} - ${elements} = BuiltIn.Create List "hop-number":0 "service-index":255 "service-function-name":"dpi - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":1 "service-index":254 "service-function-name":"napt44 - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/1/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":2 "service-index":253 "service-function-name":"firewall - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/2/ ${elements} - -Generate RSPs with Round Robin Schedule Algorithm type - [Documentation] Generate RSPs with Round Robin Schedule Algorithm type - [Tags] exclude - Utils.Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI} - Utils.Add Elements To URI From File - ... ${SERVICE_ROUNDROBIN_SCHED_TYPE_URI} - ... ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE} - SfcKeywords.Delete All Sfps And Wait For Rsps Deletion - # Create the SFPs which will create the RSPs with the Random scheduler - SfcKeywords.Create Sfp And Wait For Rsp Creation ${SERVICE_FUNCTION_PATHS_FILE} - ${rsp1_name} = SfcKeywords.Get Rendered Service Path Name SFC1-100 - ${rsp2_name} = SfcKeywords.Get Rendered Service Path Name SFC1-200 - ${rsp3_name} = SfcKeywords.Get Rendered Service Path Name SFC1-300 - ${rsp4_name} = SfcKeywords.Get Rendered Service Path Name SFC2-100 - ${rsp5_name} = SfcKeywords.Get Rendered Service Path Name SFC2-200 - ${path1_hop0} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - ${path1_hop1} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - ${path1_hop2} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - ${path2_hop0} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - ${path2_hop1} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - ${path2_hop2} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - ${path3_hop0} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - ${path3_hop1} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - ${path3_hop2} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - ${path4_hop0} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - ${path4_hop1} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - ${path4_hop2} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - ${path5_hop0} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - ${path5_hop1} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - ${path5_hop2} = SfcKeywords.Get JSON Elements From URI - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - BuiltIn.Should Be Equal ${path1_hop0} ${path4_hop0} - BuiltIn.Should Not Be Equal ${path1_hop0} ${path2_hop0} - BuiltIn.Should Be Equal ${path1_hop1} ${path4_hop1} - BuiltIn.Should Not Be Equal ${path1_hop1} ${path2_hop1} - BuiltIn.Should Be Equal ${path1_hop2} ${path4_hop2} - BuiltIn.Should Not Be Equal ${path1_hop2} ${path2_hop2} - BuiltIn.Should Be Equal ${path2_hop0} ${path5_hop0} - BuiltIn.Should Not Be Equal ${path2_hop0} ${path3_hop0} - BuiltIn.Should Be Equal ${path2_hop1} ${path5_hop1} - BuiltIn.Should Not Be Equal ${path2_hop1} ${path3_hop1} - BuiltIn.Should Be Equal ${path2_hop2} ${path5_hop2} - BuiltIn.Should Not Be Equal ${path2_hop2} ${path3_hop2} - BuiltIn.Should Be Equal ${path3_hop0} ${path1_hop0} - BuiltIn.Should Not Be Equal ${path3_hop0} ${path1_hop0} - BuiltIn.Should Be Equal ${path3_hop1} ${path1_hop1} - BuiltIn.Should Not Be Equal ${path3_hop1} ${path1_hop1} - BuiltIn.Should Be Equal ${path3_hop2} ${path1_hop2} - BuiltIn.Should Not Be Equal ${path3_hop2} ${path1_hop2} - -Generate RSPs with Shortest Path Schedule Algorithm type - [Documentation] Generate RSPs with Shortest Path Schedule Algorithm type Through RESTConf APIs - Utils.Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI} - Utils.Add Elements To URI From File - ... ${SERVICE_SHORTESTPATH_SCHED_TYPE_URI} - ... ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE} - SfcKeywords.Delete All Sfps And Wait For Rsps Deletion - # Create the SFPs which will create the RSPs with the Random scheduler - SfcKeywords.Create Sfp And Wait For Rsp Creation ${SERVICE_FUNCTION_PATHS_FILE} - ${rsp1_name} = SfcKeywords.Get Rendered Service Path Name SFC1-100 - ${rsp2_name} = SfcKeywords.Get Rendered Service Path Name SFC1-200 - ${rsp3_name} = SfcKeywords.Get Rendered Service Path Name SFC1-300 - ${rsp4_name} = SfcKeywords.Get Rendered Service Path Name SFC2-100 - ${rsp5_name} = SfcKeywords.Get Rendered Service Path Name SFC2-200 - ${elements} = BuiltIn.Create List "hop-number":0 "service-index":255 "service-function-name":"dpi-1 - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":1 "service-index":254 "service-function-name":"napt44 - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ ${elements} - ${elements} = BuiltIn.Create List "hop-number":2 "service-index":253 "service-function-name":"firewall - Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ ${elements} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${temp_vars} = BuiltIn.Set Variable ['rendered-service-path-hop'][0]['service-function-forwarder'] - ${fwd_hop1} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${fwd_hop2} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${fwd_hop3} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - BuiltIn.Should Be Equal ${fwd_hop1} ${fwd_hop2} - BuiltIn.Should Be Equal ${fwd_hop2} ${fwd_hop3} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/0/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${fwd_hop1} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/1/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${fwd_hop2} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - ${resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/2/ - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - ${fwd_hop3} = Utils.Extract Value From Content ${resp.content} ${temp_vars} - BuiltIn.Should Be Equal ${fwd_hop1} ${fwd_hop2} - BuiltIn.Should Be Equal ${fwd_hop2} ${fwd_hop3} - -Clean Datastore After Tests - [Documentation] Clean All Items In Datastore After Tests - Utils.Remove All Elements At URI ${SERVICE_FUNCTIONS_URI} - BuiltIn.Wait Until Keyword Succeeds - ... 60s - ... 2s - ... SfcKeywords.Check Service Function Types Removed - ... ${SERVICE_FUNCTION_NAMES} - Utils.Remove All Elements At URI ${SERVICE_FORWARDERS_URI} - Utils.Remove All Elements At URI ${SERVICE_NODES_URI} - Utils.Remove All Elements At URI ${SERVICE_CHAINS_URI} - Utils.Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI} - Utils.Remove All Elements If Exist ${SERVICE_FUNCTION_PATHS_URI} - BuiltIn.Wait Until Keyword Succeeds 60s 2s SfcKeywords.Check Empty Service Function Paths State - - -*** Keywords *** -Init Suite - [Documentation] Create session and initialize ODL version specific variables - RequestsLibrary.Create Session - ... session - ... http://${ODL_SYSTEM_IP}:${RESTCONFPORT} - ... auth=${AUTH} - ... headers=${HEADERS} - BuiltIn.log ${ODL_STREAM} - BuiltIn.Set Suite Variable ${VERSION_DIR} master - BuiltIn.Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} - BuiltIn.Set Suite Variable ${SERVICE_FUNCTIONS_FILE} ${TEST_DIR}/service-functions.json - BuiltIn.Set Suite Variable - ... @{SERVICE_FUNCTION_NAMES} - ... "napt44-103-2" - ... "napt44-103-1" - ... "dpi-102-2" - ... "firewall-101-2" - ... "napt44-104" - ... "dpi-102-1" - ... "firewall-104" - ... "dpi-102-3" - ... "firewall-101-1" - BuiltIn.Set Suite Variable ${SERVICE_FORWARDERS_FILE} ${TEST_DIR}/service-function-forwarders.json - BuiltIn.Set Suite Variable ${SERVICE_NODES_FILE} ${TEST_DIR}/service-nodes.json - BuiltIn.Set Suite Variable ${SERVICE_CHAINS_FILE} ${TEST_DIR}/service-function-chains.json - BuiltIn.Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${TEST_DIR}/service-function-paths.json - BuiltIn.Set Suite Variable ${SERVICE_RANDOM_SCHED_TYPE_FILE} ${TEST_DIR}/service-random-schedule-type.json - BuiltIn.Set Suite Variable - ... ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE} - ... ${TEST_DIR}/service-roundrobin-schedule-type.json - BuiltIn.Set Suite Variable - ... ${SERVICE_LOADBALANCE_SCHED_TYPE_FILE} - ... ${TEST_DIR}/service-loadbalance-schedule-type.json - BuiltIn.Set Suite Variable - ... ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE} - ... ${TEST_DIR}/service-shortestpath-schedule-type.json