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

Upgrade: Add docs and tests #436

Merged
merged 11 commits into from
Oct 23, 2024
Merged

Conversation

roosterfish
Copy link
Contributor

@roosterfish roosterfish commented Oct 18, 2024

This PR adds MicroCloud upgrade tests from 1/stable to latest/edge as well as for the MicroCeph, MicroOVN and LXD dependencies.

As there might be MicroClouds running on 22.04, the test suite is modified to allow specifying a BASE_OS that will be used when setting up the testbed.
This allows running the new upgrade test suite for both 22.04 and 24.04.

To verify the upgrade we check the cluster status of MicroCloud and its dependencies after the upgrade. In addition some workload is deployed before the upgrade whose boot ID and network connectivity is checked afterwards.

Furthermore dedicated docs are now added for update and upgrade procedures.

@roosterfish roosterfish force-pushed the upgrade_tests branch 2 times, most recently from 8cc36df to 55b3d82 Compare October 18, 2024 11:26
@roosterfish roosterfish force-pushed the upgrade_tests branch 5 times, most recently from bdc0d92 to 94cd808 Compare October 21, 2024 08:46
This allows running upgrade tests on different OS versions with different base snap versions

Signed-off-by: Julian Pelizäus <[email protected]>
Signed-off-by: Julian Pelizäus <[email protected]>
@roosterfish roosterfish changed the title Test: Add upgrade checks Upgrade: Add docs and tests Oct 21, 2024
@roosterfish roosterfish force-pushed the upgrade_tests branch 2 times, most recently from d824510 to 3026898 Compare October 21, 2024 14:02
@roosterfish roosterfish marked this pull request as ready for review October 21, 2024 14:06
.github/workflows/tests.yml Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Outdated Show resolved Hide resolved
test/suites/upgrade.sh Show resolved Hide resolved
doc/how-to/update_upgrade.md Show resolved Hide resolved
doc/how-to/update_upgrade.md Outdated Show resolved Hide resolved
@roosterfish
Copy link
Contributor Author

@masnax regarding your comment from yesterday whether or not we should --hold the snaps.
Even if we don't change the schema, we could still introduce new API extensions as those don't break existing functionality.
So if we hold the snaps we can at least make sure that if there is a new API extension it's getting rolled out to all the members when running an update.

@roosterfish roosterfish force-pushed the upgrade_tests branch 2 times, most recently from 35b8641 to 303629f Compare October 22, 2024 12:04
simondeziel
simondeziel previously approved these changes Oct 22, 2024
doc/how-to/support.md Outdated Show resolved Hide resolved
doc/how-to/update_upgrade.md Show resolved Hide resolved
@simondeziel simondeziel dismissed their stale review October 22, 2024 15:22

I misclicked the approval.

@masnax
Copy link
Contributor

masnax commented Oct 22, 2024

@masnax regarding your comment from yesterday whether or not we should --hold the snaps. Even if we don't change the schema, we could still introduce new API extensions as those don't break existing functionality. So if we hold the snaps we can at least make sure that if there is a new API extension it's getting rolled out to all the members when running an update.

Yeah that's fair. It's a bit troublesome because 90% of revisions will just be bugfixes, so we are forcing a hold for a couple edge cases. Might be worth investigating Incus' approach in having non-blocking API extensions in the future. I'm not a huge fan of it because some API extensions should be adopted cluster-wide, but having a toggle-able setting per extension might be useful.

… on 24.04"

This reverts commit 54affd8.
It's required to support both 22.04 and 24.04 as base for doing the upgrade tests.

Signed-off-by: Julian Pelizäus <[email protected]>
@roosterfish roosterfish force-pushed the upgrade_tests branch 2 times, most recently from b926a6c to 1401a58 Compare October 22, 2024 17:14
@roosterfish
Copy link
Contributor Author

The link to the howto-recover is for troubleshooting details but I think we should link to the specific part that talks about backups in the very sentence we recommend doing backups.

Having a link to the whole recover page for generic troubleshooting details makes sense though.

Fixed.

….images

Allow the nested LXDs to use the pre-fetched images from the host when running workload tests.

Signed-off-by: Julian Pelizäus <[email protected]>
Copy link
Member

@simondeziel simondeziel left a comment

Choose a reason for hiding this comment

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

Thanks!

@roosterfish roosterfish merged commit 300ab07 into canonical:main Oct 23, 2024
17 of 18 checks passed
@roosterfish roosterfish deleted the upgrade_tests branch October 23, 2024 07:04
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.

3 participants