Versions Compared

Key

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

vCPE Use Case - Customer Service Instantiation - 171103.pdf


11/9/2017

  1. vCpeResCust custom workflow:
    1. Brian made changes on the SDNC side. Now SDNC can pass a list of parameters to SO for vG assign call. Then SO passes those parameters to HEAT to instantiate vG.
    2. Jim fixed the DoDeleteVfModule flow to use generic-resource-api and construct the corresponding request body when performing SDNC deactivate call. Note that the flow checks the configuration variable sdncversion to determine what request body to construct. This is something not fully understood by the team.
    3. Delete of vG succeeded.
    4. Jim continues to work on 
      Jira
      serverONAP JIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keySO-325
      .
    5. Eric has modified vGMUX to add a workaround, see below:

      Code Block
      titlevGMUX set sourceName
      collapsetrue
      There is a vgmux image in the ONAP-vCPE project space called:  vgmux2-base-ubuntu-16-04
      
      This one has the ability to configure the sourceName in the VES event to something different than the default value (which is the vnf-id present in the vm’s openstack metadata).
      
      Some documentation:
      
      Configuring the VES mode - via REST
       
                     This will set the ‘demo’ mode and packet loss to 40%, but does ‘not’ change the sourceName:
      curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":40,"source-name":""}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent
       
      Delete the config in order to change it via REST:
      curl -i -H "Content-Type:application/json"  -X DELETE -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent/mode
       
      curl -i -H "Content-Type:application/json" --data '{"mode":{"working-mode":"demo","base-packet-loss":88,"source-name":"testing-123-ABC"}}' -X POST -u admin:admin http://127.0.0.1:8183/restconf/config/vesagent:vesagent
       
       
      Configuring the VES mode - via CLI
                     QUERY:  
      # vppctl show ves mode
        Mode   Base Packet Loss Rate   Source Name
        Demo                   88.0%   testing-123-ABC
       
      SET:
      vppctl set ves mode demo base 77 source hello-there
       
      This sets the sourceName to “hello-there”
      Leave off the 'source <name>' arguments to set back to default (i.e. vnf-id from openstack metadata)
       
       
      Sample event with an overwritten sourceName:
      {
          "event": {
              "commonEventHeader": {
                  "domain": "measurementsForVfScaling",
                  "eventId": "Generic_traffic",
                  "eventName": "Measurement_vGMUX",
                  "eventType": "HTTP request rate",
                  "lastEpochMicrosec": 1510347222243201,
                  "priority": "Normal",
                  "reportingEntityId": "No UUID available",
                  "reportingEntityName": "zdcpe1cpe01mux01",
                  "sequence": 23,
                  "sourceId": "vCPE_Infrastructure_vGMUX_demo_app",
                  "sourceName": "testing-123-ABC",
                  "startEpochMicrosec": 1510347212243201,
                  "version": 1.2
              },
              "measurementsForVfScalingFields": {
                  "additionalMeasurements": [
                      {
                          "arrayOfFields": [
                              {
                                  "name": "Packet-Loss-Rate",
                                  "value": "88.0"
                              }
                          ],
                          "name": "ONAP-DCAE"
                      }
                  ],
                  "cpuUsageArray": [
                      {
                          "cpuIdentifier": "cpu1",
                          "cpuIdle": 100.0,
                          "cpuUsageSystem": 0.0,
                          "cpuUsageUser": 0.0,
                          "percentUsage": 0.0
                      }
                  ],
                  "measurementInterval": 10,
                  "measurementsForVfScalingVersion": 2.1,
                  "requestRate": 2567,
                  "vNicUsageArray": [
                      {
                          "receivedOctetsDelta": 0.0,
                          "receivedTotalPacketsDelta": 0.0,
                          "transmittedOctetsDelta": 0.0,
                          "transmittedTotalPacketsDelta": 0.0,
                          "vNicIdentifier": "eth0",
                          "valuesAreSuspect": "true"
                      }
                  ]
              }
          }
      }
      
      
      
      
      
      
       




