...
Accordingly, the data structure 'directives' will also be added inside OOF HAS response. Since currently the pcie_directives can be get from either Policy or AAI, HAS still need to process the pcie_directives.
...
title | Sample directive data in AAI |
---|
hpa-feature=”sriovNICNetwork”,
architecture=”{hw_arch}",
version=”v1”,
...
Hpa-attribute-key
...
Hpa-attribute-value
...
pciVendorId
...
2345
...
pciDeviceId
...
'id' and 'type' will help VF-C to filter one VDU(VNFC in HEAT accordingly), and attributes inside will be used to pass down values of SRIOV NIC information.
...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
# # Example one: Only one vnfc/vdu inside such VNF, with requirements on basic capability and sriovNICNetwork. # { "plans": [ { "status": "done", "id": "plan_id", "name": "Plan Name 1", "links": [ [ { "href": "http://conductor:8091/v1/plans/plan_id", "rel": "self" } ] ], "recommendations": [ { "vFW": { "inventory_provider": "aai", "candidate": { "candidate_id": "DLLSTX1A", "cloud_owner": "CloudOwner1", "inventory_type": "cloud", "location_id": "DLLSTX1A", "location_type": "openstack-cloud" }, "attributes": { "directives": [ { "id": "<vdu.Name>", "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>", "directives": [ { "type": "flavor_directives", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_firewall", "attribute_value": "vim_flavor_X" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_protected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_protected", "attribute_value": "physnet1" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_unprotected", "attribute_value": "physnet2" } ] } ] } ] }, "cloud_owner": "CloudOwner1", "physical-location-id": "DLLSTX1A", "cloud_version": "3.0", "vim-id": "CloudOwner1_DLLSTX1A" } } ] } ] } # # Example two: Two vnfc/vdu inside such VNF. One with requirements on basic capability and sriovNICNetwork and the other one with requirements on basic capabilities, cpu pinning and huge pages. # { "plans": [ { "status": "done", "id": "plan_id", "name": "Plan Name 2", "links": [ [ { "href": "http://conductor:8091/v1/plans/plan_id", "rel": "self" } ] ], "recommendations": [ { "vFW": { "inventory_provider": "aai", "candidate": { "candidate_id": "DLLSTX1A", "cloud_owner": "CloudOwner1", "inventory_type": "cloud", "location_id": "DLLSTX1A", "location_type": "openstack-cloud" }, "attributes": { "directives": [ { "id": "<vdu.Name>", "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>", "directives": [ { "type": "flavor_directives", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_firewall", "attribute_value": "vim_flavor_X" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_protected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_protected", "attribute_value": "physnet1" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_unprotected", "attribute_value": "physnet2" } ] } ] }, { "id": "<vdu.Name>", "type": "<vnfc/vdu>tocsa.nodes.nfv.Vdu.Compute>", "directives": [ { "type": "flavor_directives", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_generator", "attribute_value": "vim_flavor_Y" } ] } ] } ] }, "cloud_owner": "CloudOwner1", "physical-location-id": "DLLSTX1A", "cloud_version": "3.0", "vim-id": "CloudOwner1_DLLSTX1A" } } ] } ] } |
...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
# # Example one: Only one vnfc/vdu inside such VNF, with requirements on basic capability and sriovNICNetwork. # { "requestId": "xxxx", "transactionId": " xxxx ", "statusMessage": " xxxx ", "requestStatus": "completed", "solutions": { "placementSolutions": [ [ { "resourceModuleName": " vFW ", "serviceResourceId": " xxxx ", "solution": { "identifierType": "serviceInstanceId", "identifiers": [ " xxxx " ], "cloudOwner": "CloudOwner1 " }, "assignmentInfo": [ { "key": "isRehome", "value": "false" }, { "key": "locationId", "value": "DLLSTX1A" }, { "key": "locationType", "value": "openstack-cloud" }, { "key": "vimId", "value": "CloudOwner1_DLLSTX1A" }, { "key": "physicalLocationId", "value": "DLLSTX1223" }, { "key": "oofDirectives", "value": { "directives": [ { "id": "<vdu.name>", "type": "vnfc/vdutocsa.nodes.nfv.Vdu.Compute", "directives": [ { "type": "flavor_directive", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_firewall", "attribute_value": "<flavor_name>" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_protected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_protected", "attribute_value": "physnet1" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_unprotected", "attribute_value": "physnet2" } ] } ] }, { "id": "<ID of VNF>", "type": "vnf", "directives": [ { "type": " ", "attributes": [ { "attribute_name": " ", "attribute_value": " " } ] } ] } ] } } ] } ] ], "licenseSoutions": [ { "resourceModuleName": "string", "serviceResourceId": "string", "entitlementPoolUUID": [ "string" ], "licenseKeyGroupUUID": [ "string" ], "entitlementPoolInvariantUUID": [ "string" ], "licenseKeyGroupInvariantUUID": [ "string" ] } ] } } # # Example two: Two vnfc/vdu inside such VNF. One with requirements on basic capability and sriovNICNetwork and the other one with requirements on basic capabilities, cpu pinning and huge pages. # { "requestId": "xxxx", "transactionId": " xxxx ", "statusMessage": " xxxx ", "requestStatus": "completed", "solutions": { "placementSolutions": [ [ { "resourceModuleName": " vFW ", "serviceResourceId": " xxxx ", "solution": { "identifierType": "serviceInstanceId", "identifiers": [ " xxxx " ], "cloudOwner": "CloudOwner1 " }, "assignmentInfo": [ { "key": "isRehome", "value": "false" }, { "key": "locationId", "value": "DLLSTX1A" }, { "key": "locationType", "value": "openstack-cloud" }, { "key": "vimId", "value": "CloudOwner1_DLLSTX1A" }, { "key": "physicalLocationId", "value": "DLLSTX1223" }, { "key": "oofDirectives", "value": { "directives": [ { "id": "<vdu.name>", "type": "vnfc/vdu", "directives": [ { "type": "flavor_directive", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_firewall", "attribute_value": "<flavor_name>" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_protected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_protected", "attribute_value": "physnet1" } ] }, { "type": "sriovNICNetwork_directive", "attributes": [ { "attribute_name": "oof_returned_vnic_type_for_firewall_unprotected", "attribute_value": "direct" }, { "attribute_name": "oof_returned_provider_network_for_firewall_unprotected", "attribute_value": "physnet2" } ] } ] }, { "id": "<vdu.name>", "type": "vnfc/vdu", "directives": [ { "type": "flavor_directive", "attributes": [ { "attribute_name": "oof_returned_flavor_label_for_generator", "attribute_value": "<flavor_name>" } ] } ] }, { "id": "<ID of VNF>", "type": "vnf", "directives": [ { "type": " ", "attributes": [ { "attribute_name": " ", "attribute_value": " " } ] } ] } ] } } ] } ] ], "licenseSoutions": [ { "resourceModuleName": "string", "serviceResourceId": "string", "entitlementPoolUUID": [ "string" ], "licenseKeyGroupUUID": [ "string" ], "entitlementPoolInvariantUUID": [ "string" ], "licenseKeyGroupInvariantUUID": [ "string" ] } ] } } |