Comment 0 for bug 1814157

Revision history for this message
Chad Smith (chad.smith) wrote :

[Description]
The canonical-server team is requesting a feature freeze exception for acceptance of an new version of ubuntu-advantage-tools. Version 19 will introduce an updated command line interface (UA Client) to simplify interaction with Ubuntu Advantage support offerings. This version of ubuntu-advantage-tools depends on interaction with a new remote Contract API service for authentication and entitlement details.

[Rationale]
ubuntu-advantage-tools v.19 is currently under development against a Contract API spec but it has not yet been qualified against a functional (production, development) Contract API service. That contract service will not be made available to us until Feb 11th at earliest which doesn't leave enough time to validate ubuntu-advantage-tools' interaction with the remote API and resolve all major bugs by feature freeze date.

If we block the update to ubuntu-advantage-tools version 19, Ubuntu consumers will continue to have a very manual and time-consuming interaction with Ubuntu Advantage support offerings like livepatch fips and esm in order to enable, disable and maintain their support offerings on a fleet of machines.

[Timeline]
 Our expectation is to have access to the UA Contract API backend service (ver.1) by Feb 11th at the earliest. The Contract API is under heavy active development which is changing the API spec in the process. When the Contract API service is available for testing, the Ubuntu Advantage integration testing against a functional API can begin to exercise both supported and unsupported platforms (kvm, lxc, baremetal). At this point any major bugs can be recognized and resolved.

[Risks]
Low-risk for Disco as ubuntu-advantage-tools will not allow enabling most support entitlements because it is not an LTS (where ESM or FIPS have support). This is a fairly simple command-line tool without a lot of moving pieces, the most significant complexity/risk in this new version comes from iteractions with the UA Contract API backend service to obtain auth tokens and request entitlement configuration details.

This new client is a rewrite from bash to python and is used only to enable/disable apt repositories, interact with motd and livepatch. The move to python makes it a bit easier to test functionality. We will have both integration tests and unittest coverage for all significant features to ensure that the features are well vetted prior to release.