11/9/2017

  1. vCpeResCust custom workflow:
    1. Closed loop: manually send VES event to DCAE, APPC successfully restarted VNF via two options: directly talking to Openstack, calling MultiCloud API.
      1. To restart through Openstack, we need the following vserver info in AAI. This is added by heat bridge. Note that if identity-url is missing then APPC will use the default one from its properties. 


        Code Block
        "vserver-selflink": "http://10.12.25.2:8774/v2.1/466979b815b5415ba14ada713e6e1846/servers/9e17027d-c09d-45c4-9a7a-84f50a2246fd",
      2. In the appc container, /opt/openecomp/appc/data/properties/appc.properties should have either of the following lines.

        Code Block
        provider1.identity=http://10.12.25.2:5000/v3 #this is for openstack
        
        provider1.identity=http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne/identity/v2.0 #this is for multicloud



      3. To restart through MultiCloud, the following ESR should be added, note that the identity-url and  the vserver self link is pointing to MultiCloud. Note that the vserver selflink has a different IP and port. APPC picks up the user name and password from ESR and use them to access MultiCloud API.

        Code Block
        titleESR and vserver data from AAI
        collapsetrue
        https://aai1:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne?depth=all
        
        
        {
            "cloud-owner": "CloudOwner",
            "cloud-region-id": "RegionOne",
            "cloud-type": "SharedNode",
            "owner-defined-type": "OwnerType",
            "cloud-region-version": "v1",
            "identity-url": "http://10.0.14.1:9005/api/multicloud-titanium_cloud/v0/pod25_RegionOne/identity/v3",
            "cloud-zone": "CloudZone",
            "sriov-automation": false,
            "resource-version": "1510239649440",
            "tenants": {
                "tenant": [
                    {
                        "tenant-id": "466979b815b5415ba14ada713e6e1846",
                        "tenant-name": "Integration",
                        "resource-version": "1509709609665",
                        "vservers": {
                            "vserver": [
                                {
                                    "vserver-id": "9e17027d-c09d-45c4-9a7a-84f50a2246fd",
                                    "vserver-name": "zdcpe1cpe01dns01_110306",
                                    "vserver-name2": "zdcpe1cpe01dns01_110306",
                                    "prov-status": "ACTIVE",
                                    "vserver-selflink": "http://10.0.14.1:80/v2.1/466979b815b5415ba14ada713e6e1846/servers/9e17027d-c09d-45c4-9a7a-84f50a2246fd",
                                    "in-maint": false,
                                    "is-closed-loop-disabled": false,
                                    "resource-version": "1510183808208",
        ....
        
        
            "esr-system-info-list": {
                "esr-system-info": [
                    {
                        "esr-system-info-id": "432ac032-e996-41f2-84ed-9c7a1766eb29",
                        "system-name": "example-system-name-val-29070",
                        "type": "example-type-val-85254",
                        "vendor": "example-vendor-val-94515",
                        "version": "example-version-val-71880",
                        "service-url": "http://10.12.25.2:5000/v3",
                        "user-name": "demo",
                        "password": "onapdemo",
                        "system-type": "VIM",
                        "ssl-cacert": "example-ssl-cacert-val-75021",
                        "ssl-insecure": true,
                        "ip-address": "example-ip-address-val-44431",
                        "port": "example-port-val-93234",
                        "cloud-domain": "Default",
                        "default-tenant": "Integration",
                        "resource-version": "1510239649503"
                    }
                ]
            }
        }
    2. Tested DeleteVcpeResCust flow.
      1. After a few bug fixes, the flow was able to delete the vG stack. But the subsequent SDNC request returned an error: 
        Jira
        serverONAP JIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId425b2b0a-557c-3c0c-b515-579789cceedb
        keySDNC-184
        .
      2. The flow failed to pick up allotted resources: 
        Jira
        serverONAP JIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId425b2b0a-557c-3c0c-b515-579789cceedb
        keySO-325

...