481 Commits

Author SHA1 Message Date
2704badfbe Convert VMConsole... to new ZK schema handler 2021-06-09 22:08:32 -04:00
450bf6b153 Convert NodeInstance to new ZK schema handler 2021-06-09 22:07:32 -04:00
b94fe88405 Convert fencing to new ZK schema handler 2021-06-09 21:29:01 -04:00
610f6e8f2c Convert CephInstance to new ZK schema handler 2021-06-09 21:17:09 -04:00
f913f42a6d Replace schema paths with updated zkhandler 2021-06-09 20:29:42 -04:00
e475552391 Fix some bugs with hot reload 2021-06-09 00:03:26 -04:00
5540bdc86b Add automatic schema upgrade to nodes
Performs an automatic schema upgrade when all nodes are updated to the
latest version.

Addresses #129
2021-06-08 23:35:39 -04:00
3c102b3769 Add per-node schema tracking
This will allow nodes to start with their own schema versions, and then
be updated simultaneously by the API.

References #129
2021-06-08 23:35:39 -04:00
a4aaf89681 Add ZKSchema loading and validation to Daemon
Also removes some previous hack migrations from pre-0.9.19.

Addresses #129
2021-06-08 23:35:39 -04:00
126f0742cd Add Zookeeper schema manager to zkhandler
Adds a new class, ZKSchema, to handle schema management in Zookeeper in
an automated and consistent way. This should solve several issues:

1. Pain in managing changes to ZK keys
2. Pain in handling those changes during live upgrades
3. Simplifying the codebase to remove hardcoded ZK paths

The current master schema for PVC 0.9.19 is committed as version 0.

Addresses #129
2021-06-08 23:35:39 -04:00
5843d8aff4 Fix fence call to findTargetNode 2021-06-08 23:34:49 -04:00
cf96bb009f Bump version to 0.9.19 2021-06-06 01:47:41 -04:00
719954b70b Fix missing list comma 2021-06-06 01:39:43 -04:00
7dea5d2fac Move logger to common, fix buffering 2021-06-01 18:50:26 -04:00
3a5226b893 Add missing flushed output 2021-06-01 18:30:18 -04:00
de2ff2e01b Fix removed function args 2021-06-01 17:02:36 -04:00
cd75413667 Increase initial lock timer
With the new library the reader seems to be a little too quick, so hold
the write lock for 1 second instead of 1/2 second to ensure it is
caught.
2021-06-01 17:00:11 -04:00
9764090d6d Merge node common with daemon common 2021-06-01 12:22:11 -04:00
12ac3686de Convert missed elements to new zkhandler 2021-06-01 11:57:21 -04:00
5740d0f2d5 Remove obsolete zkhandler.py 2021-06-01 11:55:44 -04:00
889f4cdf47 Convert common to new zkhandler 2021-06-01 11:55:32 -04:00
8f66a8d00e Fix missed zkhandler conversion 2021-06-01 11:53:33 -04:00
6beea0693c Convert fencing to new zkhandler 2021-06-01 11:53:21 -04:00
1c9a7a6479 Convert VXNetworkInstance to new zkhandler 2021-06-01 11:49:39 -04:00
790098f181 Convert VMInstance to new zkhandler 2021-06-01 11:46:27 -04:00
8a4a41e092 Convert NodeInstance to new zkhandler 2021-06-01 11:27:35 -04:00
a48bf2d71e More gracefully handle none selectors
Allow selection of "none" as the node selector, and handle this by
always using the cluster default instead of writing it in.
2021-06-01 11:13:13 -04:00
a0b9087167 Set Daemon migration selector in zookeeper 2021-06-01 10:52:41 -04:00
33a54cf7f2 Move configuration keys to /config tree 2021-06-01 10:48:55 -04:00
d6a8cf9780 Convert MetadataAPIInstance to new zkhandler 2021-05-31 19:55:09 -04:00
abd619a3c1 Convert DNSAggregatorInstance to new zkhandler 2021-05-31 19:55:01 -04:00
ef5fe78125 Convert CepnInstance to new zkhandler 2021-05-31 19:51:27 -04:00
f6d0e89568 Properly add absent node type 2021-05-31 19:26:27 -04:00
ede3e88cd7 Modify node daemon root to use updated zkhandler 2021-05-31 03:14:09 -04:00
c23a53d082 Add daemon_lib symlink to pvcnoded 2021-05-30 00:00:07 -04:00
0c75a127b2 Bump version to 0.9.18 2021-05-23 17:23:10 -04:00
9de14c46fb Bump version to 0.9.17 2021-05-19 17:06:29 -04:00
fe15bdb854 Bump version to 0.9.16 2021-05-10 01:13:21 -04:00
b851a6209c Catch all other exceptions in subprocess run
Found a rare glitch where the subprocess pipes would not engage, causing
a daemon crash. Catch these exceptions with a retcode of 255 instead of
bailing out.

Closes #124
2021-05-10 01:07:25 -04:00
5ceb57e540 Handle emptying corrupted console log files
Libvirt will someones write junk out to console log files, which breaks
the log parser deque with a UnicodeDecodeError.

If this happens, clear the log and re-open the deque again for newer
updates.

Closes #123
2021-05-10 01:03:04 -04:00
669338c22b Bump version to 0.9.15 2021-04-08 13:37:47 -04:00
c4ac75b973 Bump version to 0.9.14 2021-03-30 10:27:37 -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
0ccfc41398 Bump version to 0.9.13 2021-02-17 11:37:59 -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 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 2021-01-05 15:58:26 -05:00