-
Notifications
You must be signed in to change notification settings - Fork 935
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cluster recovery improvements #13754
Conversation
Heads up @mionaalex - the "Documentation" label was applied to this issue. |
c92f17e
to
7cf25f1
Compare
f34fd5c
to
c8f2d3d
Compare
6743b4c
to
1d49286
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, the docs look good now!
When applying
That error tracks back to https://github.com/canonical/lxd/blob/main/lxd/db/cluster/query.go#L15-L17 That query selects While This isn't an issue with the current The easy solution/workaround here is simply to create Alternatively, it may be possible to use the node ID instead of address to update the schema/api_extensions fields in the @tomponline Let me know what you think is the more reasonable approach or if this doesn't sound right. Thanks! |
c5b3187
to
e5b3076
Compare
I renamed the recovery tarball to |
A fix for the same issue as in LXD: canonical/lxd#13754 (comment) Signed-off-by: Wesley Hershberger <[email protected]>
394ba76
to
69c9a14
Compare
ReconfigureMembershipExt takes into consideration a node's dqlite role. Signed-off-by: Wesley Hershberger <[email protected]>
...for cluster recovery Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Since this is a somewhat arbitrary check, we should make sure to do it before we've mutated the dqlite dir state. Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
`lxd cluster edit` on each node is no longer supported. Signed-off-by: Wesley Hershberger <[email protected]>
69c9a14
to
ba5b384
Compare
Signed-off-by: Wesley Hershberger <[email protected]>
Signed-off-by: Wesley Hershberger <[email protected]>
ba5b384
to
085afb9
Compare
Fixes #13524
A detailed description of the problem this resolves is in the issue. This PR:
lxd cluster edit
:/var/snap/lxd/common/lxd/database/recovery_db.tar.gz
) with the contents of the database & the new raft configuration as yamlpatch.global.sql
to update the addresses of any nodes that were changed in the globalnodes
table/var/snap/lxd/common/lxd/database/recovery_db.tar.gz
and:raft_nodes
tableCurrently the unpack code also creates the global sql patch on each node; in general this should only be done on one node. Since the patch is idempotent (it's just a couple of
UPDATE
), it works fine, but it's unideal. See my comment below.LXD-1194