Nova-compute depends on having sysfs on the compute host outside of the virt driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Triaged
|
Medium
|
Unassigned |
Bug Description
In general we want the host OS and hypervisor specific handling to be hidden behind the virt driver in the nova-compute service. So that the service could run on a Window host with a HyperV driver while also running on a Linux host with the libvirt virt driver.
However today there is a list of calls[1] from the nova.network.
However architecturally it is not good that the neutron interface code depends on hypervisor specific filesystem calls.
we spoke about this on irc and I agree with gibi that architecturally we should not couple the nuetorn module to the
virt driver or host operating system by using sysfs or having the neutron module call into the virt driver.
in the specific cases referred too in the bug the virtdriver should be able to populate the required info into the extra_info
filed of the pcidevice object and optionally expose that as properties on the object for convenience avoiding version bump and maintaining backwards compatibility.
this will allow the neutron module to be virt and sysfs independent and move the PCI module dependice to the virt driver which already depend on it today.
this is triaged as a medium bug since it will not break any existing deployments since hyperv does not support PCI passthrough or sriov today but going forward we should not continue this design approach so this is latent tech debt that is good to clean up.
this approach was first introduced with the port minium bandwidth qos feature and has recently been followed by the off path network backends feature which brought this architectural defect to light.