ubuntu-advantage enable-esm should ensure correct package requirements are met

Bug #1840091 reported by Chris Johnston
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-advantage-tools (Ubuntu)
Won't Fix
Medium
Erlon R. Cruz
Trusty
Fix Released
High
Erlon R. Cruz
Xenial
Won't Fix
Medium
Unassigned
Bionic
Won't Fix
Medium
Unassigned
Eoan
Won't Fix
Medium
Unassigned

Bug Description

[Impact]

To use ESM for 14.04 you must install 1.0.1ubuntu2.23 of apt apt-transport-https apt-utils libapt-inst1.5 libapt-pkg4.12

These should be checked and warn/error/install the correct packages when running enable-esm

[Test Case]

* Deploy trusty container with a "apt" package version lower than version: "1.0.1ubuntu2.23"
 ** lxc launch ubuntu:d57cf522816f <CONTAINER_NAME>
    For instance image iD "d57cf522816f" contains apt : 1.0.1ubuntu2.17
* lxc exec <CONTAINER_NAME> bash
* Install ubuntu-advantage-tools
* ubuntu-advantage enable-esm <token>
* sudo apt-get update
* sudo apt-get upgrade

Err https://esm.ubuntu.com/ubuntu/ trusty-security/main bash amd64 4.3-7ubuntu1.8+esm1
HttpError401
Err https://esm.ubuntu.com/ubuntu/ trusty-security/main bzip2 amd64 1.0.6-5ubuntu0.1~esm2
.......
E: Failed to fetch https://esm.ubuntu.com/ubuntu/pool/main/a/apport/apport_2.14.1-0ubuntu3.29+esm1_all.deb HttpError401
E: Failed to fetch https://esm.ubuntu.com/ubuntu/pool/main/g/glib2.0/libglib2.0-data_2.40.2-0ubuntu1.1+esm3_all.deb HttpError401
E: Failed to fetch https://esm.ubuntu.com/ubuntu/pool/main/p/python-urllib3/python-urllib3_1.7.1-1ubuntu4.1+esm1_all.deb HttpError401
E: Failed to fetch https://esm.ubuntu.com/ubuntu/pool/main/s/screen/screen_4.1.0~20120320gitdb59704-9ubuntu0.1~esm1_amd64.deb HttpError401
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Expected behaviour:
Get:3 https://esm.ubuntu.com/ubuntu/ trusty-security/main bash amd64 4.3-7ubuntu1.8+esm1 [575 kB]
Get:6 https://esm.ubuntu.com/ubuntu/ trusty-security/main bzip2 amd64 1.0.6-5ubuntu0.1~esm2 [34.6 kB]
......

If user installs u-a-tools and do not upgrade apt, then complains are that it does not work all the time as expected (see above ^)

Would be better to add some Depends: (as describe by juliank) to avoid users updating the tool but keeping an older version of apt that may introduce esm upgrade problem/failure.

[Potential Regression]

* One situation that Andreas brought up that is worth mentioning here, is that apparently some customer may have intentionally disabled "trusty-updates". If it's the case, then one would need to enable "trusty-updates" back temporary in order to upgrade the "ubuntu-advantage-tools" package and it's Dependencies (apt derived binary packages)

* We simply instruct u-a-tools to update apt (and its derived binary pkg) to a more recent version to avoid problems.

* apt in Trusty is unlikely to change now. There may be other ESM uploads here and there in the future, but Trusty itself is frozen now.

[Other Info]

* Fix has been proposed and agreed by foundation team.

* rmadison:
 apt | 1.0.1ubuntu2 | trusty
 apt | 1.0.1ubuntu2.19 | trusty-security
 apt | 1.0.1ubuntu2.23 | trusty-updates

Revision history for this message
Chris Johnston (cjohnston) wrote :

I've seen this easily > a dozen times

Revision history for this message
Steve Langasek (vorlon) wrote :

I agree, this should be addressed with appropriate versioned dependencies from the package so that selective installation of packages from trusty-updates doesn't leave you with a broken package.

Changed in ubuntu-advantage-tools (Ubuntu):
importance: Undecided → High
status: New → Triaged
Revision history for this message
Julian Andres Klode (juliank) wrote :

Just add Depends for the version in updates pocket for

- apt
- apt-transport-https
- libapt-pkg4.12

that should be enough.

Having libapt-inst1.5 and apt-utils in there does not hurt; but it's also not strictly necessary.

Revision history for this message
Julian Andres Klode (juliank) wrote :

The version in trusty-updates being 1.0.1ubuntu2.23, so you want apt (>= 1.0.1ubuntu2.23), and so on

Eric Desrochers (slashd)
description: updated
Changed in ubuntu-advantage-tools (Ubuntu Trusty):
status: New → Confirmed
importance: Undecided → High
Changed in ubuntu-advantage-tools (Ubuntu):
status: Triaged → Won't Fix
description: updated
tags: added: sts
description: updated
Eric Desrochers (slashd)
description: updated
Changed in ubuntu-advantage-tools (Ubuntu Trusty):
assignee: nobody → Erlon R. Cruz (sombrafam)
status: Confirmed → In Progress
Eric Desrochers (slashd)
description: updated
description: updated
Eric Desrochers (slashd)
description: updated
Eric Desrochers (slashd)
description: updated
description: updated
Eric Desrochers (slashd)
description: updated
Revision history for this message
Eric Desrochers (slashd) wrote :

Thanks to Andreas for approving the MP and uploading it into trusty upload queue.

Revision history for this message
Robie Basak (racb) wrote :

FTR, Steve delegated this to the regular SRU team in #ubuntu-release earlier.

Revision history for this message
Eric Desrochers (slashd) wrote :

