Commit Graph

1080 Commits

Author SHA1 Message Date
Joshua Boniface 9ccf3390ab Add storage prefix to Ceph commands
Add the "storage" prefix to all Ceph-based commands in both the CLI and
the API. This partially abstracts the storage subsystem from the Ceph
tool specifically, should future storage subsystems be added or changed.
The name "ceph" is still used due to the non-abstracted components of
the Ceph management, e.g. referencing Ceph-specific concepts like OSDs
or pools.
2019-07-10 15:14:17 -04:00
Joshua Boniface e9dcbf6198 Add material theme to docs 2019-07-10 14:59:33 -04:00
Joshua Boniface 8a28738bff Use consistent terminology in fence message 2019-07-10 11:54:56 -04:00
Joshua Boniface 8f160abf90 Handle cancelling flushes when new ones run
Store the flush_thread of a node as a class object. Before starting a
new flush thread (either flush or unflush), stop the existing one if it
exists to prevent further migrations, then start the new thread. Set the
object to None on init and again once the task actually finishes. Remove
the inflush flag as this is not required when using these threads and
functionally does nothing any longer, but add the flush_stopper flag to
trigger cancellation of the current job.
2019-07-10 11:54:34 -04:00
Joshua Boniface c7c8c8bcbb Fix bug with flush 2019-07-10 00:43:55 -04:00
Joshua Boniface 7a8aee9fe7 Remove flush locking functionality
This just seemed like more trouble that it was worth. Flush locks were
originally intended as a way to counteract the weird issues around
flushing that were mostly fixed by the code refactoring, so this will
help test if those issues are truly gone. If not, will look into a
cleaner solution that doesn't result in unchangeable states.
2019-07-09 23:59:17 -04:00
Joshua Boniface ad284b13bc Fix bugs with fencing 2019-07-09 19:17:53 -04:00
Joshua Boniface 7df200ac44 Improve ZK connection loss handling 2019-07-09 19:17:32 -04:00
Joshua Boniface 47f86475f8 Handle failures of Ceph commands gradefully
If these commands fail, catch the error, print a message, and set up
empty lists. Also handle later data parsing in this case.
2019-07-09 16:43:38 -04:00
Joshua Boniface 1a8e7509f7 Support run_os_command timeout; use timeouts 2019-07-09 15:09:13 -04:00
Joshua Boniface 83a4140703 Allow enabling debug mode in config
Makes debugging easier without modifying code.
2019-07-09 14:59:00 -04:00
Joshua Boniface 8eeba9bc9b Make Ceph commands time out if needed 2019-07-09 14:35:53 -04:00
Joshua Boniface 19701c66e4 Move fencing to after keepalive output
Just makes the messages a little easier to read when triggered.
2019-07-09 14:24:31 -04:00
Joshua Boniface 17dfaf43c5 Move hypervisor selection out to common 2019-07-09 14:20:58 -04:00
Joshua Boniface b551b54642 Rename message when contending 2019-07-09 14:03:48 -04:00
Joshua Boniface 4249d5d982 Always load and store IPMI on daemon start
Without this, the IPMI information set during initial node creation can
never be changed, which can cause issues later. Instead, always set it
fresh on each node boot.
2019-07-09 14:00:31 -04:00
Joshua Boniface fbceaf57cd Add mention of setting IPMI over LAN 2019-07-09 13:43:56 -04:00
Joshua Boniface 7f828a27a5 Free RBD locks when fencing node 2019-07-09 10:59:31 -04:00
Joshua Boniface ffc2a6ee1b Fix display bug 2019-07-09 10:47:56 -04:00
Joshua Boniface 6426607769 Store list of RBD disks in ZK
Store a basic list of RBD disks in Zookeeper for access by the node
subsystem to handle RBD locks. This avoids the need to implement complex
parsing logic inside the fencing configuration (or elsewhere).

