Versions Compared

Key

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

Table of Contents

...

Components

Status

AAI – Multicloud

Done - Working

OOF – AAI

Done - Working


OOF  – SO

Testing In Progress – SO - OOF testing in SB01

OOF  – Policy

Done - Working per Ankit     


We are making good progress on pairwise testing. HPA  HPA is unique in that it relies on a multitude of projects and OOF is new and untested. Most of HPA work is gated by OOF, but we are doing our best to help facilitate OOF testing.

Updates: 
Wednesday     5/23/18

OOF - SO, Fixing some API conformance issues, for example OOF does not support License Homing for Beijing, removed from the homing call https://gerrit.onap.org/r/#/c/48825/, retesting and working through 

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-573

Tuesday     5/22/18 

OOF - SO, We have had multiple working meetings since last week and have made a lot of progress. We got SB01 configured and have been running tests, filing bugs and fixing bugs and retesting.

...

 OOF - Policy Done | OOF - AAI Done | OOF - SO, testing started in SB01

Wednesday      5/16/18 

Example policies and modified CSAR's have been created and attached to this page. | OOF - Policy Debug Still in Progress | OOF - AAI Waiting for multicloud fix | OOF - SO, testing started in SB01

Tuesday      5/15/18

OOF -AAI, AAI connectivity resolved | OOF - Policy, Still testing/Troubleshooting with Policy | OOF - SO, exact regression CSAR's acquired, modification started | AAI – Multicloud, A couple issues with data model used have been fixed that blocked AAI

Monday      5/14/18

OOF - Policy, Bugs Found in Final Tests, Policy Team working on fixes per Ankit | OOF - AAI Needed further data populated by Multicloud in AAI - In Progress |  OOF - SO, Testing Setup but blocked by other parts | AAI - Multicloud Working

...

  • Setup vCPE the same as regression; up to Service Instantiation
  • Before vCPE Service Instantiation
    • Create HPA policies – See wiki page /wiki/spaces/DW/pages/16279393 
      Example policies: 

      Code Block
      languagebash
      titleHPA Policy Example 1
      { 
         "riskLevel":"1",
         "riskType":"SampleRiskType",
         "policyName":"PolicyHPA3",
         "service":"hpaPolicy",
         "guard":"False",
         "description":"Must have Huge pages support",
         "templateVersion":"OpenSource.version.1",
         "priority":"1",
         "version":"CSIT",
         "content":{ 
            "identity":"hpaPolicy_set3",
            "policyScope":[ 
               "INTERNATIONAL"
            ],
            "policyType":"hpaPolicy",
            "resources":"vGMuxInfra",
            "flavorFeatures":[ 
               { 
                  "flavorLabel":"vcpe.vgmux",
                  "flavorProperties":[ 
                     { 
                        "hpa-feature-attributes":[ 
                           { 
                              "hpa-attribute-key":"numVirtualCpu",
      						"hpa-attribute-value":"4",
                              "operator":"="
                           },
      					 {
                              "hpa-attribute-key":"virtualMemSize",
                              "hpa-attribute-value":"8192",
                              "operator":"=",
                              "unit":"MB"
                           }
                        ],
                        "mandatory":"True",
                        "hpa-feature":"basicCapabilities",
                        "architecture":"generic",
      				  "hpa-version":"v1"
                     },
                     { 
                        "hpa-feature-attributes":[ 
                           { 
                              "hpa-attribute-key":"logicalCpuPinningPolicy",
                              "hpa-attribute-value":"dedicated",
                              "operator":"="
                           }
                        ],
                        "mandatory":"True",
                        "hpa-feature":"cpuPinning",
                        "architecture":"generic",
      				  "hpa-version":"v1",
                     }
                  ]
               }
            ]
         }
      }
      Code Block
      languagebash
      titleHPA Policy Example 2
      { 
         "riskLevel":"1",
         "riskType":"SampleRiskType",
         "policyName":"PolicyHPA3",
         "service":"hpaPolicy",
         "guard":"False",
         "description":"Must have Huge pages support",
         "templateVersion":"OpenSource.version.1",
         "priority":"1",
         "version":"CSIT",
         "content":{ 
            "identity":"hpaPolicy_set3",
            "policyScope":[ 
               "INTERNATIONAL"
            ],
            "policyType":"hpaPolicy",
            "resources":"vGMuxInfra",
            "flavorFeatures":[ 
               { 
                  "flavorLabel":"vcpe.vgmux",
                  "flavorProperties":[ 
                     { 
                        "hpa-feature-attributes":[ 
                           { 
                              "hpa-attribute-key":"numVirtualCpu",
      						"hpa-attribute-value":"4",
                              "operator":">="
                           },
      					 {
                              "hpa-attribute-key":"virtualMemSize",
                              "hpa-attribute-value":"8",
                              "operator":"=",
                              "unit":"MB"
                           }
                        ],
                        "mandatory":"True",
                        "hpa-feature":"basicCapabilities",
                        "architecture":"generic",
      				  "hpa-version":"v1"
                     }
                  ]
               }
            ]
         }
      }


       This example will change based on flavors in OpenStack/Multicloud in the lab.

    • Create flavors in OpenStack
      • flavors which is used to discover HPA information should named with prefix of "onap." , otherwise there will no HPA information can be extracted by multicloud plugins for OpenStack
      • the number of flavors to be created for ONAP is determined by number of the generic flavors multiplied by the combination of HPA specification.
        • In this example, there are 2 generic flavors:
          • medium: 4 vcpu, 4GB memory, 40GB storage
          • large: 6 vcpu, 8GB memory, 80GB storage
        • In this example, there are 2 set of HPA specification:
          • set 1: hw:numa_nodes=2, hw:cpu_policy=dedicated, hw:mem_page_size=2M;
          • set 2: hw:cpu_policy=dedicated, hw:mem_page_size=2M
        • Hence the flavors named with prefix of "onap." are:
          • onap.flavor2.medium
            • medium with HPA set 1
          • onap.flavor2.large
            • large  with HPA set 1
          • onap.flavor3.medium
            • medium with HPA set 2
          • onap.flavor3.large
            • large with HPA set 2

    • Use modified CSARs flavorLabel attributes to match the ones created in policy - See below 'HPA Updated CSAR's' section.
    • Distribute CSARs to SO
  • At vCPE Service Instantiation
    • Send updated REST service instantiation request to SO that includes user param: Customer_Location
  • Continue the same as vCPE Regression and confirm all is well

