...
Logical Node i/O Requirements
Capability Name | Capability Value | Descriptiopn |
---|---|---|
Capability Name | Capability Value | Descriptiopn |
pciVendorId | PCI-SIG vendor ID for the device | |
pciDeviceId | PCI-SIG device ID for the device | |
pciNumDevices | Number of PCI devices required. | |
pciAddress | Geographic location of the PCI device via the standard PCI-SIG addressing model of Domain:Bus:device:function | |
pciDeviceLocalToNumaNode | required notRequired | Determines if I/O device affinity is required. |
Network Interface Requirements
Capability Name | Capability Value | Description |
---|---|---|
nicFeature | LSO, LRO, RSS, RDMA | Long list of NIC related items such as LSO, LRO, RSS, RDMA, etc. |
dataProcessingAccelerationLibray | Dpdk_Version | Name and version of the data processing acceleration library required. Orchestration can match any NIC that is known to be compatible with the specified library. |
interfaceType | Virtio, PCI-Passthrough, SR-IOV, E1000, RTL8139, PCNET | Network interface type |
vendorSpecificNicFeature | TBA | List of vendor specific NIC related items. |
OOF
Section | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "requestId": "xxxx", "transactionId": " xxxx ", "statusMessage": " xxxx ", "requestStatus": "completed", "solutions": { "placementSolutions": [ [ { "resourceModuleName": " vG ", "serviceResourceId": " xxxx ", "solution": { "identifierType": "serviceInstanceId", "identifiers": [ " xxxx " ], "cloudOwner": " xxxx " }, "assignmentInfo": [ { "key":"isRehome", "value":"false" }, { "key":"locationId", "value":"DLLSTX1A" }, { "key":"locationType", "value":"openstack-cloud" }, { "key":"vimId", "value":"rackspace_DLLSTX1A" }, { "key":"physicalLocationId", "value":"DLLSTX1223" }, { "key":"oofDirectives", "value": { "directives":[ { "id":"<vdu.name>", "type":"vnfc", "directives":[ { "type":"flavor_directive", "attributes":[ { "attribute_name":"flavor_name", //just a string 'flavor_name' "attribute_value":"<flavor_name>" #VIM Flavor, which oof seleted. } ] }, { "type": "pciePassthrough_directive", "attributes":[ {"attribute_name":"vnic_type", "attribute_value":"direct"}, {"attribute_name":"provider_network", "attribute_value":"physnet1"} ] }, { "type": "pciePassthrough_directive", "attributes": [ {"attribute_name":"vnic_type", "attribute_value":"direct"}, {"attribute_name":"provider_network", "attribute_value":"physnet2"} ] } ] } ] } } ] } ] ], "licenseSoutions": [ { "resourceModuleName": "string", "serviceResourceId": "string", "entitlementPoolUUID": [ "string" ], "licenseKeyGroupUUID": [ "string" ], "entitlementPoolInvariantUUID": [ "string" ], "licenseKeyGroupInvariantUUID": [ "string" ] } ] } } |
MultiCloud
OpenStack Config SRIOV
Openstack configuration:
- NIC configuration refer to https://docs.openstack.org/neutron/pike/admin/config-sriov.html
An example of a site having three types of compute nodes. 1st set of compute nodes have two SRIOV NIC cards with vendor/device id as 1234, 5678 and vendor/device id as 2345 &6789. 2nd set of compute nodes have two SRIOV-NIC of same type 4321 & 8765. And the third set of compute nodes don't have any SRIOV-NIC cards. And hence OpenStack administrator at the site creates three flavors to reflect the hardware the site has. As you see in this example, it is expected that alias format is followed. Alias value supposed to be of the form "NIC-sriov-<vendor ID>-<device ID>-<Provider network>
$ openstack flavor create flavor1 --id auto --ram 512 --disk 40 --vcpus 4
$ openstack flavor set flavor1 --property pci_passthrough:alias=sriov-nic-intel-8086-0443-physnet1:1
$ openstack flavor set flavor1 --property pci_passthrough:alias=sriov-nic-intel-6808-3440-physnet2:1
Multi-cloud discovery
When it reads the flavors information from OpenStack site, if the pci_passthrough alias starts with SRIOV-NIV, then it assumes that it is SRIOV NIC type.
Next two integers are meant for vendor id and device id.
If it is present after device id, it is assumed to be provider network.
As part of discovery, it populates the A&AI with two PCIe features for Flavor1.
hpa-feature=”pciePassthrough”,
architecture=”{hw_arch}",
version=”v1”,
Hpa-attribute-key | Hpa-attribute-value |
pciVendorId | 8086 |
pciDeviceId | 0443 |
pciCount | 1 |
directive | [ {"attribute_name": "vnic-type", "attribute_value": "direct"}, {"attribute_name": "physical-network", "attribute_value": "physnet1"}, ] |
hpa-feature=”pciePassthrough”,
architecture=”{hw_arch}",
version=”v1”,
Hpa-attribute-key | Hpa-attribute-value |
pciVendorId | 6808 |
pciDeviceId | 3440 |
pciCount | 1 |
directive | [ {"attribute_name": "vnic-type", "attribute_value": "direct"}, {"attribute_name": "physical-network", "attribute_value": "physnet2"}, ] |
HPA VF-C Casablanca Stories
...