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
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
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
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
f2b55ba937
Fix some bugs with migrations
2021-06-09 00:04:16 -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
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
d3b5b5236a
Remove transactional delete
...
This just doesn't work due to the darn limit on recursive deletes in
transactions.
2021-05-31 19:22:01 -04:00
8625e9bd3e
Update Delete to recursive method
2021-05-31 03:14:09 -04:00
ed4f84a3ec
Add log handling and persistent listener
2021-05-31 03:14:09 -04:00
f82da03a62
Add first wrappers and exceptions
2021-05-28 00:19:39 -04:00
fef230ad98
Implement class-based version of zkhander
2021-05-27 22:50:00 -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
260b39ebf2
Lint: E302 expected 2 blank lines, found X
2020-11-07 14:45:24 -05:00
99d723dd8b
Lint: F821 undefined name 'count'
2020-11-07 13:39:51 -05:00
6cf7f178a6
Lint: F821 undefined name 'time'
2020-11-07 13:38:54 -05:00
5da314902f
Lint: F841 local variable '<variable>' is assigned to but never used
2020-11-06 21:13:13 -05:00
d9e7b7ec15
Lint: F401 <library> imported but unused
2020-11-06 19:22:49 -05:00
42c5f84ba7
Do multiple lock attempts
2020-10-21 11:21:37 -04:00
3839040092
Add exclusive lock function
2020-10-21 10:46:41 -04:00
72f47f216a
Revert "Add locking in common zkhander"
...
This reverts commit 53c0d2b4f620e10f3e0e6b0f19495d8473792563.
This resulted in a massive performance hit and some inconsistent
behaviour. Revert for now an re-investigate later.
2020-10-21 03:49:13 -04:00
53c0d2b4f6
Add locking in common zkhander
...
Ensures that every changed made here is locked, thus preventing
duplicate updates, etc.
2020-10-21 03:17:18 -04:00
44efd66f2c
Fix error renaming keys
...
This function was not implemented and thus failed; implements it.
2020-03-30 21:38:18 -04:00
4505b239eb
Rename API and common Debian packages
...
Closes #79
2020-02-08 18:50:38 -05:00