Updates: 


Wednesday      5/16/18 


Example policies and modified CSAR's have been created and attached to this page. On policy side more will need to be created for all vCPE CSARs.


HPA Updated CSAR's

csars_20180516_HPA.zip

The above CSAR's are copies of the ones Kang is using for vCPE Regression Integration with one minor change.

Each CSAR has heat Environment File update to vcpe_flavor_name as follows:


CSAR Namevcpe_flavor_name

service-VcpesvcInfra0412a-csar

vcpe.infra

service-VcpesvcRescust0412a-csar

vcpe.vgw

service-VcpesvcVbng0412a-csar

vcpe.bng

service-VcpesvcVbrg0412a-csar

vcpe.brg

service-VcpesvcVgmux0412a-csar

vcpe.vgmux


HPA Code uses the vcpe_flavor_name to match HPA flavors to the correct policy and service. 


Postman Collection

Code Block
languagexml
{
	"variables": [],
	"info": {
		"name": "SO Pairwise",
		"_postman_id": "2cf34bf0-16d9-e9ad-0948-c0ded70fed44",
		"description": "",
		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
	},
	"item": [
		{
			"name": "SO Create vCPE",
			"request": {
				"url": "http://{{SO Host}}:8080/ecomp/mso/infra/serviceInstances/v5",
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json",
						"description": ""
					},
					{
						"key": "Authorization",
						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==",
						"description": ""
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n  \"requestDetails\": {\r\n    \"cloudConfiguration\": {\r\n      \"lcpCloudRegionId\": \"RegionOne\",\r\n      \"tenantId\": \"1e097c6713e74fd7ac8e4295e605ee1e\"\r\n    },\r\n    \"modelInfo\": {\r\n      \"modelInvariantId\": \"a3ebfaf2-3dea-43b0-bb8e-566f95735230\",\r\n      \"modelName\": \"vcpesvc_rescust_0412a\",\r\n      \"modelType\": \"service\",\r\n      \"modelVersion\": \"1.0\",\r\n      \"modelVersionId\": \"dc316752-561f-48a3-8354-d873c813735d\"\r\n    },\r\n    \"owningEntity\": {\r\n      \"owningEntityId\": \"520cc603-a3c4-4ec2-9ef4-ca70facd79c0\",\r\n      \"owningEntityName\": \"OE-Demonstration\"\r\n    },\r\n    \"project\": {\r\n      \"projectName\": \"Project-Demonstration\"\r\n    },\r\n    \"requestInfo\": {\r\n      \"instanceName\": \"vcpe_svc_vcpesvc_rescust_0412a_201805102300\",\r\n      \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\r\n      \"requestorId\": \"vCPE-Robot\",\r\n      \"source\": \"VID\",\r\n      \"suppressRollback\": \"true\"\r\n    },\r\n    \"requestParameters\": {\r\n      \"aLaCarte\": \"false\",\r\n      \"subscriptionServiceType\": \"vCPE\",\r\n      \"userParams\": [\r\n        {\r\n          \"name\": \"BRG_WAN_MAC_Address\",\r\n          \"value\": \"fa:16:3e:c0:34:ef\"\r\n        },\r\n        {\r\n           \"name\": \"Customer_Location\",\r\n           \"value\": {\r\n              \"customerLatitude\": \"32.897480\",\r\n              \"customerLongitude\": \"-97.040443\",\r\n              \"customerName\": \"some_company\"\r\n          }\r\n        }\r\n\r\n      ]\r\n    },\r\n    \"subscriberInfo\": {\r\n      \"globalSubscriberId\": \"SDN-ETHERNET-INTERNET\",\r\n      \"subscriberName\": \"Kaneohe\"\r\n    }\r\n  }\r\n}"
				},
				"description": ""
			},
			"response": []
		},
		{
			"name": "Policy vCPE HPA1",
			"request": {
				"url": "http://{{Policy Host}}/pdp/api/createPolicy",
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json",
						"description": ""
					},
					{
						"key": "Authorization",
						"value": "Basic dGVzdHBkcDphbHBoYTEyMw==",
						"description": ""
					},
					{
						"key": "cache-control",
						"value": "no-cache",
						"description": ""
					},
					{
						"key": "clientauth",
						"value": "cHl0aG9uOnRlc3Q=",
						"description": ""
					},
					{
						"key": "content-type",
						"value": "application/json",
						"description": ""
					},
					{
						"key": "environment",
						"value": "TEST",
						"description": ""
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n   \"riskLevel\":\"1\",\r\n   \"riskType\":\"SampleRiskType\",\r\n   \"policyName\":\"PolicyHPA3\",\r\n   \"service\":\"hpaPolicy\",\r\n   \"guard\":\"False\",\r\n   \"description\":\"Must have Huge pages support\",\r\n   \"templateVersion\":\"OpenSource.version.1\",\r\n   \"priority\":\"1\",\r\n   \"version\":\"CSIT\",\r\n   \"content\":{\r\n      \"identity\":\"hpaPolicy_set3\",\r\n      \"policyScope\":[\r\n         \"INTERNATIONAL\"\r\n      ],\r\n      \"policyType\":\"hpaPolicy\",\r\n      \"resources\":\"vGMuxInfra\",\r\n      \"flavorFeatures\":[\r\n         {\r\n            \"flavorLabel\":\"vcpe.vgmux\",\r\n            \"flavorProperties\":[\r\n               {\r\n                  \"hpa-feature-attributes\":[\r\n                     {\r\n                        \"hpa-attribute-key\":\"numVirtualCpu\",\r\n                        \"hpa-attribute-value\":\"4\",\r\n                        \"operator\":\"=\"\r\n                     },\r\n                     {\r\n                        \"hpa-attribute-key\":\"virtualMemSize\",\r\n                        \"hpa-attribute-value\":\"8192\",\r\n                        \"operator\":\"=\",\r\n                        \"unit\":\"MB\"\r\n                     }\r\n                  ],\r\n                  \"mandatory\":\"True\",\r\n                  \"hpa-feature\":\"basicCapabilities\",\r\n                  \"architecture\":\"generic\",\r\n                  \"hpa-version\":\"v1\"\r\n               },\r\n               {\r\n                  \"hpa-feature-attributes\":[\r\n                     {\r\n                        \"hpa-attribute-key\":\"logicalCpuPinningPolicy\",\r\n                        \"hpa-attribute-value\":\"dedicated\",\r\n                        \"operator\":\"=\"\r\n                     }\r\n                  ],\r\n                  \"mandatory\":\"True\",\r\n                  \"hpa-feature\":\"cpuPinning\",\r\n                  \"architecture\":\"generic\",\r\n                  \"hpa-version\":\"v1\",\r\n               }\r\n            ]\r\n         }\r\n      ]\r\n   }\r\n}"
				},
				"description": ""
			},
			"response": []
		},
		{
			"name": "Policy vCPE HPA2",
			"request": {
				"url": "http://{{Policy Host}}/pdp/api/createPolicy",
				"method": "PUT",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json",
						"description": ""
					},
					{
						"key": "Authorization",
						"value": "Basic dGVzdHBkcDphbHBoYTEyMw==",
						"description": ""
					},
					{
						"key": "cache-control",
						"value": "no-cache",
						"description": ""
					},
					{
						"key": "clientauth",
						"value": "cHl0aG9uOnRlc3Q=",
						"description": ""
					},
					{
						"key": "content-type",
						"value": "application/json",
						"description": ""
					},
					{
						"key": "environment",
						"value": "TEST",
						"description": ""
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n   \"riskLevel\":\"1\",\r\n   \"riskType\":\"SampleRiskType\",\r\n   \"policyName\":\"PolicyHPA3\",\r\n   \"service\":\"hpaPolicy\",\r\n   \"guard\":\"False\",\r\n   \"description\":\"Must have Huge pages support\",\r\n   \"templateVersion\":\"OpenSource.version.1\",\r\n   \"priority\":\"1\",\r\n   \"version\":\"CSIT\",\r\n   \"content\":{\r\n      \"identity\":\"hpaPolicy_set3\",\r\n      \"policyScope\":[\r\n         \"INTERNATIONAL\"\r\n      ],\r\n      \"policyType\":\"hpaPolicy\",\r\n      \"resources\":\"vGMuxInfra\",\r\n      \"flavorFeatures\":[\r\n         {\r\n            \"flavorLabel\":\"vcpe.vgmux\",\r\n            \"flavorProperties\":[\r\n               {\r\n                  \"hpa-feature-attributes\":[\r\n                     {\r\n                        \"hpa-attribute-key\":\"numVirtualCpu\",\r\n                        \"hpa-attribute-value\":\"4\",\r\n                        \"operator\":\">=\"\r\n                     },\r\n                     {\r\n                        \"hpa-attribute-key\":\"virtualMemSize\",\r\n                        \"hpa-attribute-value\":\"8\",\r\n                        \"operator\":\"=\",\r\n                        \"unit\":\"MB\"\r\n                     }\r\n                  ],\r\n                  \"mandatory\":\"True\",\r\n                  \"hpa-feature\":\"basicCapabilities\",\r\n                  \"architecture\":\"generic\",\r\n                  \"hpa-version\":\"v1\"\r\n               }\r\n            ]\r\n         }\r\n      ]\r\n   }\r\n}"
				},
				"description": ""
			},
			"response": []
		}
	]
}


