953e46055a
Fix issue with loading None version schema
2021-06-14 21:09:55 -04:00
d2bcfe5cf7
Bump version to 0.9.20
2021-06-14 18:06:27 -04:00
ef1701b4c8
Handle an additional exception case
2021-06-14 17:15:40 -04:00
08dc756549
Actually disable the pvcapid service
...
Prevents it from trying to start itself during updates or reboots on
non-primary coordinators.
2021-06-14 17:13:22 -04:00
0a9c0c1ccb
Use a nicer reload method on hot schema update
...
Instead of exiting and trusting systemd to restart us, instead leverage
the os.execv() call to reload the process in the current PID context.
Also improves the log messages so it's very clear what's going on.
2021-06-14 17:10:21 -04:00
e34a7d4d2a
Handle hot reloads properly
...
A hot reload isn't possible due to DataWatch and ChildrenWatch
constructs, so we instead need to terminate the daemon to "apply" the
schema update. Thus we use exit code 150 (Application defined in LSB)
and reorder some of the elements of the schema validation to ensure
things happen in the right order.
2021-06-14 12:52:43 -04:00
1f49bfa1b2
Fix name of schema element
2021-06-13 20:56:17 -04:00
647bce2a22
Ensure we don't grab None data
2021-06-13 16:43:25 -04:00
26b1f531e9
Fix bad variable interpolation
2021-06-13 14:37:23 -04:00
be9f1e8636
Use more compatible is_alive in thread
2021-06-13 14:36:27 -04:00
b694945010
Fix incorrect name bug
2021-06-10 01:11:14 -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
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
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
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
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
cf96bb009f
Bump version to 0.9.19
2021-06-06 01:47:41 -04:00
719954b70b
Fix missing list comma
2021-06-06 01:39:43 -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
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
ede3e88cd7
Modify node daemon root to use updated zkhandler
2021-05-31 03:14:09 -04:00
c23a53d082
Add daemon_lib symlink to pvcnoded
2021-05-30 00:00:07 -04:00