Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview:

The E2E integration test consists

--TEST STATUS for Dublin Release ----

The Netconf configuration over TLS use case consists of three main parts:

  • SO will implement two more steps in workflow CONFIG-ASSIGN and CONFIGURE step.
  • Blueprint processor in CC-SDK will implement a way to send mount , configure and un-mount request to SDNC after getting CONFIGURE request from SO. It currently have ability to read any blueprint from archieve and process it.
  • SDNC will load client cert , trusted certs and private key at deployment time. ODL is also upgraded to Flourine SR2 version to serve above requests.l for Dublin release)

JIRAs:

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCCSDK-926

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCCSDK-1023

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-556

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-621

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-1506


Gliffy Diagram
size600
nameSDC-service-distribution Copy
pagePin1

Image Added


Image Added JiraserverONAP JIRAcolumnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolutionserverId425b2b0a-557c-3c0c-b515-579789cceedbkeyINT-885


Deployment:

Test environment requirements for above the test cases:

  • xNF simulator for test cases:  PNF Simulator with TLS & YANG support.Rest Client simulator.
  • SO with Config-Assign and Configure steps implemented in workflows.
  • CC-SDK, CDS Blueprint processor enhanced so that it can send mount, configure and un-mount rest request to SDNC.
  • SDNC enhanced with ODL flourine SR2 and also capable to import client and trusted certificate and private key at deployment time.

This environment can be set up by following the steps below.

  1. Repo : Yet to update
  2. RUN : Yet to update

Use Case preconditions:

    • xNF simulator.Rest Client sim.

E2E Netconf config over TLS Sequence Diagram

Image Removed

High Level End-to-End feature integration

Testcases

Test cases :


#Test Case
Status
Description
1After PNF_READY, SO sends CONFIG-ASSIGN and CONFIGURE request to SS-API2Sends CONFIGURE request to SS-API3Check SDNC have client cert, private key and trusted certs setup at deployment4Connect SDNC and PNF sim for configuration step5E2E test case for NETCONF over TLS5

Successful flow: both steps will conclude as expected, and the desired configuration will be applied to the PNF; successful outcome

6Configlet not found: step deployConfig is called before assignConfig and thus the configlet was never created and persisted in the CDS’ database; failed outcome
ReferenceTester
1Create and distribute service which contains PNFVerify distribution and ingestion of PNF service csar to VID, AAI & SO.5G - PNF Onboarding Test Cases and Status : PNF-OB-5Andy Walshe
2Waiting for PNFReadyVerification if PNF PnP functionality within SO is waiting for PNFReady to be published by PRH.5G - PNF PnP -WaitingforPNFReady
3

PNF registration accepted

Verification if PNF resource registration is done properly

5G : Configuration with NETCONF - E2E test case for Netconf over TLS
4Send Configuration with NETCONF over TLSVerify the configuration is sent to the PNF with NETCONF5G : Configuration with NETCONF - Success Flow



Detailed Description End-to-End Feature Integration Testcases :


Test Case ID

NETCONF_CONFIGURATION_TLS_E2E

7Non-existing PNF: configuration is called for a PNF that cannot be found on ONAP, that is, IP address does not exist; failed outcome8ODL not found: no ODL is available in SDN-C to answer the Restconf requests; failed outcome9PNF’s blueprint contains invalid configuration: the blueprint’s Restconf commands are wrong, provoking an error while sending them to ODL; failed outcome StatuscolourGreytitleNot Started

Detailed Description End-to-End Feature Integration Testcases :

Test Case ID

Netconf_TLS_E2E_01

Test Case NameSO sends CONFIG-ASSIGN and CONFIGURE request to SS-APIDescriptionEnsure that PNF_READY notification is received by SO from simulated environment then SO sends CONFIG-ASSIGN request to SS-APIReleaseDublinPre-conditionsSO should be waiting for PNF_READY notification after registration process and fully configured as per registration process.Testing StepsStepsExpected Result
  1. Send PNF_READY to SO
  2. SO will send CONFIG-ASSIGN to SS-API
  3. Receive it and Check if it is correct
  4. Send OK response to SO
  5. SO will send CONFIGURE request to SS-API
  6. Receive it and check if it is correct
  7. Send OK response to SO

The SO accepted the "PNF_READY" Notification.

and sends out the CONFIG-ASSIGN request to SS-API

and receive an OK response from SS-API

Conclusion (Pass /Fail)Testing LabTest Case IDNetconf_TLS_E2E_02Test Case Name

Sends CONFIGURE request to SS-API

