Versions Compared

Key

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

...

Code Block
Occasion one: Normal way
#Available policies inside the policy db
- 
        OSDF_CASABLANCA.Affinity_Default_vCPE_US_0:
            type: onap.policies.optimization.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
                policy-version: 1
            properties:
                scope: [OSDF_FRANKFURT]
                services: [vCPE]
                resources: [vG]
                geography: [US]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: different
                    category: complex

- 
        OSDF_CASABLANCA.Affinity_Default_vCPE_US_1:
            type: onap.policies.optimization.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
                policy-version: 1
            properties:
                scope: [OSDF_FRANKFURT]
                services: [vCPE]
                resources: [vGMux]
                geography: [US]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: different
                    category: complex


# VFC Request
{  
    "requestInfo":{  
        "transactionId":"12348659-a547-4b81-954e-a244fc5f0f9e",
        "requestId":"12348659-a547-4b81-954e-a244fc5f0f9e",
        "callbackUrl":"http://10.42.57.133:8403/api/nslcm/v1/ns/placevnf",
        "sourceId":"vfc",
        "requestType":"create",
        "numSolutions":1,
        "optimizers":[  
            "placement"
        ],
        "timeout":600
    },
    "placementInfo":{  
        "requestParameters":{  
            "customerLatitude":"32.897480",
            "customerLongitude":"97.040443",
            "customerName":"some_company"
        },
        "subscriberInfo":{  
            "globalSubscriberId":"",
            "subscriberName":"",
            "subscriberCommonSiteId":""
        },
        "placementDemands":[  
            {  
                "resourceModuleName":"vG",
                "serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2d",
                "tenantId":"null",
                "resourceModelInfo":{  
                    "modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f175",
                    "modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fba",
                    "modelName":"7400fd06-c75f-4a44-a68f",
                    "modelType":"",
                    "modelVersion":"1.0",
                    "modelCustomizationName":""
                }
            },
            {  
                "resourceModuleName":"vGMux",
                "serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2e",
                "tenantId":"null",
                "resourceModelInfo":{  
                    "modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f176",
                    "modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fbb",
                    "modelName":"7400fd06-c75f-4a44-a68g",
                    "modelType":"",
                    "modelVersion":"1.0",
                    "modelCustomizationName":""
                }
            }
        ]
    },
    "serviceInfo":{  
        "serviceInstanceId":"83a23b7a-e68e-4496-a3b2-3bfd822ed63b",
        "serviceName":"vcpe",
        "modelInfo":{  
            "modelType":"",
            "modelInvariantId":"0d9312af-96fa-425c-b732-01eeca3c3490",
            "modelVersionId":"65f761a4-45db-4cde-8d7c-ef9512585098",
            "modelName":"vCPE 2018-10-31 19:17:04",
            "modelVersion":"1.0",
            "modelCustomizationName":""
        }
    }
}

#Retrieval plans
Plan A: If we are going to send only one policy request per VFC request to get all policies, the config need to have two resources both appeared in the 'resources' filter which shall look like this:
        Config:     {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vcpe"],
                        "geography": ["US"],
                        "resources": ["vG", "vGMux"],
                        "scope": ["OSDF_FRANKFURT"] }"
    
   Both two policies inside the DB will be fetched. However, itif alsowe meanssend thatout OSDFa needrequest tolike dothis, the work to groupneither of the policies forshould vGbe andfetched.
vGMux.

