-
Notifications
You must be signed in to change notification settings - Fork 80
doc: update snaps and releases documentation #829
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
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
ff009b7
doc/ref/releases-snaps: add reference information about releases and …
627c6db
doc/how-to/support: update support information
8deedf4
doc/how-to/install: update install instructions
afc8c88
doc/how-to: improve guides on managing and updating/upgrading snaps
7259265
doc: skip ceph.io during linkcheck
422072e
doc: add pyyaml to Makefile commands
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,87 +1,78 @@ | ||
| (howto-snap)= | ||
| # How to manage the snaps | ||
|
|
||
| MicroCloud is distributed as a [snap](https://snapcraft.io/docs). | ||
| The benefit of packaging MicroCloud as a snap is that it makes it possible to include the required dependencies, and that it allows MicroCloud to be installed on many different Linux distributions. | ||
| The snap ensures that MicroCloud runs in a consistent environment. | ||
| Manage MicroCloud and its components (LXD, MicroCeph, and MicroOVN) through their snap packages. | ||
|
roosterfish marked this conversation as resolved.
|
||
|
|
||
| Because MicroCloud uses a set of {ref}`other snaps <reference-requirements-software-snaps>`, you must make sure to have suitable versions of these snaps installed on all machines of your MicroCloud cluster. | ||
| The installed snap versions must be compatible with one another, and for each of the snaps, the same version must be installed on all machines. | ||
| For the installation guide, see: {ref}`howto-install`. For details about the snaps, including {ref}`supported and compatible releases <ref-releases-matrix>`, {ref}`tracks <ref-snaps-microcloud-tracks>`, and {ref}`release processes <ref-releases-microcloud>`, see: {ref}`ref-releases-snap`. | ||
|
|
||
| ## Choose the right channel and track | ||
| (howto-snap-info)= | ||
| ## View snap information | ||
|
|
||
| Snaps come with different channels that define which release of a snap is installed and tracked for updates. | ||
| See [Channels and tracks](https://snapcraft.io/docs/channels) in the snap documentation for detailed information. | ||
| To view information about a snap, including the available channels and installed version, run: | ||
|
|
||
| MicroCloud currently provides the `2` LTS and `3` development track. The `1` track reached {abbr}`EOL (End of Life)` at the end of April 2025. | ||
|
|
||
| ```{tip} | ||
| In general, you should use the default channels for all snaps required to run MicroCloud. | ||
|
|
||
| See {ref}`howto-support` for a list of supported channels that are orchestrated to work together. | ||
| ```bash | ||
| snap info <microcloud|lxd|microceph|microovn> | ||
| ``` | ||
|
|
||
| When installing a snap, specify the channel as follows: | ||
|
|
||
| sudo snap install <snap_name> --channel=<channel> | ||
|
|
||
| For example: | ||
|
|
||
| sudo snap install microcloud --channel=2/stable | ||
|
|
||
| To see all available channels of a snap, run the following command: | ||
|
|
||
| snap info <snap_name> | ||
| To view information about the installed version only, run: | ||
|
|
||
| (howto-snap-control-updates)= | ||
| ## Control updates | ||
| ```bash | ||
| snap list <microcloud|lxd|microceph|microovn> | ||
| ``` | ||
|
|
||
| By default, snaps are updated automatically. | ||
| In the case of MicroCloud, this can be problematic because the related snaps must always use compatible versions, and because all machines of a cluster must use the same version of each snap. | ||
| Sample output: | ||
|
|
||
| Therefore, you should manually apply your updates and make sure that all cluster members are in sync regarding the snap versions that they use. | ||
| ```{terminal} | ||
| :input: snap list microcloud | ||
| :user: root | ||
| :host: instance | ||
|
|
||
| (howto-snap-hold-updates)= | ||
| ### Hold updates | ||
| Name Version Rev Tracking Publisher Notes | ||
| microcloud 2.1.0-3e8b183 1144 2/stable canonical✓ in-cohort,held | ||
| ``` | ||
|
|
||
| You can hold snap updates for a specific time or forever, for all snaps or for specific snaps. | ||
| The first part of the version string corresponds to the release (in this sample, `2.1.0`). | ||
|
|
||
| Which strategy to choose depends on your use case. | ||
| If you want to fully control updates to your MicroCloud setup, you should put a hold on all related snaps until you decide to update them. | ||
| (howto-snap-daemon)= | ||
| ## Manage the MicroCloud daemon | ||
|
|
||
| Enter the following command to indefinitely hold all updates to the snaps needed for MicroCloud: | ||
| Installing the MicroCloud snap creates the MicroCloud daemon as a [snap service](https://snapcraft.io/docs/service-management). Use the following `snap` commands to manage this daemon. | ||
|
|
||
| sudo snap refresh --hold lxd microceph microovn microcloud | ||
| To view the status of the daemon, run: | ||
|
|
||
| See [Hold refreshes](https://snapcraft.io/docs/managing-updates#heading--hold) in the snap documentation for detailed information about holding snap updates. | ||
| ```bash | ||
| snap services microcloud | ||
| ``` | ||
|
|
||
| (howto-snap-cluster)= | ||
| ### Keep cluster members in sync | ||
| To stop the daemon, run: | ||
|
|
||
| Snap updates are delivered as [progressive releases](https://snapcraft.io/docs/progressive-releases), which means that updated snap versions are made available to different machines at different times. | ||
| This method can cause a problem for cluster updates if some cluster members are refreshed to a version that is not available to other cluster members yet. | ||
| ```bash | ||
| sudo snap stop microcloud | ||
| ``` | ||
|
|
||
| To avoid this problem, use the `--cohort="+"` flag when refreshing your snaps: | ||
| To start the daemon, run: | ||
|
|
||
| sudo snap refresh <snap> --cohort="+" | ||
| ```bash | ||
| sudo snap start microcloud | ||
| ``` | ||
|
|
||
| This flag ensures that all machines in a cluster see the same snap revision and are therefore not affected by a progressive rollout. | ||
| To restart the daemon, run: | ||
|
|
||
| ## Use an Enterprise Store Proxy | ||
| ```bash | ||
| sudo snap restart microcloud | ||
| ``` | ||
|
|
||
| If you manage a large MicroCloud deployment and you need absolute control over when updates are applied, consider installing an Enterprise Store Proxy. | ||
| For more information about managing snap services, visit [Service management](https://snapcraft.io/docs/service-management) in the Snap documentation. | ||
|
|
||
| The Enterprise Store Proxy is a separate application that sits between the snap client command on your machines and the snap store. | ||
| You can configure the Enterprise Store Proxy to make only specific snap revisions available for installation. | ||
| ## Related topics | ||
|
|
||
| See the [Enterprise Store Proxy documentation](https://documentation.ubuntu.com/enterprise-store/) for information about how to install and register the Enterprise Store Proxy. | ||
| How-to guides: | ||
| - {ref}`howto-update-upgrade` | ||
| - {ref}`howto-install` | ||
|
|
||
| After setting it up, configure the snap clients on all cluster members to use the proxy. | ||
| See [Configuring devices](https://documentation.ubuntu.com/enterprise-store/main/how-to/devices/) for instructions. | ||
| Reference: | ||
| - {ref}`ref-releases-snaps` | ||
|
|
||
| You can then configure the Enterprise Store Proxy to override the revisions for the snaps that are needed for MicroCloud: | ||
| In the LXD documentation: | ||
|
|
||
| sudo snap-proxy override lxd <channel>=<revision> | ||
| sudo snap-proxy override microceph <channel>=<revision> | ||
| sudo snap-proxy override microovn <channel>=<revision> | ||
| sudo snap-proxy override microcloud <channel>=<revision> | ||
| - {ref}`lxd:howto-snap` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,38 +1,31 @@ | ||
| (howto-support)= | ||
| # How to get support | ||
|
|
||
| We recommend using the following channels for the snaps required to run MicroCloud: | ||
| For information about supported and compatible releases of MicroCloud and its components, see: {ref}`ref-releases-matrix`. | ||
|
|
||
| * For MicroCloud: `2/(stable|candidate|edge)` | ||
| * For LXD: `5.21/(stable|candidate|edge)` | ||
| * For MicroCeph: `squid/(stable|candidate|edge)` | ||
| * For MicroOVN: `24.03/(stable|candidate|edge)` | ||
| ## Community support | ||
|
|
||
| The LTS version of MicroCloud is available in the `2` track. | ||
| It's recommended to use the `<track>/stable` channels for production deployments. | ||
| You can seek support from the LXD developers as well as the wider community through the following channels. | ||
|
|
||
| ```{admonition} Users of the 1 track | ||
| :class: important | ||
| MicroCloud `1/(stable|candidate|edge)` reached {abbr}`EOL (End of Life)` at the end of April 2025. | ||
| If you use this track, make sure to upgrade to the `2` LTS track. See the {ref}`howto-update-upgrade-upgrade` guide for more information. | ||
| ``` | ||
| ### Forum | ||
|
|
||
| ## Support and community | ||
| Ask questions or engage in discussions in our [Discourse forum](https://discourse.ubuntu.com/c/lxd/microcloud/145). | ||
|
|
||
| The following channels are available for you to interact with the MicroCloud community: | ||
| ### Documentation | ||
|
|
||
| - You can file bug reports and feature requests as [GitHub issues](https://github.com/canonical/microcloud/issues/new). | ||
| - To ask questions, go to the MicroCloud section of our [discussion forum](https://discourse.ubuntu.com/c/lxd/microcloud/145). | ||
| Access the [official documentation](https://documentation.ubuntu.com/microcloud/latest/). | ||
|
|
||
| ## Commercial support | ||
| ### Bug reports and feature requests | ||
|
|
||
| To file a new bug or feature request, [submit an issue on GitHub](https://github.com/canonical/microcloud/issues/new). | ||
|
|
||
| Commercial support for MicroCloud is available through [Ubuntu Pro](https://ubuntu.com/support) (Ubuntu Pro (Infra-only) or full Ubuntu Pro). | ||
| The support will cover all LTS versions for five years starting from the day of the release. | ||
| ### Other community resources | ||
|
|
||
| See the full [Ubuntu Pro service description](https://ubuntu.com/legal/ubuntu-pro-description) for detailed information about what support Ubuntu Pro provides. | ||
| You can find additional resources on the [MicroCloud website](https://canonical.com/microcloud) and on [the LXD channel on YouTube](https://www.youtube.com/channel/UCuP6xPt0WTeZu32CkQPpbvA). | ||
|
|
||
| ## Commercial support | ||
|
|
||
| ## Documentation | ||
| LTS releases of MicroCloud receive standard support for five years, which means they receive continuous updates. Commercial support for MicroCloud is provided as part of [Ubuntu Pro](https://ubuntu.com/pro) (both Infra-only and full Ubuntu Pro). See the [full service description](https://ubuntu.com/legal/ubuntu-pro-description) for details. | ||
|
|
||
| See the [MicroCloud documentation](https://documentation.ubuntu.com/microcloud/latest/microcloud/) for official product documentation. | ||
| Managed solutions and firefighting support are also available for MicroCloud deployments. See: [Managed services](https://ubuntu.com/managed). | ||
|
|
||
| You can find additional resources on the [website](https://canonical.com/microcloud) and in the [discussion forum](https://discourse.ubuntu.com/c/lxd/microcloud/145). |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.