[Bug 1719671] Re: [SRU] include recent version containing fips and livepatch
Eric Desrochers
eric.desrochers at canonical.com
Thu Oct 26 23:27:21 UTC 2017
Sponsored for Zesty, Xenial & Trusty in their respective upload queue.
Now waiting for SRU verification team to approve the upload for the packages to enter in the test phase ($RELEASE-proposed)
- Eric
** Tags removed: sts-sponsor-slashd
** Tags added: sts-sponsor-slashd-done
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1719671
Title:
[SRU] include recent version containing fips and livepatch
Status in ubuntu-advantage-tools package in Ubuntu:
Fix Released
Status in ubuntu-advantage-tools source package in Trusty:
In Progress
Status in ubuntu-advantage-tools source package in Xenial:
In Progress
Status in ubuntu-advantage-tools source package in Zesty:
In Progress
Status in ubuntu-advantage-tools source package in Artful:
Fix Released
Bug description:
This bug has some history that may be confusing from the comments.
Basically it started out as a Feature Freeze Exception, that's why we
have build logs, git logs and unit test runs attached.
Also, the "rename" that is mentioned elsewhere did not happen with
this package: the ubuntu-advantage name was kept, no new aliases were
added. This will happen in a later SRU, with a later version of the
package.
I uploaded new tarballs and debdiff with these changes from what was here before, just in case you, the reader, have looked at the previous description:
* tarball with correct directory entry. The previous one had "v10" instead of "10" as the base version
* updated most recent changelog entry, just saying this is a backport of version 10. No need to say it has fips support, which neglected to mention the livepatch support. All that is in the previous d/changelog entries
PPA with built packages for t, x and z:
https://launchpad.net/~ahasenack/+archive/ubuntu/ua-tools-sru-1719671
(ppa:ahasenack/ua-tools-sru-1719671 - no ~ppaN suffix, sorry)
[IMPACT]
Most recent version of ubuntu-advantage-tool on github includes fips and livepatch enablement. The fips enablement will allow customers to easily install and configure Canonical's FIPS certified modules on xenial, whereas livepatch allows xenial and trusty customers to patch the running kernel without a reboot.
This SRU will cover both new features.
In addition to the new features themselves, a new "status" command was
added that will give a short summary about the available modules and
their status, at a glance.
Note: FIPS certified modules are only available for xenial. Livepatch
is supported on xenial and trusty. The tool will refuse to enable
either service on an unsupported ubuntu release.
Without this updated package, customers of those services have to
enable them manually by following a series of steps.
[FIPS DESCRIPTION]
When "ubuntu-advantage enable-fips <token>" is issued from commandline,
- configure the private PPA where the FIPS modules are located
- install the FIPS modules from this PPA to the local machine from where the script is run
- configure the bootloader to enable fips
Upon successful completion of these steps, the customer then gets a message stating to reboot
the machine to complete the fips enablement process.
Without the script, customers must perform the steps manually.
[LIVEPATCH DESCRIPTION]
Livepatch allows customers to apply kernel patches to a running system without rebooting it.
The current instructions live in http://ubuntu.com/livepatch and boil down to:
- install snapd if it's not installed already. On trusty this means a new kernel as well.
- install the canonical-livepatch snap
- obtain a livepatch token from Canonical
- run the enable command with the given token
The ubuntu-advantage-tools package simplifies this process by just
requesting the token and performing all the other steps on behalf of
the user. It also conveniently checks the running kernel and instructs
the user to reboot into a newer kernel if needed to finish the
installation (this is the case when running trusty).
[FIX]
Add fips and livepatch support to the ubuntu-adadvantage-tools
package. See debdiff below.
[LIVEPATCH TESTCASES]
TRUSTY
0. Install the new ubuntu-advantage-tools package to add livepatch support.
1. Collect status before enabling livepatch
type on commandline:
ubuntu-advantage status
expect:
livepatch: disabled
esm: disabled (not available)
fips: disabled (not available)
2. Enable livepatch
visit https://ubuntu.com/livepatch and obtain a token
type on commandline,
sudo ubuntu-advantage enable-livepatch <yourtoken>
You may be required to install a newer kernel. In that case, expect the
following output:
Installing missing dependency snapd... OK
Installing the canonical-livepatch snap.
This may take a few minutes depending on your bandwidth.
canonical-livepatch 7.24 from 'canonical' installed
Your currently running kernel (3.13.0-133-generic) is too old to
support snaps. Version 4.4.0 or higher is needed.
Please reboot your system into a supported kernel version
and run the following command one more time to complete the
installation:
sudo ubuntu-advantage enable-livepatch <yourtoken>
Once you reboot and re-run the specified command, expect:
Enabling Livepatch with the given token, stand by...
Successfully enabled device. Using machine-token: <sometoken>
Use "canonical-livepatch status" to verify current patch status.
3. Verify livepatch status
type on commandline,
ubuntu-advantage status
expect an output like the following,
livepatch: enabled
client-version: "7.23"
architecture: x86_64
cpu-model: Intel Core Processor (Skylake)
last-check: 2017-10-23T15:10:45.640938255Z
boot-time: 2017-10-23T15:10:13Z
uptime: 1m19s
status:
- kernel: 4.4.0-97.120~14.04.1-generic
running: true
livepatch:
checkState: checked
patchState: nothing-to-apply
version: ""
fixes: ""
esm: disabled (not available)
fips: disabled (not available)
XENIAL
0. Install the new ubuntu-advantage-tools package to add livepatch support.
1. Collect status before enabling livepatch
type on commandline,
ubuntu-advantage status
expect,
livepatch: disabled
esm: disabled (not available)
fips: disabled
2. Enable livepatch
visit https://ubuntu.com/livepatch and obtain a token
type on commandline,
sudo ubuntu-advantage enable-livepatch <yourtoken>
expect,
Installing the canonical-livepatch snap.
This may take a few minutes depending on your bandwidth.
2017-10-20T19:39:41Z INFO Waiting for restart...
canonical-livepatch 7.24 from 'canonical' installed
Enabling Livepatch with the given token, stand by...
Successfully enabled device. Using machine-token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Use "canonical-livepatch status" to verify current patch status.
3. Verify livepatch status
type on commandline,
ubuntu-advantage status
expect an output like the following,
livepatch: enabled
client-version: "7.23"
architecture: x86_64
cpu-model: Intel Core Processor (Skylake)
last-check: 2017-10-20T19:39:54.451499227Z
boot-time: 2017-10-20T19:28:09Z
uptime: 15m30s
status:
- kernel: 4.4.0-97.120-generic
running: true
livepatch:
checkState: checked
patchState: nothing-to-apply
version: ""
fixes: ""
esm: disabled (not available)
fips: disabled
ZESTY
0. Install the new ubuntu-advantage-tools package to add livepatch support.
1. Collect status before enabling livepatch
type on commandline:
ubuntu-advantage status
expect the livepatch service to be unavailable:
livepatch: disabled (not available)
esm: disabled (not available)
fips: disabled (not available)
2. Ensure that livepatch cannot be enabled on Zesty.
You can use a dummy set of credentials like "foobar" as the token:
type on commandline,
sudo ubuntu-advantage enable-livepatch foobar
expect,
Sorry, but Canonical Livepatch is not supported on zesty
[FIPS TESTCASES]
These testcases assume you have installed ubuntu-advantage-tools with the proposed changes. Prior to the upload they were performed on S390, PPC64EL and AMD64 architectures.
TRUSTY
(Note that FIPS is not supported on trusty.)
1. Collect status before enabling fips
type on commandline,
ubuntu-advantage status
expect,
livepatch: disabled
esm: disabled (not available)
fips: disabled (not available)
2. Ensure that fips cannot be enabled on trusty.
You can use a dummy set of credentials like user:secret as the token:
type on commandline,
sudo ubuntu-advantage enable-fips user:secret
expect,
Sorry, but Canonical FIPS 140-2 Modules is not supported on trusty
XENIAL
0. Install the new ubuntu-advantage-tools package to add fips support.
1. Collect status before enabling fips
type on commandline,
ubuntu-advantage status
expect,
livepatch: disabled
esm: disabled (not available)
fips: disabled
2. Enable fips
Note: This will require a token or credentials to fips Private PPA, in
the form xxx:xxx
type on commandline,
sudo ubuntu-advantage enable-fips xxx:xxx
expect,
[sudo] password for ubuntu:
Running apt-get update... OK
Ubuntu FIPS PPA repository enabled.
Installing FIPS packages (this may take a while)... OK
Configuring FIPS...
Updating grub to enable fips... OK
Successfully configured FIPS. Please reboot into the FIPS kernel to enable it.
type on commandline,
sudo reboot
3. Log back into system after reboot
type on commandline,
ubuntu-advantage status
expect,
livepatch: disabled
esm: disabled (not available)
fips: enabled
4. verify fips kernel "4.4.0-1002-fips" has been installed
type on commandline,
uname -a
expect,
Linux xenialguest 4.4.0-1002-fips #2-Ubuntu SMP Thu Apr 27 19:37:46 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ZESTY
(Note that FIPS is not supported on zesty.)
1. Collect status before enabling fips
type on commandline,
ubuntu-advantage status
expect,
livepatch: disabled (not available)
esm: disabled (not available)
fips: disabled (not available)
2. Ensure that fips cannot be enabled on Zesty.
You can use a dummy set of credentials like user:secret as the token:
type on commandline,
sudo ubuntu-advantage enable-fips user:secret
expect,
Sorry, but Canonical FIPS 140-2 Modules is not supported on zesty
[REGRESSION POTENTIAL]
The current ubuntu-advantage-tools package in trusty, xenial and zesty is basically a NOOP because the only service it supports is ESM, which is only available for precise.
This update adds two new features to the package: FIPS (xenial only) and Livepatch (trusty and xenial), essentially making the package useful in trusty and xenial. For zesty there is no change, as none of these products are available for non-LTS releases.
In case of broken core functionality or specific broken features, note
that there is a manual instructions workaround if needed.
[OTHER INFO]
The way this package was made available in all the ubuntu releases where it is now was via a "pocket copy". That's why it has the exact same version in trusty, xenial and zesty. Currently artful has version 10 (a version 12 just missed the feature freeze), so in order for upgrades between releases to work, we adopted the backports versioning scheme, by appending the ubuntu release code with a tilda ("~") to the version.
Another point is that even though ubuntu-advantage-tools is "just" a shell script, it is unit tested with python3, and these tests (and lint runs) gate merges in the upstream github repository at github.com/CanonicalLtd/ubuntu-advantage-script/. The tests do not necessarily run on each ubuntu release because of the version of python that is available in each. A clean run without any changes can be obtained in xenial and higher. Trusty needs a newer python3 (3.5 at a minimum).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-advantage-tools/+bug/1719671/+subscriptions
More information about the Ubuntu-sponsors
mailing list