2145 Commits

Author SHA1 Message Date
b1c13c9fc1 Fix another bug with read call 2021-06-10 01:08:18 -04:00
75fc40a1e8 Fix bug with nkipath 2021-06-10 01:00:40 -04:00
2aa7f87ca9 Fix bug in creating child path keys 2021-06-10 00:55:54 -04:00
5273c4ebfa Fix bug with encoding raw creates 2021-06-10 00:52:07 -04:00
8dc9fd6dcb Fix bug with sub self command path/key 2021-06-10 00:49:01 -04:00
058c2ceef3 Convert VXNetworkInstance to new ZK schema handler 2021-06-10 00:36:18 -04:00
e7d60260a0 Fix typo in CephInstance path 2021-06-10 00:36:02 -04:00
f030ed974c Correct schema and handling of network subkeys
Required a bit of refactoring in the validation code to ensure we have
direct access, without relying on the translations done in the normal
zkhandler functions.
2021-06-10 00:35:42 -04:00
9985e1dadd Add support for 2-level dynamic keys 2021-06-09 23:52:21 -04:00
85aba7cc18 Convert VMInstance to new ZK schema handler 2021-06-09 23:15:08 -04:00
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
24663a3333 Add missing VM schema entry 2021-06-09 22:12:24 -04:00
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
a9a57533a7 Integrate schema handling within ZKHandler
Abstracts away the schema management, especially when doing actions, to
prevent duplication in other areas.
2021-06-09 13:23:57 -04:00
76c37e6628 Tweak some field names slightly and add missing 2021-06-09 09:58:18 -04:00
0a04adf8f9 Allow empty sub_paths 2021-06-09 01:54:29 -04:00
ae269bdfde Add scripts to generate ZK migration JSON 2021-06-09 00:04:38 -04:00
f2b55ba937 Fix some bugs with migrations 2021-06-09 00:04:16 -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
602dd7b714 Update version 0 schema and add full validation
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
fb78be3d8d Add mentions of Debian Bullseye support 2021-06-06 18:09:16 -04:00
cf96bb009f Bump version to 0.9.19 v0.9.19 2021-06-06 01:47:41 -04:00
719954b70b Fix missing list comma 2021-06-06 01:39:43 -04:00
f0dc0fc782 Avoid duplicating maintenance state change
This makes no functional difference, but is technically more correct.
2021-06-05 01:36:40 -04:00
5d88e92acc Avoid returning errors with duplicate router mode
Like the previous (new) flush change, these shouldn't be errors, but
simply information "what you want is already done" messages.
2021-06-05 01:14:31 -04:00
505c109875 Avoid re-flush or re-ready nodes if unnecessary 2021-06-05 01:08:32 -04:00
3eedfaa7d5 Collect database model error 2021-06-03 00:22:48 -04:00
7de7e1bc71 Properly handle cluster networks in provisioner 2021-06-02 15:57:46 -04:00
34ef055954 Adjust VNI column for provisioner to text
Allows the storing of the textual cluster labels (e.g. 'upstream') as
valid VNI values in the template.
2021-06-02 15:45:22 -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
f73c433fc7 Remove useless try and import 2021-06-01 12:05:17 -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