Skip to content
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

Storage: Recover BTRFS pools source to block device UUID to align with creation process #13184

Merged
merged 2 commits into from
Mar 21, 2024

Conversation

roosterfish
Copy link
Contributor

@roosterfish roosterfish commented Mar 20, 2024

Fixes #12605.

This moves the replacement of the pools source property from path to its block UUID into FillConfig(). The recovery procedure can now reconstruct all of the pools config without actually creating the pool using the drivers function.

Additionally this addresses an unhandled timeout in 79c1780.

tomponline
tomponline previously approved these changes Mar 20, 2024
Copy link
Member

@tomponline tomponline left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

@tomponline
Copy link
Member

Er not sure whats going on with dqlite:

# github.com/canonical/go-dqlite/internal/bindings
Error: ../../../go/pkg/mod/github.com/canonical/go-dqlite@v1.21.0/internal/bindings/server.go:190:11: could not determine kind of name for C.dqlite_node_enable_disk_mode

@roosterfish
Copy link
Contributor Author

Er not sure whats going on with dqlite:

# github.com/canonical/go-dqlite/internal/bindings
Error: ../../../go/pkg/mod/github.com/canonical/go-dqlite@v1.21.0/internal/bindings/server.go:190:11: could not determine kind of name for C.dqlite_node_enable_disk_mode

Yeah I already restarted the jobs, same result. I have checked https://github.com/canonical/dqlite/ and https://github.com/canonical/go-dqlite/ but the last changes are from weeks/months ago.

…mes out

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
When creating a new storage pool ensure that the config mangling is performed beforehand in FillConfig.
This allows other procedures like the recovery to perform config validation without needing to actually create the pool.

Signed-off-by: Julian Pelizäus <julian.pelizaeus@canonical.com>
@tomponline tomponline changed the title Storage: Fix lxd recover for Btrfs backed pools Storage: Recover BTRFS pools source to block device UUID to align with creation process Mar 21, 2024
@tomponline
Copy link
Member

Updated PR title to better reflect the change.

@tomponline tomponline merged commit 463e835 into canonical:main Mar 21, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bad lxd recover behaviour setting a storage's source property
2 participants