Joshua Boniface
7e42118e6f
Adjust lock schema in NodeInstance and VMInstance
...
Removes a superfluous lock and puts the sync_lock keys in more usable
places.
2021-06-09 22:51:00 -04:00
Joshua Boniface
2704badfbe
Convert VMConsole... to new ZK schema handler
2021-06-09 22:08:32 -04:00
Joshua Boniface
450bf6b153
Convert NodeInstance to new ZK schema handler
2021-06-09 22:07:32 -04:00
Joshua Boniface
b94fe88405
Convert fencing to new ZK schema handler
2021-06-09 21:29:01 -04:00
Joshua Boniface
610f6e8f2c
Convert CephInstance to new ZK schema handler
2021-06-09 21:17:09 -04:00
Joshua Boniface
f913f42a6d
Replace schema paths with updated zkhandler
2021-06-09 20:29:42 -04:00
Joshua Boniface
e475552391
Fix some bugs with hot reload
2021-06-09 00:03:26 -04:00
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
5843d8aff4
Fix fence call to findTargetNode
2021-06-08 23:34:49 -04:00
Joshua Boniface
cf96bb009f
Bump version to 0.9.19
2021-06-06 01:47:41 -04:00
Joshua Boniface
719954b70b
Fix missing list comma
2021-06-06 01:39:43 -04:00
Joshua Boniface
7dea5d2fac
Move logger to common, fix buffering
2021-06-01 18:50:26 -04:00
Joshua Boniface
3a5226b893
Add missing flushed output
2021-06-01 18:30:18 -04:00
Joshua Boniface
de2ff2e01b
Fix removed function args
2021-06-01 17:02:36 -04:00
Joshua Boniface
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
Joshua Boniface
9764090d6d
Merge node common with daemon common
2021-06-01 12:22:11 -04:00
Joshua Boniface
12ac3686de
Convert missed elements to new zkhandler
2021-06-01 11:57:21 -04:00
Joshua Boniface
5740d0f2d5
Remove obsolete zkhandler.py
2021-06-01 11:55:44 -04:00
Joshua Boniface
889f4cdf47
Convert common to new zkhandler
2021-06-01 11:55:32 -04:00
Joshua Boniface
8f66a8d00e
Fix missed zkhandler conversion
2021-06-01 11:53:33 -04:00
Joshua Boniface
6beea0693c
Convert fencing to new zkhandler
2021-06-01 11:53:21 -04:00
Joshua Boniface
1c9a7a6479
Convert VXNetworkInstance to new zkhandler
2021-06-01 11:49:39 -04:00
Joshua Boniface
790098f181
Convert VMInstance to new zkhandler
2021-06-01 11:46:27 -04:00
Joshua Boniface
8a4a41e092
Convert NodeInstance to new zkhandler
2021-06-01 11:27:35 -04:00
Joshua Boniface
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
Joshua Boniface
a0b9087167
Set Daemon migration selector in zookeeper
2021-06-01 10:52:41 -04:00
Joshua Boniface
33a54cf7f2
Move configuration keys to /config tree
2021-06-01 10:48:55 -04:00
Joshua Boniface
d6a8cf9780
Convert MetadataAPIInstance to new zkhandler
2021-05-31 19:55:09 -04:00
Joshua Boniface
abd619a3c1
Convert DNSAggregatorInstance to new zkhandler
2021-05-31 19:55:01 -04:00
Joshua Boniface
ef5fe78125
Convert CepnInstance to new zkhandler
2021-05-31 19:51:27 -04:00
Joshua Boniface
f6d0e89568
Properly add absent node type
2021-05-31 19:26:27 -04:00
Joshua Boniface
ede3e88cd7
Modify node daemon root to use updated zkhandler
2021-05-31 03:14:09 -04:00
Joshua Boniface
c23a53d082
Add daemon_lib symlink to pvcnoded
2021-05-30 00:00:07 -04:00
Joshua Boniface
0c75a127b2
Bump version to 0.9.18
2021-05-23 17:23:10 -04:00
Joshua Boniface
9de14c46fb
Bump version to 0.9.17
2021-05-19 17:06:29 -04:00
Joshua Boniface
fe15bdb854
Bump version to 0.9.16
2021-05-10 01:13:21 -04:00
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
669338c22b
Bump version to 0.9.15
2021-04-08 13:37:47 -04:00
Joshua Boniface
c4ac75b973
Bump version to 0.9.14
2021-03-30 10:27:37 -04:00
Joshua Boniface
0bf276fd51
Update copyright year in headers
2021-03-25 17:01:55 -04:00
Joshua Boniface
f4ec161aa2
Update file copyright header.
...
Remove the option to select a later version of the GPL.
2021-03-25 16:58:02 -04:00
Joshua Boniface
0ccfc41398
Bump version to 0.9.13
2021-02-17 11:37:59 -05:00
Joshua Boniface
9100c63e99
Add stored_bytes to pool stats information
2021-02-09 01:46:01 -05:00
Joshua Boniface
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
Joshua Boniface
0db8fd9da6
Bump version to 0.9.12
2021-01-28 16:29:58 -05:00
Joshua Boniface
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