Joshua Boniface
f071343333
Add DHCP lease schema and temp workaround
2021-06-12 18:22:43 -04:00
Joshua Boniface
01c762a362
Convert common.py to new ZK schema handler
2021-06-12 17:59:09 -04:00
Joshua Boniface
9b1bd8476f
Convert cluster.py to new ZK schema handler
2021-06-12 17:11:32 -04:00
Joshua Boniface
6d00ec07b5
Convert ceph.py to new ZK schema handler
2021-06-12 17:09:29 -04:00
Joshua Boniface
247ae4fe2d
Fix pre-refactor path bug
2021-06-10 01:18:33 -04:00
Joshua Boniface
b1c13c9fc1
Fix another bug with read call
2021-06-10 01:08:18 -04:00
Joshua Boniface
75fc40a1e8
Fix bug with nkipath
2021-06-10 01:00:40 -04:00
Joshua Boniface
2aa7f87ca9
Fix bug in creating child path keys
2021-06-10 00:55:54 -04:00
Joshua Boniface
5273c4ebfa
Fix bug with encoding raw creates
2021-06-10 00:52:07 -04:00
Joshua Boniface
8dc9fd6dcb
Fix bug with sub self command path/key
2021-06-10 00:49:01 -04:00
Joshua Boniface
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
Joshua Boniface
9985e1dadd
Add support for 2-level dynamic keys
2021-06-09 23:52:21 -04:00
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
24663a3333
Add missing VM schema entry
2021-06-09 22:12:24 -04:00
Joshua Boniface
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
Joshua Boniface
76c37e6628
Tweak some field names slightly and add missing
2021-06-09 09:58:18 -04:00
Joshua Boniface
0a04adf8f9
Allow empty sub_paths
2021-06-09 01:54:29 -04:00
Joshua Boniface
f2b55ba937
Fix some bugs with migrations
2021-06-09 00:04:16 -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
602dd7b714
Update version 0 schema and add full validation
...
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
f0dc0fc782
Avoid duplicating maintenance state change
...
This makes no functional difference, but is technically more correct.
2021-06-05 01:36:40 -04:00
Joshua Boniface
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
Joshua Boniface
505c109875
Avoid re-flush or re-ready nodes if unnecessary
2021-06-05 01:08:32 -04:00
Joshua Boniface
7dea5d2fac
Move logger to common, fix buffering
2021-06-01 18:50:26 -04:00
Joshua Boniface
9764090d6d
Merge node common with daemon common
2021-06-01 12:22:11 -04:00
Joshua Boniface
f73c433fc7
Remove useless try and import
2021-06-01 12:05:17 -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
33a54cf7f2
Move configuration keys to /config tree
2021-06-01 10:48:55 -04:00
Joshua Boniface
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
Joshua Boniface
8625e9bd3e
Update Delete to recursive method
2021-05-31 03:14:09 -04:00
Joshua Boniface
ed4f84a3ec
Add log handling and persistent listener
2021-05-31 03:14:09 -04:00
Joshua Boniface
9be426507a
Fix erroneous lock calls
2021-05-30 15:31:17 -04:00
Joshua Boniface
58a5b00aa1
Remove extraneous zkhandler reference
2021-05-30 01:01:40 -04:00
Joshua Boniface
b4f2cf879e
Rework vm library for new zkhandler
2021-05-29 21:17:19 -04:00
Joshua Boniface
3603b782c0
Rework node library for new zkhandler
2021-05-29 20:56:21 -04:00
Joshua Boniface
62cb72b62f
Rework network library for new zkhandler
2021-05-29 20:53:42 -04:00
Joshua Boniface
b186a75b4e
Rework common library for new zkhandler
2021-05-29 20:35:28 -04:00
Joshua Boniface
6205dba451
Rework cluster library for new zkhandler
2021-05-29 20:32:20 -04:00
Joshua Boniface
688d1a6ae2
Rework ceph library for new zkhandler
2021-05-29 20:29:51 -04:00
Joshua Boniface
f82da03a62
Add first wrappers and exceptions
2021-05-28 00:19:39 -04:00
Joshua Boniface
fef230ad98
Implement class-based version of zkhander
2021-05-27 22:50:00 -04:00
Joshua Boniface
f46c2e7f6a
Implement VM rename functionality
...
Closes #125
2021-05-23 17:21:19 -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
8c4c1aba38
Revert "Add object-map to default RBD volume features"
...
This reverts commit 00e9cca6f0
.
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
Joshua Boniface
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
Joshua Boniface
ab05e0f3db
Add B suffix back to bare bytes values
2021-02-17 11:37:36 -05:00
Joshua Boniface
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