euag_improved_management_of_datacenter_capabilities.md
Improved management of datacenter capabilities
Proposer
EUAG
Type
Feature
Target MDG/TF
SO, UI
Description
This feature partially obsoletes feature #175: https://osm.etsi.org/gerrit/#/c/175
It is desirable that the instantiation of a VNF in a specific datacenter could be rejected at SO level without contacting the RO and the VIMs, based on the VNFD and the declared capabilities of the VIM, thus avoiding the often time-consuming VIM interactions.
Default values for Openstack, OpenVIM and VMware should be loaded when adding a new datacenter, but these values might be changed.
Datacenter capabilities (and their edition) are expected to be exposed in the UI.
Design preview
This is an E2E feature affecting at least UI and SO:
- UI and clients will use the SO NB API to drive datacenter additions and updates
- SO NB API must implement new primitives for:
- Creating a new datacenter
- Attaching a datacenter to a tenant
- Updating a datacenter
- Listing all datacenters
- Listing the available datacenters for a specific tenant
- Detaching a datacenter from a tenant
- Deleting a datacenter
- New construct in the SO is required to store datacenters and its capabilities
- The list of capabilities or tags is not limited. It could be updated periodically when a new need is detected (e.g. passthrough of some devices?)
- Default values should be defined per VIM type.
- Tags could be grouped so that UI look and feel is improved
- Custom tags could be defined when adding a datacenter
The initial list of tags identified so far is:
- epa:
- hugepages
- sriov
- passthrough
- cpupinning
- numapinning
- cpupolicies (potentially several policies apply here)
- underlay_network_control
- differential_capabilities
- userdata
- multidisk
Demo or definition of done
- Add a datacenter
- Add a VNF that should work in that datacenter with the default options.
- Instantiate a NS using that VNF in the previous datacenter. It should success.
- Update the datacenter capabilities by changing one tag so that subsequent instantiation of the VNF would fail.
- Instantiate the same NS as before in the same datacenter. It should fail.