DescriptionIn this simulated CONFIG-ASSIGN request will be sent to SS-API and response will be picked to check if response is OK.ReleaseDublinPre-conditions

BP processor should have access to correct blueprint in archive to process it. SDNC should b

Testing Steps

StepsExpected Result
  • Sends CONFIGURE request to SS-API
  • SS-API will receive it
  • SS-API send CONFIGURE request to BP proc
  • BP processor parse it and sends Mount to SDNC
  • Receive this request read it if it is correct
  • Send OK 200 response for mount to BP proc
  • BP processor sends configuration request to SDNC
  • Receive this request read it if it is correct
  • send OK 200 response to BP proc
  • BP processor sends un-mount request to SDNC
  • Receive this request read it if it is correct
  • send OK 200 response un-mount to BP proc
  • Check for mount, configure and un-mount messages coming out of

    BP proc. Verify that they are correct.

    Conclusion (Pass /Fail)Testing LabTest Case IDNetconf_TLS_E2E_03Test Case Name

    Check SDNC have client cert, private key and trusted certs setup at deployment

    DescriptionSDNC configure client cert, private key and trusted certs and deployment time. This testcase checks if all certificates are configured fine.ReleaseDublinPre-conditions

    SDNC should be up and running successfully

    Testing Steps

    StepsExpected Result
    1. Send GET request from rest client to SDNC for key store
    2. Verify if it has all necessary entries for Client cert, trusted certs and private key.

    Get request should get all certs and private key successfully.

    Conclusion (Pass /Fail)Testing LabTest Case IDNetconf_TLS_E2E_04Test Case Name

    Connect SDNC and PNF sim for configuration step

    DescriptionSDNC/ODL will send mount , configure and unmount request to PNF sim and check if PNF sim is configured successfully.ReleaseDublinPre-conditions

    PNF sim should be up and running with TLS port listening. It should also be configured with Yang Models necessary for configuration request.

    Testing Steps

    StepsExpected Result
  • Send mount request to SDNC from rest client.
  • Check for 200 OK response
  • Send GET request for mount
  • Check data from GET response
  • Send configuration request to SDNC from rest client.
  • Check for 200 OK response
  • Send GET request for configuration
  • Check data from GET response
  • Send un-mount request to SDNC from rest client
  • check for 200 OK response
  • Send GET request for un-mount
  • Check data from GET response

    Get response should give correct result for mount, configure and un-mount.

    Conclusion (Pass /Fail)Testing LabTest Case IDNetconf_TLS_E2E_05

    Test Case Name

    E2E test case for NETCONF over TLS

    DescriptionEnsure that PNF_READY notification is received by SO from
    simulated environment
    PRH then SO sends CONFIG-ASSIGN, CONFIGURE request to SS-API, to configure the xNF
    ReleaseDublin
    Pre-conditions
    1. SO should be waiting for PNF_READY notification after registration process and fully configured as per registration process.
    2. Blueprint archive should be configured for correct blueprint.
    3. SDNC should be installed successfully with keystore preconfigured with certificates of PNF-SIM.
      Certificates for PNF simulator can be picked up from here. Copy these certs in /dockerdatanfs/sdnc/certs and
    PNF simulator
    1. install sdnc.
    2. PNF-SIM should be running with TLS support.

          Install pnf simulator from here using ./simulator.sh start. It will start simulator in TLS/SSH mode at 6503/830 port. Send VES message by changing config/config.json.

    Testing Steps


    StepsExpected Result
    1. Send PNF_READY to SO(This step will trigger a run to SS-API, BP
    Proc
    1. component, SDNC and PNF
    sim
    1. simulator)
  • Send SSH connect request to SDNC/ODL using rest client.
  • Send GET  request for configuration to get set configuration
    in step 1.
  • Verify received configuration is correct.
  • Get response should give correct result for configure
    Conclusion (Pass /Fail)Testing LabTest Case IDNetconf_TLS_E2E_05Test Case Name

    Successful flow

    DescriptionSteps assignConfig and deployConfig will conclude as expected, and the desired configuration will be applied to the PNF
    Release

    Dublin

    Pre-conditions

    Valid PNF
    Valid blueprint
    SO is present (mocked if needed)
    ODL is present (mocked if needed)

    Testing Steps

    StepsExpected Result

    1. SO sends a request to perform action assignConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    2. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, prepare the configlet, persist it and return a successful message to SO

    3. SO recognizes the success message and sends a request to perfom action deployConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    4. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, retrieve the configlet from the persistence, connect to ODL, send the configlet to the PNF and return a successful message to SO

    Conclusion (Pass /Fail)PASSTesting Lab?Test Case IDNetconf_TLS_NEG_01Test Case Name

    Configlet not found

    Descriptionstep deployConfig is called before assignConfig and thus the configlet was never created and persisted in the CDS’ databaseReleaseDublinPre-conditions

    Valid Blueprint
    SO is present (mocked if needed)
    To ensure that there is no previous persisted configlet, this should be the first test to be ran

    Testing Steps

    StepsExpected Result

    1. SO sends a request to perfom action deployConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    2. SS-API forwards the request to BPP, that will load the blueprint and execute the action specified. As part of the action executon, BPP will try to retrieve the configlet from the CDS’ persistence, but it will fail since the assignConfig step did not happen before

    3. An error message will be sent to SO

    Conclusion (Pass /Fail)Testing Lab

    ?

    1. SO sends CONFIG-ASSIGN request to CDS.
    2. SO receives the response from CDS for CONFIG-ASSIGN as success.
    3. SO sends CONFIG-DEPLOY  async request to CDS.
    4. CDS sends patch(includes mount, configure and unmount request) to SDNC.
    5. SDNC sends mount request to PNF-SIM using TLS connection.
    6. CDS send connection status to SDNC for PNF-SIM.
    7. SDNC sends configuration request to PNF-SIM.
    8. SDNC sends unmount request to PNF-SIM.
    9. Verify received configuration is correct on PNF-SIM (Manual verification).
    Get response should give correct result for configuration on PNF-SIM



    Conclusion (Pass /Fail)

    Status
    colourGreen
    titlePassed

    Testing Lab

    Ericsson Lab, Windriver Lab

    Test Case IDNetconf_TLS_NEG_02Test Case Name

    Non-existing PNF

    DescriptionConfiguration is called for a PNF that cannot be found on ONAP, that is, its IP address does not existReleaseDublinPre-conditions

    Valid PNF
    Valid blueprint
    SO is present (mocked if needed)
    ODL is present (mocked if needed)

    Testing Steps

    StepsExpected Result

    1. SO sends a request to perform action assignConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    2. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, prepare the configlet, persist it and return a successful message to SO

    3. SO recognizes the success message and sends a request to perfom action deployConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    4. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified and retrieve the configlet from the persistence

    5. The next step is to mount a Netconf server in the PNF, through ODL. Since the IP address of the PNF is not valid, ODL won’t be able to connect to the PNF, failing the operation

    6. An error message will be sent to SO

    Conclusion (Pass /Fail)Testing Lab

    ?

    Test Case IDNetconf_TLS_NEG_03Test Case Name

    ODL not found

    DescriptionNo ODL is available in SDN-C to answer the Restconf requestsReleaseDublinPre-conditions

    Valid PNF
    Valid blueprint
    SO is present (mocked if needed)
    ODL is present (mocked if needed)

    Testing Steps

    StepsExpected Result

    1. SO sends a request to perform action assignConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    2. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, prepare the configlet, persist it and return a successful message to SO

    3. SO recognizes the success message and sends a request to perfom action deployConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    4. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified and retrieve the configlet from the persistence

    5. The next step is to mount a Netconf server in the PNF, through ODL. Since there is no ODL available, such connection cannot be established

    6. An error message will be sent to SO

    Conclusion (Pass /Fail)Testing Lab?Test Case IDNetconf_TLS_NEG_04Test Case Name

    PNF’s blueprint contains invalid configuration

    DescriptionThe blueprint’s Restconf commands are wrong, provoking an error while sending them to ODLReleaseDublinPre-conditions

    Valid PNF
    Valid blueprint
    SO is present (mocked if needed)
    ODL is present (mocked if needed)

    Testing Steps

    StepsExpected Result

    1. SO sends a request to perform action assignConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    2. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, prepare the configlet, persist it and return a successful message to SO

    3. SO recognizes the success message and sends a request to perfom action deployConfig

    Code Block
    languageyml
    blueprintName: String
    blueprintVersion: Integer
    action: String
    pnf-name: String
    pnf-ip: String

    4. SS-API forwards the request to BPP, that will load the blueprint, execute the action specified, retrieve the configlet from the persistence, connect to ODL and send the configlet to the PNF

    5. Since the configlet is not valid, ODL will return an error after receiving the Restconf request

    6. An error message will be sent to SO

    Conclusion (Pass /Fail)Testing Lab?


    Information:


    Next Step(s):