Plan B: If we are going to send multiple policy requests(one request per vnf), there would be two separate configs with different values inside the key 'resources':
        Config A:   {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vcpe"],
                        "geography": ["US"],
                        "resources": ["vG"],
                        "scope": ["OSDF_FRANKFURT"] }"
       Config B:    {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vcpe"],
                        "geography": ["US"],
                        "resources": ["vGMux],
                        "scope": ["OSDF_FRANKFURT"] }"
      In this way, each policy will be respond to OSDF for certain request.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Occasion 2: Only one default policy available in policy db
#Available policies inside the policy db
-
        OSDF_CASABLANCA.Affinity_Default_US:
            type: onap.policies.optimization.AffinityPolicy
            version: 1.0.0
            type_version: 1.0.0
            metadata:
                policy-id: OSDF_CASABLANCA.Affinity_Default_US
                policy-version: 1
            properties:
                scope: [OSDF_FRANKFURT]
                services: [vCPE]
                resources: []
                geography: [US]
                identity: affinity_vCPE
                applicableResources: any
                affinityProperties:
                    qualifier: same
                    category: complex

# A same homing request is then made to OOF
{  
    "requestInfo":{  
        "transactionId":"12348659-a547-4b81-954e-a244fc5f0f9e",
        "requestId":"12348659-a547-4b81-954e-a244fc5f0f9e",
        "callbackUrl":"http://10.42.57.133:8403/api/nslcm/v1/ns/placevnf",
        "sourceId":"vfc",
        "requestType":"create",
        "numSolutions":1,
        "optimizers":[  
            "placement"
        ],
        "timeout":600
    },
    "placementInfo":{  
        "requestParameters":{  
            "customerLatitude":"32.897480",
            "customerLongitude":"97.040443",
            "customerName":"some_company"
        },
        "subscriberInfo":{  
            "globalSubscriberId":"",
            "subscriberName":"",
            "subscriberCommonSiteId":""
        },
        "placementDemands":[  
            {  
                "resourceModuleName":"vG",
                "serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2d",
                "tenantId":"null",
                "resourceModelInfo":{  
                    "modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f175",
                    "modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fba",
                    "modelName":"7400fd06-c75f-4a44-a68f",
                    "modelType":"",
                    "modelVersion":"1.0",
                    "modelCustomizationName":""
                }
            },
            {  
                "resourceModuleName":"vGMux",
                "serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2e",
                "tenantId":"null",
                "resourceModelInfo":{  
                    "modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f176",
                    "modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fbb",
                    "modelName":"7400fd06-c75f-4a44-a68g",
                    "modelType":"",
                    "modelVersion":"1.0",
                    "modelCustomizationName":""
                }
            }
        ]
    },
    "serviceInfo":{  
        "serviceInstanceId":"83a23b7a-e68e-4496-a3b2-3bfd822ed63b",
        "serviceName":"vcpe",
        "modelInfo":{  
            "modelType":"",
            "modelInvariantId":"0d9312af-96fa-425c-b732-01eeca3c3490",
            "modelVersionId":"65f761a4-45db-4cde-8d7c-ef9512585098",
            "modelName":"vCPE 2018-10-31 19:17:04",
            "modelVersion":"1.0",
            "modelCustomizationName":""
        }
    }
}

#Retrieval plans
Plan A: If we are going to send only one policy request per VFC request to get all policies, the config should contain both resources in the 'resources' filter which shall look like this:
        Config:     {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vCPE"],
                        "geography": ["US"],
                        "resources": ["vG, vGMux"],
                        "scope": ["OSDF_FRANKFURT"] }"
        Still ONLYneither of ONEthe policies willcan be fetched. However, how can OSDF judge it is a policy for vG or vGMux??

Plan B: If we are going to send multiple policy requests(one request per vnf), there would be two separate configs with different values inside the key 'resources':
        Config A:   {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vcpe"],
                        "geography": ["US"],
                        "resources": ["vG"],
                        "scope": ["OSDF_FRANKFURT"] }"
       Config B:    {"ONAPName": "OOF",
                     "ONAPComponent": "OOF_Component",
                     "ONAPInstance": "OOF_Component_Instance",
                     "action": "optimize",
                     "resources": "{
                        "services": ["vcpe"],
                        "geography": ["US"],
                        "resources": ["vGMux],
                        "scope": ["OSDF_FRANKFURT"] }"
      In this way, the default policy will be respond to OSDF for certain request.

...