Controller Design Studio - Instantiation Testing Strategy



Assumption:


  • That the regression test suite will cover the existing use case for vFW instantiation using the preload mechanism.
  • The CDS initiative will add a new test suite for testing the vFW instantiation use case with the automated assignment mechanism using the self-service flow integrated with CDS for Casablanca Release.




Action Items:


  • Yang to check the existing robot script.
  • Yang to enhance the robot script for the option 2 use case if SO code is stable. Else we will focus on Option 1.

  • Yuriy to follow on the action items for the SO Payload, GR-API Payload and Ingestion of Tosca and Blueprint information.

  • Yuriy to follow up with Brian on the SB07 lab setup. Are the minimal set of component available for option 2?

    • [SDC, DMAAP/UEB, SO, Policy Manager, SDN-C , A&A]I ONAP OOM instance is instantiated 

  • Yang to estimate the work effort required for the vFW instantiation use case.

    • Based on the effort Yang will might request additional effort and/or work with CDS team to help with the robot script implementation.

  • Yuriy to create the JIRA US for the testing use case.







 Design Time - Use Cases
StepsDescriptionReference NOTEs
Perquisite   
1[APP-C, SDN-C]I ONAP OOM instance is instantiated 
 
2Controller Blueprint mS instance is instantiated 
 
Activate Controller Blueprint   
1 Script to use the API to create a controller blueprint for vFW.  
  • Yuriy to verify with Brinda on the Payload API needed for the blueprint creation and activation.
2 Script to Activate and Publish the Controller Blueprint 
  • Yuriy to verify with Brinda on the Payload API needed for the blueprint creation and activation.
3 Script to Verify the Controller blueprint is persisted in the DB  
    
    
    
 Run Time - Use Cases for Instantiation --Option 1: Full ONAP Use Case Starting with SO
StepsDescriptionReference NOTEs
Perquisite    
 1[SDC, SO, DMAAP, Policy Manager, SDN-C , A&AI] ONAP OOM instance is instantiated    
  • Yuriy to follow up with Dan T/Lalena if its enough to have SDC/DMAAP and SDNC for ingestion of the tosca model?
  • Brian Freeman will help with OPEN-LAB spin of the ONAP instance needed for the vFW use case.
    • OPEN LAB-- SB07
 2 vFW Heat is preloaded with the SDNC Model information   
 3 SDC TOSCA is ingested in SDNC for vFW 
  •  Verify the VF-Model table has all the information related to the SDNC Model Name, Artifact Name and Model Version.
  • Yuriy to work with Marco.
 4 Netbox mS instance is instantiated    
 5 Naming-generation mS instance is instantiated    
 6 Controller Blueprint mS instance is instantiated  
 7 Naming Policy is preloaded in Policy Manager for vFW  
 8 Controller Blueprint is preloaded in mS DB for vFW  
 
  
Assign Create, & Activate   
1

Script that triggers Macro instantiation vFW request to SO using assign, create an activate building block.


Yuriy to request SO team on the Payload for the MACRO Instantiation request.

  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API

  • Verify the Naming mS generate the name per vFW Naming Policy for the VNF Module
  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API
  • Verify the Naming mS generate the name per vFW Naming Policy for the VF Module
  • Verify the Netbox Capability assigns an IP Address
  • Verify A&AI has VNFC inventory.
2

Script that copies MD-SAL instance for vFW


 
 Run Time - Use Cases for Instantiation --Option 2: Partial ONAP without SO
StepsDescriptionReference NOTEs
Perquisite    
 1 [SDC, DMAAP/UEB, Policy Manager, SDN-C , A&AI] - ONAP OOM instance is instantiated   
  • Yuriy to follow up with Dan T/Lalena if its enough to have SDC/DMAAP and SDNC for ingestion of the tosca model?
  • Brian Freeman will help with OPEN-LAB spin of the ONAP instance needed for the vFW use case.
  • OPEN LAB-- SB07
 2 vFW Heat is preloaded with the SDNC Model information   
 3 SDC TOSCA is ingested in SDNC for vFW 
  • Verify the VF-Model table has all the information related to the SDNC Model Name, Artifact Name and Model Version.
  • Yuriy to work with Marco.
 4 Netbox mS instance is instantiated    
 5 Naming-generation mS instance is instantiated    
 6 Controller Blueprint mS instance is instantiated  
 7 Naming Policy is preloaded in Policy Manager for vFW  
 8 Controller Blueprint is preloaded in mS DB for vFW 
  • Yuriy to check with Brinda as part of the mS spin up if we can preload the Controller Blueprint for vFW use case.
 9 Pre-create A&AI object for service , generic VNF and VF Module.   