Also handle a malformed XML content properly during VM define.
2019-07-09 10:22:23 -04:00
Joshua Boniface e263a05237 Reorganize client functions
Move some functions to the common file for future usage.
2019-07-09 09:29:47 -04:00
Joshua Boniface b5af3a16a8 Join features list in CLI output 2019-07-08 22:47:04 -04:00
Joshua Boniface a3de9da513 Add quotes around vars in all return messages 2019-07-08 22:37:26 -04:00
Joshua Boniface dd78aa8fb8 Use quotes around variables in output 2019-07-08 22:31:24 -04:00
Joshua Boniface b0bdf72310 Fix bad variable name 2019-07-08 22:24:18 -04:00
Joshua Boniface 7889bd88e3 Use equality instead of in 2019-07-08 22:22:43 -04:00
Joshua Boniface 1ce2cfc3e3 Convert units on CLI output and format ops too 2019-07-08 22:03:34 -04:00
Joshua Boniface dda4cc282e Fix bad element names 2019-07-08 21:41:54 -04:00
Joshua Boniface b2cc444024 Correct bad bracket type 2019-07-08 21:40:06 -04:00
Joshua Boniface 359886e335 Correct variable name bugs 2019-07-08 21:35:18 -04:00
Joshua Boniface bc54ea2449 Log message when starting or stopping API client 2019-07-08 19:29:49 -04:00
Joshua Boniface 31b4dd9aed Show radosdf output in clients 2019-07-08 10:59:49 -04:00
Joshua Boniface cda690e94f Set RADOS df information in ZK 2019-07-08 10:19:56 -04:00
Joshua Boniface 9c89a22ec4 Remove missed return message 2019-07-07 16:42:54 -04:00
Joshua Boniface 128db8e683 Remove indent 2019-07-07 16:39:07 -04:00
Joshua Boniface 771c193343 Add even nicer startup message 2019-07-07 15:46:38 -04:00
Joshua Boniface c9bad6edf9 Log messages during startup 2019-07-07 15:44:47 -04:00
Joshua Boniface fed6dd6639 Fix bad replace 2019-07-07 15:36:45 -04:00
Joshua Boniface 143639cc3b Update URLs in badges 2019-07-07 15:35:41 -04:00
Joshua Boniface 021fcb2c59 Add section about the author 2019-07-07 15:34:26 -04:00
Joshua Boniface d9ebd04264 Fix missing dom_uuid values in data reads 2019-07-07 15:30:28 -04:00
Joshua Boniface b82ccaa84d Improve flush handling
Similar to recent client changes, don't replace the previous node record
of an already-migrated VM. Wait for shutdown if required. Use a
continue statement instead of a needless else block.
2019-07-07 15:27:37 -04:00
Joshua Boniface 0d398f663b Rename "Domain" to "VM" in various class names
The name "Domain", though technically correct from a Libvirt
perspective, was unnecessarily confusing. Call the class instances what
they are, VMs.
2019-07-07 15:20:37 -04:00
Joshua Boniface 4a93945b58 Add additional e for consistency 2019-07-07 15:18:35 -04:00
Joshua Boniface f75216d946 Make force_migrate not replace existing node
Previous to this, if once force-migrated a VM, the previous_node value
would be updated to the current node, which is likely never what an
administrator would want. Change this functionality so that the previous
node value is not changed, and update the documentation to reflect this.
2019-07-07 15:10:48 -04:00
Joshua Boniface be146d7364 Add wording and formatting tweaks 2019-07-07 15:01:21 -04:00
Joshua Boniface 5e15c171da Add fixed-width tags around endpoint addresses 2019-07-07 14:49:36 -04:00
Joshua Boniface b18e282987 Add further wording tweaks and remove repeat lines 2019-07-07 14:44:54 -04:00
Joshua Boniface 3f67bcd31d Tweaks to API documentation 2019-07-07 14:37:59 -04:00
Joshua Boniface dd186c1228 Add API reference manual documentation 2019-07-07 14:18:40 -04:00