pvc/node-daemon/pvcnoded
Joshua Boniface 7c99a7bda7 Safely reset RBD locks on failed VMs
Should correct issues on cold start as well as if a VM crashes
uncleanly, which would prevent the VM from starting due to stale RBD
locks.

This implementation has four parts:
  1. Update how IP addresses are handled, specifically by replacing all
  previous instances of "vni_ipaddr" with "vni_floatingipaddr", and then
  adding the "vni_ipaddr" with the real data for this node's IPs. Also
  include the storage IPs in this where they weren't before, so each
  this_node actually has the local IPs plus floating IPs. This enables
  the next two steps.
  2. Modify flush_locks to take this_node as an argument, and update the
  run_command function to only operate against this node, rather than on
  the primary coordinator.
  3. Have the flush_locks check each lock against the current node, to
  verify that the lock is actually held by the current node. This is the
  only way to do this safely. During fencing, we override this by not
  passing a this_node which bypasses this check.
  4. Have the VM start do the check for VM failure/startup and execute a
  flush_locks before actually starting the VM.
2020-12-14 15:53:18 -05:00
..
CephInstance.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
DNSAggregatorInstance.py Safely reset RBD locks on failed VMs 2020-12-14 15:53:18 -05:00
Daemon.py Safely reset RBD locks on failed VMs 2020-12-14 15:53:18 -05:00
MetadataAPIInstance.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
NodeInstance.py Safely reset RBD locks on failed VMs 2020-12-14 15:53:18 -05:00
VMConsoleWatcherInstance.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
VMInstance.py Safely reset RBD locks on failed VMs 2020-12-14 15:53:18 -05:00
VXNetworkInstance.py Lint: E121/E126 continuation line under/over-indented for hanging indent 2020-11-07 15:06:21 -05:00
__init__.py Use consistent naming of components 2020-02-08 19:34:07 -05:00
common.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
dnsmasq-zookeeper-leases.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
fencing.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00
log.py Lint: E241 multiple spaces after ',' 2020-11-07 14:52:39 -05:00
zkhandler.py Lint: E302 expected 2 blank lines, found X 2020-11-07 14:45:24 -05:00