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
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
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
ede3e88cd7
Modify node daemon root to use updated zkhandler
2021-05-31 03:14:09 -04:00
ed4f84a3ec
Add log handling and persistent listener
2021-05-31 03:14:09 -04:00
a1969eb981
Allow overwrite during init command
2021-05-31 00:12:28 -04:00
c7992000eb
Explicitly output JSON cluster data
2021-05-30 23:50:42 -04:00
a1e8cc5867
Skip patroni tree during backups
2021-05-30 23:39:37 -04:00
ac0c3b0ec9
Ensure temp_dir exists before starting
...
Otherwise some failures throw the wrong error.
2021-05-30 16:04:38 -04:00
60db800d9c
Use full ZKHandler in provisioner
...
Required due to references to self from Celery that are replaced by the
ZKConnection self instance.
2021-05-30 15:59:37 -04:00
9be426507a
Fix erroneous lock calls
2021-05-30 15:31:17 -04:00
58a5b00aa1
Remove extraneous zkhandler reference
2021-05-30 01:01:40 -04:00
73407e245f
Move startup code to an entrypoint function
...
Prevents further issues with startup.
2021-05-30 00:18:04 -04:00
25f80a4478
Move API version string location to Daemon
...
Prevents a startup bug with pvcapid-manage.py.
2021-05-30 00:11:24 -04:00
c23a53d082
Add daemon_lib symlink to pvcnoded
2021-05-30 00:00:07 -04:00
b4f2cf879e
Rework vm library for new zkhandler
2021-05-29 21:17:19 -04:00