pvc/daemon-common
Joshua Boniface e7b6a3eac1 Implement SR-IOV PF and VF instances
Adds support for the node daemon managing SR-IOV PF and VF instances.

PFs are added to Zookeeper automatically based on the config at startup
during network configuration, and are otherwise completely static. PFs
are automatically removed from Zookeeper, along with all coresponding
VFs, should the PF phy device be removed from the configuration.

VFs are configured based on the (autocreated) VFs of each PF device,
added to Zookeeper, and then a new class instance, SRIOVVFInstance, is
used to watch them for configuration changes. This will enable the
runtime management of VF settings by the API. The set of keys ensures
that both configuration and details of the NIC can be tracked.

Most keys are self-explanatory, especially for PFs and the basic keys
for VFs. The configuration tree is also self-explanatory, being based
entirely on the options available in the `ip link set {dev} vf` command.

Two additional keys are also present: `used` and `used_by`, which will
be able to track the (boolean) state of usage, as well as the VM that
uses a given VIF. Since the VM side implementation will support both
macvtap and direct "hostdev" assignments, this will ensure that this
state can be tracked on both the VF and the VM side.
2021-06-17 01:33:03 -04:00
..
migrations/versions Implement SR-IOV PF and VF instances 2021-06-17 01:33:03 -04:00
ceph.py Fix bug in snapshot rename 2021-06-14 00:55:26 -04:00
cluster.py Fix schema path call and version check 2021-06-13 14:46:30 -04:00
common.py Allow VNI for "direct" type vNICs 2021-06-15 00:27:01 -04:00
log.py Move logger to common, fix buffering 2021-06-01 18:50:26 -04:00
network.py Fix invalid type_key 2021-06-13 21:20:10 -04:00
node.py Convert node.py to new ZK schema handler 2021-06-13 13:18:34 -04:00
vm.py Correct key typo and add error handler 2021-06-13 15:49:30 -04:00
zkhandler.py Implement SR-IOV PF and VF instances 2021-06-17 01:33:03 -04:00