Assignment   
1

Script that triggers GR-API   for Service Assign


 
2

Script that triggers GR-API   for VNF Assign


 
3

Script that triggers GR-API   for VF Module Assign

 
  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API

  • Verify the Naming mS generate the name per vFW Naming Policy for the VNF Module

Script that triggers copy of   MD-SAL Config tree for VNF and VF Module for vFW

 
  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API
  • Verify the Naming mS generate the name per vFW Naming Policy for the VF Module
  • Verify the Netbox Capability assigns an IP Address
  • Verify A&AI has VNFC inventory.
Activate    
 1 Script that triggers GR-API for VF Module Activate  
 2 Script that triggers GR-API for VNF Module Activate  
 3 Script that triggers GR-API for Service Module Activate  
 4 Script that triggers copy of MD-SAL Config tree for VNF and VF Module for vFW  



 Run Time - Use Cases for Instantiation --Option 3: Partial ONAP without SO , DCAE, SDC
StepsDescriptionReference NOTEs
Perquisite    
 1 [Policy Manager, SDN-C , A&AI] - ONAP OOM instance is instantiated   
  • Yuriy to follow up with Dan T/Lalena if its enough to have SDC/DMAAP and SDNC for ingestion of the tosca model?
  • Brian Freeman will help with OPEN-LAB spin of the ONAP instance needed for the vFW use case.
  • OPEN LAB-- SB07
 2SDC TOSCA is ingested in SDNC for vFW 
  • Verify the VF-Model table has all the information related to the SDNC Model Name, Artifact Name and Model Version.
  • Yuriy to work with Marco.
 3Netbox mS instance is instantiated    
 4Naming-generation mS instance is instantiated    
 5Controller Blueprint mS instance is instantiated  
 6Naming Policy is preloaded in Policy Manager for vFW  
 7Controller Blueprint is preloaded in mS DB for vFW 
  • Yuriy to check with Brinda as part of the mS spin up if we can preload the Controller Blueprint for vFW use case.
 8Pre-create A&AI object for service , generic VNF and VF Module.   
Assignment   
1

Script that triggers GR-API   for Service Assign


 
2

Script that triggers GR-API   for VNF Assign


 
3

Script that triggers GR-API   for VF Module Assign

 
  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API

  • Verify the Naming mS generate the name per vFW Naming Policy for the VNF Module

Script that triggers copy of   MD-SAL Config tree for VNF and VF Module for vFW

 
  • Verify the Resource Accumulator is triggered to return the controller blueprint to GR-API
  • Verify the Naming mS generate the name per vFW Naming Policy for the VF Module
  • Verify the Netbox Capability assigns an IP Address
  • Verify A&AI has VNFC inventory.
Activate    
 1 Script that triggers GR-API for VF Module Activate  
 2 Script that triggers GR-API for VNF Module Activate  
 3 Script that triggers GR-API for Service Module Activate  
 4 Script that triggers copy of MD-SAL Config tree for VNF and VF Module for vFW  


Controller Blueprint Artifact and DDs for testing vFW Use Case: https://gerrit.onap.org/r/#/c/69421/


 Run Time Test Case Progress

Alexis to Retest

StepsDescriptionStatus NOTEs

   
1Robot Script to Trigger SO for Macro Instantiation RequestComplete 
2SO Triggers A&AI for Service CreationComplete 
3SO Trigger SDNC for Service AssignComplete 
4SO Triggers A&AI for VNF Object CreationComplete


5SO Triggers SDNC for VNF Assign Complete


6SDNC Triggers Resource Accumulator mSComplete 
7SDNC Trigger Naming mSComplete 
8Naming mS retrieves Policy Instance from Policy ManagerComplete
Naming mS Generates the name and returns the output to SDNCComplete 
10SDNC Triggers Netbox IP CapabilityNA 
11 Netbox Assign IP and Returns the values to SDNCNA 
12SDNC Triggers A&AI UpdatesSKIPPED 
13 SDNC returns status to SOCompleted 
 NOTE Steps 14 to 21 will be repeated for base and each add on vf module (base template, vFW, vPG, vSN)Pending 
14 SO Triggers SDNC with VF Module assign

 base_template- Pass,

 vFW - Pass

vSNK-naming policy is missing

vPG- MS call for get Policy is failing Policy

15 SDNC Triggers Resource Accumulator mSCompleted 
16 SDNC Trigger Naming mSCompleted 


17Naming mS retrieves Policy Instance from Policy ManagerPending