Might be a MUST to have it also in future release before their ESM period start. For that reason, I'm targeting the other LTS version.

Revision history for this message
Robie Basak (racb) wrote :

Disucssion in #ubuntu-release: we're waiving the usual requirement that this be fixed in future releases first as this is a special case. This comes with a big warning though: please steps to ensure that this doesn't accidentally regress when Xenial enters ESM.

Eric Desrochers (slashd)
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
status: Won't Fix → In Progress
Robie Basak (racb)
Changed in ubuntu-advantage-tools (Ubuntu Trusty):
status: In Progress → Fix Committed
Eric Desrochers (slashd)
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
assignee: nobody → Erlon R. Cruz (sombrafam)
Changed in ubuntu-advantage-tools (Ubuntu Bionic):
assignee: nobody → Erlon R. Cruz (sombrafam)
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Chris, or anyone else affected,

Accepted ubuntu-advantage-tools into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-advantage-tools/10ubuntu0.14.04.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-trusty to verification-done-trusty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-trusty. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed verification-needed-trusty
Eric Desrochers (slashd)
Changed in ubuntu-advantage-tools (Ubuntu Xenial):
assignee: nobody → Erlon R. Cruz (sombrafam)
Changed in ubuntu-advantage-tools (Ubuntu Bionic):
status: New → In Progress
Changed in ubuntu-advantage-tools (Ubuntu Xenial):
status: New → In Progress
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
importance: High → Low
Changed in ubuntu-advantage-tools (Ubuntu Bionic):
importance: Undecided → Medium
Changed in ubuntu-advantage-tools (Ubuntu Xenial):
importance: Undecided → Medium
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
importance: Low → Medium
Revision history for this message
Eric Desrochers (slashd) wrote :

Base on the discussion with vorlon, I'll mark X/B/E as 'Won't Fix' for now.

[12:27:52] <vorlon> rbasak: there's a complete rewrite of the client that is going to be landed in trusty-updates, definitely before xenial goes ESM. It's been delayed for polish but is definitely happening
[12:28:07] <vorlon> because the ESM service implementation is changing and the old client will not work with ESM for xenial
[12:28:19] <vorlon> so I'm confident in this case :)

[12:31:15] <slashd>rbasak, vorlon, so it's safe to say that we can postpone the fix until the new client is released ? and re-evaluate by then ?
[12:31:24] <slashd>for x and late
[12:31:36] <vorlon> yes

Changed in ubuntu-advantage-tools (Ubuntu Bionic):
status: In Progress → Won't Fix
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
status: In Progress → Won't Fix
Changed in ubuntu-advantage-tools (Ubuntu Xenial):
status: In Progress → Won't Fix
Changed in ubuntu-advantage-tools (Ubuntu Eoan):
assignee: Erlon R. Cruz (sombrafam) → nobody
Changed in ubuntu-advantage-tools (Ubuntu Bionic):
assignee: Erlon R. Cruz (sombrafam) → nobody
Changed in ubuntu-advantage-tools (Ubuntu Xenial):
assignee: Erlon R. Cruz (sombrafam) → nobody
Revision history for this message
Eric Desrochers (slashd) wrote :

[VERIFICATION TRUSTY]

# Launch an older lxc trusty image:
ii apt 1.0.1ubuntu2.17
ii apt-transport-https 1.0.1ubuntu2.17
ii apt-utils 1.0.1ubuntu2.17
ii libapt-inst1.5:amd64 1.0.1ubuntu2.17
ii libapt-pkg4.12:amd64 1.0.1ubuntu2.17

# Enable trusty-proposed
# Installed u-a-tools from trusty-proposed [10ubuntu0.14.04.4]
.....
The following extra packages will be installed:
  apt apt-transport-https apt-utils libapt-inst1.5 libapt-pkg4.12
Suggested packages:
  dpkg-dev apt-doc
The following NEW packages will be installed:
  ubuntu-advantage-tools
The following packages will be upgraded:
  apt apt-transport-https apt-utils libapt-inst1.5 libapt-pkg4.12
5 upgraded, 1 newly installed, 0 to remove and 162 not upgraded.
Need to get 1880 kB of archives.
After this operation, 196 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libapt-pkg4.12 amd64 1.0.1ubuntu2.23 [647 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apt amd64 1.0.1ubuntu2.23 [962 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libapt-inst1.5 amd64 1.0.1ubuntu2.23 [58.7 kB]
Get:4 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apt-utils amd64 1.0.1ubuntu2.23 [172 kB]
Get:5 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apt-transport-https amd64 1.0.1ubuntu2.23 [25.7 kB]
Get:6 http://archive.ubuntu.com/ubuntu/ trusty-proposed/main ubuntu-advantage-tools all 10ubuntu0.14.04.4 [14.8 kB]
....

# Enable ESM with "ubuntu-advantage-tools enable-esm" cmd
$ apt get update
$ apt get upgrade

No errors observed like previous u-a-tools version.

Revision history for this message
Chris Johnston (cjohnston) wrote :

I've also tested and this works as it should.

tags: added: verification-done-trusty
removed: verification-needed-trusty
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, as per earlier discussion on IRC, since realistically there are no real users of trusty-proposed and baking the package there for 7 days makes no sense, I will be releasing this early.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-advantage-tools - 10ubuntu0.14.04.4

---------------
ubuntu-advantage-tools (10ubuntu0.14.04.4) trusty; urgency=medium

  * d/control: Fix missing dependency to apt package (LP: #1840091)

 -- <email address hidden> (Erlon R. Cruz) Fri, 23 Aug 2019 10:12:57 -0300

Changed in ubuntu-advantage-tools (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for ubuntu-advantage-tools has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.