2042 Commits

Author SHA1 Message Date
629cf62385 Add confirmation flag to disruptive VM operations
Also add some additional output when --restart is not selected.

Closes #118
2021-04-08 13:33:10 -04:00
dfa3432601 Add unsafe envvar/flag option
Allows another way (beyond --yes) to avoid confirming "unsafe"
operations. While there is probably nearly zero usecase for this (at
least to any sane admin), it is provided to allow maximum flexibility.
2021-04-08 12:48:38 -04:00
62213fab99 Add description field to CLI clusters
Allow specifying a textual description of the cluster in the client for
ease of management.
2021-04-08 12:28:23 -04:00
3330624f70 Fix bump_version to include API v0.9.14 2021-03-30 10:30:01 -04:00
c4ac75b973 Bump version to 0.9.14 2021-03-30 10:27:37 -04:00
81c1411b8f Add QEMU guest agent to default VM configs 2021-03-29 15:15:31 -04:00
0bf276fd51 Update copyright year in headers 2021-03-25 17:01:55 -04:00
f4ec161aa2 Update file copyright header.
Remove the option to select a later version of the GPL.
2021-03-25 16:58:02 -04:00
78925be090 Correct bad help string 2021-03-17 13:58:23 -04:00
4e58b18976 Ensure cloned volume size is int type 2021-03-15 15:12:24 -04:00
593c9a7e0d Fix bugs around cloned volume provisioning 2021-03-09 16:59:49 -05:00
8c4c1aba38 Revert "Add object-map to default RBD volume features"
This reverts commit 00e9cca6f04a6d137a70f2995317bba46f1f935e.

This causes RBD mapping to fail on Debian 10. Reverting but keeping in
history for future reference.
2021-02-28 01:57:30 -05:00
00e9cca6f0 Add object-map to default RBD volume features
This allows for much quicker image deletes especially for empty images.
2021-02-17 13:57:28 -05:00
0ccfc41398 Bump version to 0.9.13 v0.9.13 2021-02-17 11:37:59 -05:00
ab05e0f3db Add B suffix back to bare bytes values 2021-02-17 11:37:36 -05:00
9291ce6ffc Correct output of fromhuman and add size compare
Ensures that the bytes_tohuman returns an integer to avoid the hacky
workaround of stripping off the B.

Adds a verification on the size of a new volume, that it is not larger
than the free space of the pool to prevent errors/excessively-large
volumes from being created.

Closes #120
2021-02-17 11:27:26 -05:00
dd87951642 Fix bad calls in pool element 2021-02-17 11:14:50 -05:00
0e4bece441 Add missing inc/dec of snapshot_count 2021-02-14 17:02:49 -05:00
b33c0ab0e2 Final final fix to snapshot ordering 2021-02-14 16:48:42 -05:00
094d25dafa Increase indent further 2021-02-14 16:43:51 -05:00
150c61d226 Actually fix sorting issue 2021-02-14 16:41:59 -05:00
f1c0c9325d Fix indentation issue with API daemon 2021-02-14 16:41:52 -05:00
26b0a8b5c1 Fix sorting bug with snapshot list 2021-02-14 16:34:43 -05:00
f22f291c8b Add additional field and info to Swagger 2021-02-09 01:49:15 -05:00
9100c63e99 Add stored_bytes to pool stats information 2021-02-09 01:46:01 -05:00
aba567d6c9 Add nice startup banners to both daemons
Add nicer easy-to-find (yay ASCII art) banners for the startup printouts
of both the node and API daemons. Also adds the safe loader to pvcnoded
to prevent hassle messages and a version string in the API daemon file.
2021-02-08 02:51:43 -05:00
0db8fd9da6 Bump version to 0.9.12 v0.9.12 2021-01-28 16:29:58 -05:00
a44f134230 Remove systemd deps on zookeeper and libvirt
This caused a serious race condition, since the IPs managed by PVC had
not yet come up, but Zookeeper was trying to start and bind to them,
which of course failed.

Remove these dependencies entirely - the daemon itself starts these
services during initialization and they do not need to be started by
systemd first.
2021-01-28 16:25:02 -05:00
9fbe35fd24 Bump version to 0.9.11 v0.9.11 2021-01-05 15:58:26 -05:00
09fdb5da26 Fix a bad reference 2021-01-03 23:29:43 -05:00
80a436d7b6 Fix bad links 2021-01-03 16:56:13 -05:00
74a28f2edd Improve documentation of networks 2021-01-03 16:50:18 -05:00
b8aba3a498 Use proper type for passwd_root option 2021-01-03 16:41:15 -05:00
8b584bc545 Update Ansible manual with recent changes 2021-01-03 16:38:07 -05:00
a24724d9f0 Use external ceph cmd for ceph df 2020-12-26 14:04:21 -05:00
d22a5aa7f2 Move information about memory utilization 2020-12-21 00:20:01 -05:00
78c017d51d Remove erroneous extra colon in log output 2020-12-20 16:06:35 -05:00
1b6613c280 Add live VNC information to domain output
Sets in the node daemon, returns via the API, and shows in the CLI,
information about the live VNC listen address and port for VNC-enabled
VMs.

Closes #115
2020-12-20 16:00:55 -05:00
9aeb86246a Add even further documentation tweaks 2020-12-19 03:32:25 -05:00
6abb8b2456 Clarify additional information in the cluster docs 2020-12-19 03:20:29 -05:00
d6ef722997 Fix bad log message v0.9.10 2020-12-15 10:51:52 -05:00
518d699c15 Bump version to 0.9.10 2020-12-15 10:45:15 -05:00
ac3ef3d792 Revamp fencing order
Prevents unnecessarily excessive timeouts if IPMI connections time out;
before, would have to go through 3 timed out commands at ~20s each
before failure was registered; reduced to 1 if the first times out.
2020-12-15 02:48:25 -05:00
37c3b4ef80 Validate provisioner userdata with SafeLoader
Given the issues with FullLoader and its eventual deprecation, just use
SafeLoader instead. Any well-formatted Userdata document should conform.
2020-12-15 00:30:20 -05:00
3705daff43 Better handle failing RBD lock frees
If the VM is not in a stop state, failing to free the lock is now
considered a fatal error and will put the domain into fail state,
aborting the start. This is better than being unsafe or trying to start
a VM which will fail to boot due to read-only volumes.
2020-12-14 16:04:38 -05:00
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
68d87c0b99 Formatting fixes and typos 2020-12-13 16:38:30 -05:00
1af7c545b2 Fix broken link 2020-12-13 04:45:38 -05:00
9a1b86bbbf Fix capitalization issue 2020-12-13 04:42:46 -05:00
5b0066da3f Update provisioner manual 2020-12-13 04:35:42 -05:00