vSNK-naming policy is missing

vPG- MS call for get Policy is failing Policy

18SDNC Triggers Netbox IP CapabilityCompleted 
19Netbox Assign IP and Returns the values to SDNCCompleted 
20SDNC Triggers A&AI UpdatesSKIPPED 
21SDNC returns status to SOFailedSO is not handling fallout correctly, Although SDNC return error code 500 so triggers SDNC for VF Module Assignment. JIRA created and assigned to Steve S.  

   

   

DescriptionDescEnvironment
Yang
  1. Testing in SB05 Lab Instance
  2. Current testing is failing in SDNC. Checking on the logs for failure  

 

Robot Script integration with SDC for naming-policy update, nf role etc.. [Completed]

Robot Script integration with policy manager for storing the naming recipe as part of the onap instantiation. [Completed]

Robot Script to update to pass the onap_private_subnet_id at the vnf level. [Completed]

protected_private_subnet_id


Still Issue with the current environment. Being worked.

SDC Distribution is failing. No Release docker that cant control the version. Blocking CDS testing. SDC Distribution has been patched and fixed. Yang is working on the distribution of the latest vFW csar package after the SB05 reinstall.


Do we want to resolve via input or env file.

  • The only drawback for env file is that it has to be reworked for every onap instance that is created.
  • Yang to follow up with Marco.
  • Does the value have to be unique for ONAP instance.
  • Casablanca focus the testing with SO starting point.
  • Dublin release focus the testing with VID as the starting point.


Question:

Can the Macro instantiation use case be triggered with VID. Yuriy: Yes it should be covered. Yang to share the logs for the VID Failure.

Integration Testing
Alexis
  1. Fixing issue in DD, Blueprint, and Velocity.  (Auto Generated for Blueprint should be a target for Dublin) 
  2. High Level status: 
    • Service Assign Passed 
    • VNF Assign Passed
    • Base Assign Passed
    • vFW Module Assign Passed
    • vPG Module Assign Passed
    • vSN Module Assign Passed


A&AI Capability for putting in updates for the generic vnf object and vf module objects. Pat is working on the issue and will submit by 10/12/18.


Alexis: Retest the use case for manual naming assignment.


NOTE:

In General all the capabilities are passing for naming-generation capability, netbox capability, all the MD-SAL and DD resource retrieval is passing.


3. Completed all the Assignment

4. Now SO is trigger the Create-Activate BB but its failing.


SO-1107  - Max Benjamin shall upstream the SO fix. [Completed]

11/16 - Latest SO JIRA:   SO-1141 - Getting issue details... STATUS


SDNC: SO failed b/c A&AI didn't have the self-links. SDNC didn't update the self links (A&AI ) as part of the assignment capability.

SO issue: the cloudOwner is being hardcode as att-aic. Steve S is looking into the fix.

SO is retrying the failed request over and over again in the loop. – Steve S has said a fix is ready and available.

SO Issue: Failing need to be check why. Latest issue.



Plan is to have Alexis start testing in SB05.  10/16.

October 23, 2018:

SO to OOF pairwise testing issue is blocking instantiation use cases progress.  Possible workaround is to use OOF emulator that needs to be integrated with SO. 

OOF implementation in GR-API maybe incomplete. Need meeting with SO team to make progress.

OOF implementation with the VNF-API is coupled to the vCPE use case.  

Moved the cloud param from VF Module to VNF level such as image_name, key_name, and pub_key for shared resourced.

Resolved a bug in the heat that overriding the key_name value provide by ONAP. Marco committed and merge the changes.

 



Local Testing