Associate a Complex Object with a cloud region

Code Block
titleAssociate Complex with Cloud Region
collapsetrue
Assume:
	AAI IP:PORT = 10.12.6.233:8443
    cloud-owner = CloudOwner
    Cloud-region-id = RegionOne
	Complex object with physical location id: clli1


curl -X PUT \
  https://10.12.6.233:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/relationship-list/relationship \
  -H 'Accept: application/json' \
  -H 'Authorization: Basic QUFJOkFBSQ==' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 64960a1c-be11-cb66-ffb5-f6d0298b0ac4' \
  -H 'Real-Time: true' \
  -H 'X-FromAppId: jimmy-postman' \
  -H 'X-TransactionId: 9999' \
  -d '{
"related-to": "complex",
"related-link": "/aai/v11/cloud-infrastructure/complexes/complex/clli1",
"relationship-data": [
{
        "relationship-key": "complex.physical-location-id",
        "relationship-value": "clli1"
}
]
}'



Another way to populate the default cloud region with complex is the robot script:

    Attach to robot VM, execute following script:

       $ /opt/demo.sh init_customer

    The default cloud-region (CloudOwner,RegionOne) and the default complex (clli1) and the association between them will be populated .

    Caveat:  The cloud-region populated by this script is not conform to the cloud region expected by multicloud. So it is not possible to discover/populate HPA information under this default cloud region.