pvc/node-daemon/pvcnoded
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
..
CephInstance.py Fix typo in CephInstance path 2021-06-10 00:36:02 -04:00
DNSAggregatorInstance.py Handle an additional exception case 2021-06-14 17:15:40 -04:00
Daemon.py Implement SR-IOV PF and VF instances 2021-06-17 01:33:03 -04:00
MetadataAPIInstance.py Ensure we don't grab None data 2021-06-13 16:43:25 -04:00
NodeInstance.py Actually disable the pvcapid service 2021-06-14 17:13:22 -04:00
SRIOVVFInstance.py Implement SR-IOV PF and VF instances 2021-06-17 01:33:03 -04:00
VMConsoleWatcherInstance.py Use more compatible is_alive in thread 2021-06-13 14:36:27 -04:00
VMInstance.py Just do the shutdown command itself 2021-06-15 02:32:14 -04:00
VXNetworkInstance.py Fix name of schema element 2021-06-13 20:56:17 -04:00
__init__.py Use consistent naming of components 2020-02-08 19:34:07 -05:00
dnsmasq-zookeeper-leases.py Update copyright year in headers 2021-03-25 17:01:55 -04:00
fencing.py Convert fencing to new ZK schema handler 2021-06-09 21:29:01 -04:00