```
Retrieve the Model Information from SO Database. Update the get command with the name. 


curl -X GET \
  'http://10.195.197.73:31883/ecomp/mso/catalog/v2/serviceVnfs?serviceModelName=vFW_CDS' \
  -
H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-FromAppId: AAI' \
  -H 'X-TransactionId: get_aai_subscr'





SO Payload:

{
  "requestDetails": {
    "subscriberInfo": {
      "globalSubscriberId": "Demonstration"
    },
    "requestInfo": {
      "suppressRollback": true,
      "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
      "requestorId": "adt",
      "instanceName": "test-1234",
      "source": "VID"
    },
    "cloudConfiguration": {
      "lcpCloudRegionId": "RegionOne",
      "tenantId": "7320ec4a5b9d4589ba7c4412ccfd290f"
    },
    "requestParameters": {
      "subscriptionServiceType": "vFW",
      "userParams": [
        {
          "service": {
            "instanceParams": [],
            "instanceName": "Service_E2E_vFW",
            "resources": {
              "vnfs": [
                {
                  "modelInfo": {
                    "modelName": "d26a74bc-3fdb-4fd2-ad55",
                    "modelVersionId": "69a7d967-fe68-49d2-ad6b-fc40f5f5b31c",
                    "modelInvariantUuid": "c397d40f-cd2a-4b19-add6-e12ea9ecf4ab",
                    "modelVersion": "2.0",
                    "modelCustomizationId": "2cc242bc-ff38-4bac-9650-5fe1b54f5aeb",
                    "modelInstanceName": "d26a74bc-3fdb-4fd2-ad55 0"
                  },
                  "cloudConfiguration": {
                    "lcpCloudRegionId": "RegionOne",
                    "tenantId": "demo"
                  },
                  "platform": {
                    "platformName": "test"
                  },
                  "lineOfBusiness": {
                    "lineOfBusinessName": "someValue"
                  },
                  "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
                  "instanceName": "vFirewall 0",
                  "instanceParams": [],
                  "vfModules": [
                    {
                      "modelInfo": {
                        "modelName": "D26a74bc3fdb4fd2Ad55..base_template..module-0",
                        "modelVersionId": "e3c095c3-a620-4828-a689-7132936b90ff",
                        "modelInvariantUuid": "ac36a6de-0f92-4ee2-8b39-1b0dba0058f5",
                        "modelVersion": "1",
                        "modelCustomizationId": "1f8ff6cf-640b-432f-9dec-1352b7e1f862"
                      },
                      "instanceName": "vfirewall0..Vfirewall..base_template..module-0",
                      "instanceParams": [
                        {}
                      ]
                    },
                    {
                      "modelInfo": {
                        "modelName": "D26a74bc3fdb4fd2Ad55..vfw..module-3",
                        "modelVersionId": "086223d6-352c-47d3-abb4-213711fc5188",
                        "modelInvariantUuid": "d9e4a4e0-c0d3-4bd3-89cc-c6b95af29f6d",
                        "modelVersion": "1",
                        "modelCustomizationId": "a6751179-1762-4771-8ccb-541516c53cf2"
                      },
                      "instanceName": "vfirewall0..Vfirewall..vfw..module-0",
                      "instanceParams": [
                        {}
                      ]
                    },
                    {
                      "modelInfo": {
                        "modelName": "D26a74bc3fdb4fd2Ad55..vpg..module-2",
                        "modelVersionId": "6a18492b-4c9d-47a5-a8eb-34b085db0eb0",
                        "modelInvariantUuid": "74d0a390-c76f-42fd-ae5d-dc9bea9b79a5",
                        "modelVersion": "1",
                        "modelCustomizationId": "a505c501-0264-4835-821e-006d603691a9"
                      },
                      "instanceName": "vfirewall0..Vfirewall..vpg..module-0",
                      "instanceParams": [
                        {}
                      ]
                    },
                    {
                      "modelInfo": {
                        "modelName": "D26a74bc3fdb4fd2Ad55..vsn..module-1",
                        "modelVersionId": "37272aa7-aa29-4772-a1f9-2a67c5860df6",
                        "modelInvariantUuid": "ba2e53f1-73ca-40c2-97fe-a1bc74c278ba",
                        "modelVersion": "1",
                        "modelCustomizationId": "8b59f644-f1ac-4a57-8ddb-c6680bc5a22c"
                      },
                      "instanceName": "vfirewall0..Vfirewall..vsn..module-0",
                      "instanceParams": [
                        {}
                      ]
                    }
                  ]
                }
              ]
            },
            "modelInfo": {
              "modelVersion": "1.0",
              "modelVersionId": "88da85c-d9e8-4f73-b837-3a72a431622b",
              "modelInvariantId": "7242c3f8-c5d8-4069-be3c-0db8bf4caa4d",
              "modelName": "vFW_CDS",
              "modelType": "service"
            }
          }
        }
      ],
      "aLaCarte": false
    },
    "project": {
      "projectName": "Project-Demonstration"
    },
    "owningEntity": {
      "owningEntityId": "33a8b609-1cfe-4d19-8dc2-5b95b921dd1e",
      "owningEntityName": "OE-Demonstration"
    },
    "modelInfo": {
      "modelVersion": "1.0",
      "modelVersionId": "88da85c-d9e8-4f73-b837-3a72a431622b",
      "modelInvariantId": "7242c3f8-c5d8-4069-be3c-0db8bf4caa4d",
      "modelName": "vFW_CDS",
      "modelType": "service"
    }
  }
}