CloudArchive

Differences between revisions 1 and 84 (spanning 83 versions)
Revision 1 as of 2012-04-23 14:51:43
Size: 6730
Editor: robbiew
Comment:
Revision 84 as of 2020-08-11 04:46:33
Size: 5826
Editor: taihsiangho
Comment: Add the Ubuntu-Openstack release vs. package version in the cloud archive mapping explaination.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from ServerTeam/CloudArchive
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>||
Line 4: Line 6:
Canonical’s Ubuntu Cloud archive allows users the ability to install newer releases of OpenStack on Ubuntu Server 12.04 LTS (and the dependencies) as they become available up through the next Ubuntu LTS release (presumably 14.04). Bug processing and patch contributions will follow standard Ubuntu practice and policy where applicable. Canonical commits to maintaining and supporting new OpenStack releases for Ubuntu Server 12.04 LTS in the Ubuntu Cloud archive for at least 18 months after they release. Canonical will stop introducing new releases of OpenStack for Ubuntu Server 12.04 LTS into the Ubuntu Cloud archive with the version shipped in the next Ubuntu Server LTS release (presumably 14.04). They will maintain and support this last updated release of OpenStack in the Ubuntu Cloud archive for 3 years, i.e. until the end of the Ubuntu 12.04 LTS lifecycle. Canonical’s Ubuntu Cloud Archive (UCA) gives users the ability to install newer releases of !OpenStack on an Ubuntu LTS release (only) as they become available up through to the next Ubuntu LTS release. Bug processing and patch contributions will follow standard Ubuntu practice and policy where applicable.
Line 6: Line 8:
In order to allow for relatively easy upgrades, and still adhere to Ubuntu processes and policy, Canonical elected to have archive.canonical.com be the home of the Ubuntu Cloud archive. They will enable update paths for each OpenStack release. In order to allow for relatively easy upgrades, and still adhere to Ubuntu processes and policy, Canonical elected to have
[[http://ubuntu-cloud.archive.canonical.com | ubuntu-cloud.archive.canonical.com]] be the home of the cloud archive. Update paths will exist for each !OpenStack release. For example, enabling "bionic-ussuri" will provide access to all !OpenStack Ussuri packages built for Ubuntu 18.04 LTS (binary and source), any updated dependencies required, and bug/security fixes published after release.
Line 8: Line 11:
 * e.g. Enabling “precise-folsum” in the archive will provide access to all OpenStack Folsum packages built for Ubuntu Server 12.04 LTS (binary and source), any updated dependencies required, and bug/security fixes made after release. Packages go through various stages as they make their way towards a publicly available UCA release. See the [[OpenStack/VersionTracking | Version Tracking]] page for details.
Line 10: Line 13:
As of now, Canonical has no plans to build or host OpenStack packages for non-LTS releases of Ubuntu Server in the Ubuntu Cloud archive. The chart below explains the options. Any given UCA !OpenStack release can be enabled on exactly one Ubuntu LTS release.

For more details on !OpenStack release end of life see: [[https://ubuntu.com/about/release-cycle#ubuntu-openstack-release-cycle | Ubuntu OpenStack release cycle]].

=== Reporting bugs ===

To report bugs against packages from the UCA, please use the `ubuntu-bug` tool.

For example:

{{{
ubuntu-bug nova-compute
}}}

This will ensure that bugs are raised against the [[https://launchpad.net/cloud-archive | cloud-archive]] project on Launchpad.

== Using the UCA ==

The release schedule of !OpenStack and Ubuntu are generally synchronised: a new !OpenStack release becomes available in the UCA every six months and coincides with each release of Ubuntu. As !OpenStack releases are added to the UCA and as releases fall out of support this section will be updated.

A UCA !OpenStack release is enabled on a host with the `add-apt-repository` command.

'''Important''': It is good practice to run `sudo apt update` both before and after the `add-apt-repository` command.

=== Ubuntu 20.04 LTS ===

On 20.04, !OpenStack Victoria and !OpenStack X are supported for 18 months each, and !OpenStack W for 36 months. When 22.04's default !OpenStack version is released it will be added to the UCA with support for 3 years (i.e. until the end of the Ubuntu 20.04 LTS lifecycle).

=== Ubuntu 18.04 LTS ===

On 18.04, !OpenStack Rocky and !OpenStack Train are supported for 18 months each, and !OpenStack Stein for 36 months. When 20.04's default !OpenStack version is released it will be added to the UCA with support for 3 years (i.e. until the end of the Ubuntu 18.04 LTS lifecycle).

==== Ussuri ====

{{{
sudo add-apt-repository cloud-archive:ussuri
}}}

==== Train ====

{{{
sudo add-apt-repository cloud-archive:train
}}}

==== Stein ====

{{{
sudo add-apt-repository cloud-archive:stein
}}}

==== Rocky ====

{{{
sudo add-apt-repository cloud-archive:rocky
}}}

=== Ubuntu 16.04 LTS ===

On 16.04, !OpenStack Newton and !OpenStack Pike are supported for 18 months each, and !OpenStack Ocata for 36 months. !OpenStack Queens, 18.04's default !OpenStack version, is supported in the UCA for 3 years (i.e. until the end of the Ubuntu 16.04 LTS lifecycle).

==== Queens ====

{{{
sudo add-apt-repository cloud-archive:queens
}}}

=== Ubuntu 14.04 LTS ===

On 14.04, !OpenStack Juno and !OpenStack Liberty are supported for 18 months each, and !OpenStack Kilo for 36 months. !OpenStack Mitaka, 16.04's default !OpenStack version, is supported in the UCA for 3 years (i.e. until the end of the Ubuntu 14.04 LTS lifecycle).

==== Mitaka ====

{{{
sudo add-apt-repository cloud-archive:mitaka
}}}

== Ceph and the UCA ==

The below table shows the relationship between UCA release, Ceph release, Ubuntu release, and Ubuntu default archive ("distro").

|| '''Ceph release''' || '''Default archive''' || '''UCA release''' || '''Ubuntu release''' ||
|| Octopus || yes || - || Focal ||
|| Octopus || - || bionic-ussuri || Bionic ||
|| Nautilus || - || bionic-train || Bionic ||
|| Mimic || - || bionic-stein || Bionic ||
|| Mimic || - || bionic-rocky || Bionic ||
|| Luminous || yes || - || Bionic ||
|| Luminous || - || xenial-queens || Xenial ||
|| Jewel || yes || - || Xenial ||
|| Jewel || - || trusty-mitaka || Trusty ||
|| Firefly || yes || - || Trusty ||
Line 13: Line 106:
Q&A == Package Back-Porting Policy ==
Line 15: Line 108:
Why Not Use Stable Release Updates? The packages in the cloud archive will follow a policy similar to Ubuntu release back-porting policy. For example, Openstack Train originated in Eoan and is back-ported to the Train cloud archive, and Openstack Queens originated in Bionic and is back-ported to the Queens cloud archive.
Line 17: Line 110:
Ubuntu's release policy states that once an Ubuntu release has been published, updates must follow a special procedure called a stable release update, or SRU, and are delivered via the -updates archive. These updates are restricted to a specific set of characteristics:

severe regression bugs
security vulnerabilities (via the -security archive)
bugs causing loss of user data
"safe" application layer bugs
hardware enablement
partner archive updates
Exceptions to the SRU policy are possible. However, for this to occur the Ubuntu Technical Board must approve the exception, which must meet their guidelines:

Updates to new upstream versions of packages must be forced or substantially impelled by changes in the external environment, i.e. changes must be outside anything that could reasonably be encapsulated in a stable release of Ubuntu. Changes internal to the operating system we ship (i.e. the Ubuntu archive), or simple bugs or new features, would not normally qualify.
A new upstream version must be the best way to solve the problem. For example, if a new upstream version includes a small protocol compatibility fix and a large set of user interface changes, then, without any judgement required as to the benefits of the user interface changes, we will normally prefer to backport the protocol compatibility fix to the version currently in Ubuntu.
The upstream developers must be willing to work with Ubuntu. A responsive upstream who understands Ubuntu's requirements and is willing to work within them can make things very much easier for us.
The upstream code must be well-tested (in terms of unit and system tests). It must also be straightforward to run those tests on the actual packages proposed for deployment to Ubuntu users.
Where possible, the package must have minimal interaction with other packages in Ubuntu. Ensuring that there are no regressions in a library package that requires changes in several of its reverse-dependencies, for example, is significantly harder than ensuring that there are no regressions in a package with a straightforward standalone interface that can simply be tested in isolation. We would not normally accept the former, but might consider the latter.
Once approved by the Tech Board, the exception must have a documented update policy, e.g. http://wiki.ubuntu.com/LandscapeUpdates. Based on these guidelines and the core functionality OpenStack serves in Ubuntu Cloud, the Ubuntu Server team did not feel it was in the best interest of their users, nor Ubuntu in general, to pursue an SRU exception.

What about using Ubuntu Backports?

The Ubuntu Backports process (excludes kernel) provides us a mechanism for releasing package updates for stable releases that provide new features or functionality. Changes were recently made to `apt` in Ubuntu 11.10, whereby it now only installs packages from Backports when they are explicitly requested. Prior to 11.10, `apt` would install everything from Backports once it was enabled, which led to packages being unintentionally upgraded to newer versions. The primary drawbacks with using the Backports archive is that the Ubuntu Security team does not provide updates for the archive, it’s a bit of a hassle to enable per package updates, and Canonical doesn’t traditionally offer support services for the packages hosted there. Furthermore, with each new release of OpenStack, there are other applications that OpenStack depends on that also must be at certain levels. By having more than one version of OpenStack in the same Backports archive, we run a huge risk of having backward compatibility issues with these dependencies.

How Will You Ensure Stability and Quality?

In order for us to ensure users have a safe and reliable upgrade path, we will establish a QA policy where all new versions and updated dependencies are required to pass a specific set of regression tests with a 100% success rate. In addition:

Unit testing must cover a minimum set of functionality and APIs
System test scenarios must be executed for 24, 48 and 72 hours uninterrupted.
Package testing must cover: initial installation, upgrades from the previous OpenStack release, and upgrades from the previous LTS and non-LTS Ubuntu release.
All test failures must be documented as bugs in Launchpad, with regressions marked Fix Released before the packages are allowed to exit QA.
Test results are posted publicly and announced via a mailing list specifically created for this effort only.
Only upon successfully exiting QA will packages be pushed into the Ubuntu Cloud archive.

What Happens With OpenStack Support and Maintenance in 14.04?

Good question. The cycle could repeat itself, however at this point Canonical is not making such a commitment. If the rate of innovation and growth of the OpenStack project matures to a point where users become less likely to need the next release for its improved stability and/or quality, and instead just want it for a new feature, then we would likely return to our traditional LTS maintenance and support model.
You may also refer to [[http://reqorts.qa.ubuntu.com/reports/ubuntu-server/cloud-archive/|these tables]] to see what the package version per Openstack release in the cloud archive. Here is an practical case of the qemu package. Openstack train originated in Eoan, and its qemu is 1.4.0-based. The default qemu version of Bionic is 1.2.0-based. Thus 1.4.0 is back-ported to the Bionic Train cloud archive. By using this Bionic Train cloud archive with your Ubuntu Bionic release, the original 1.2.0-based qemu in your Ubuntu Bionic system will be replaced/upgraded to 1.4.0-based qemu.

The Ubuntu Cloud Archive

Canonical’s Ubuntu Cloud Archive (UCA) gives users the ability to install newer releases of OpenStack on an Ubuntu LTS release (only) as they become available up through to the next Ubuntu LTS release. Bug processing and patch contributions will follow standard Ubuntu practice and policy where applicable.

In order to allow for relatively easy upgrades, and still adhere to Ubuntu processes and policy, Canonical elected to have ubuntu-cloud.archive.canonical.com be the home of the cloud archive. Update paths will exist for each OpenStack release. For example, enabling "bionic-ussuri" will provide access to all OpenStack Ussuri packages built for Ubuntu 18.04 LTS (binary and source), any updated dependencies required, and bug/security fixes published after release.

Packages go through various stages as they make their way towards a publicly available UCA release. See the Version Tracking page for details.

Any given UCA OpenStack release can be enabled on exactly one Ubuntu LTS release.

For more details on OpenStack release end of life see: Ubuntu OpenStack release cycle.

Reporting bugs

To report bugs against packages from the UCA, please use the ubuntu-bug tool.

For example:

ubuntu-bug nova-compute

This will ensure that bugs are raised against the cloud-archive project on Launchpad.

Using the UCA

The release schedule of OpenStack and Ubuntu are generally synchronised: a new OpenStack release becomes available in the UCA every six months and coincides with each release of Ubuntu. As OpenStack releases are added to the UCA and as releases fall out of support this section will be updated.

A UCA OpenStack release is enabled on a host with the add-apt-repository command.

Important: It is good practice to run sudo apt update both before and after the add-apt-repository command.

Ubuntu 20.04 LTS

On 20.04, OpenStack Victoria and OpenStack X are supported for 18 months each, and OpenStack W for 36 months. When 22.04's default OpenStack version is released it will be added to the UCA with support for 3 years (i.e. until the end of the Ubuntu 20.04 LTS lifecycle).

Ubuntu 18.04 LTS

On 18.04, OpenStack Rocky and OpenStack Train are supported for 18 months each, and OpenStack Stein for 36 months. When 20.04's default OpenStack version is released it will be added to the UCA with support for 3 years (i.e. until the end of the Ubuntu 18.04 LTS lifecycle).

Ussuri

sudo add-apt-repository cloud-archive:ussuri

Train

sudo add-apt-repository cloud-archive:train

Stein

sudo add-apt-repository cloud-archive:stein

Rocky

sudo add-apt-repository cloud-archive:rocky

Ubuntu 16.04 LTS

On 16.04, OpenStack Newton and OpenStack Pike are supported for 18 months each, and OpenStack Ocata for 36 months. OpenStack Queens, 18.04's default OpenStack version, is supported in the UCA for 3 years (i.e. until the end of the Ubuntu 16.04 LTS lifecycle).

Queens

sudo add-apt-repository cloud-archive:queens

Ubuntu 14.04 LTS

On 14.04, OpenStack Juno and OpenStack Liberty are supported for 18 months each, and OpenStack Kilo for 36 months. OpenStack Mitaka, 16.04's default OpenStack version, is supported in the UCA for 3 years (i.e. until the end of the Ubuntu 14.04 LTS lifecycle).

Mitaka

sudo add-apt-repository cloud-archive:mitaka

Ceph and the UCA

The below table shows the relationship between UCA release, Ceph release, Ubuntu release, and Ubuntu default archive ("distro").

Ceph release

Default archive

UCA release

Ubuntu release

Octopus

yes

-

Focal

Octopus

-

bionic-ussuri

Bionic

Nautilus

-

bionic-train

Bionic

Mimic

-

bionic-stein

Bionic

Mimic

-

bionic-rocky

Bionic

Luminous

yes

-

Bionic

Luminous

-

xenial-queens

Xenial

Jewel

yes

-

Xenial

Jewel

-

trusty-mitaka

Trusty

Firefly

yes

-

Trusty

Package Back-Porting Policy

The packages in the cloud archive will follow a policy similar to Ubuntu release back-porting policy. For example, Openstack Train originated in Eoan and is back-ported to the Train cloud archive, and Openstack Queens originated in Bionic and is back-ported to the Queens cloud archive.

You may also refer to these tables to see what the package version per Openstack release in the cloud archive. Here is an practical case of the qemu package. Openstack train originated in Eoan, and its qemu is 1.4.0-based. The default qemu version of Bionic is 1.2.0-based. Thus 1.4.0 is back-ported to the Bionic Train cloud archive. By using this Bionic Train cloud archive with your Ubuntu Bionic release, the original 1.2.0-based qemu in your Ubuntu Bionic system will be replaced/upgraded to 1.4.0-based qemu.

OpenStack/CloudArchive (last edited 2020-08-11 04:46:33 by taihsiangho)