Don't provide transitional package for python3-google-compute-engine, add Breaks: in google-guest-agent instead

Bug #1905986 reported by Balint Reczey
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gce-compute-image-packages (Ubuntu)
Fix Released
Undecided
Unassigned
Groovy
Fix Released
Undecided
Unassigned
google-guest-agent (Ubuntu)
Fix Released
Undecided
Unassigned
Groovy
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

 * gce-compute-image-packages has been split to multiple source packages and google-guest-agent (written in Go) replaced the services originally written in Python. The upgrade to gce-compute-image-packages compatible with google-guest-agent replaced the Python modules (python3-google-compute-engine) with an empty transitional package. The removal of the modules could break local software relying on those modules.
 * The fix is not providing the empty python3-google-compute-engine transitional package, but adding Breaks: to google-guest-agent to force the removal of it. Since removals are not performed automatically by apt-get upgrade (not unattended-upgrades) the administrator needs to approve removal.

[Test Case]

 * Set up a system with the unfixed version of the packages, including python3-google-compute-engine installed.
 * Upgrade to the new set of packages:
   apt-get upgrade
 * Observe that the google-guest-agent is kept back
 * Upgrade google-guest-agent manually:
   apt install google-guest-agent
 * This should succeed, removing python3-google-compute-engine

[Where problems could occur]

 * The packages may become uninstallable upon upgrade or dist-upgrade. Testing was performed to avoid such regressions.

 * Since the aim of this fix is preventing accidental upgrades should a security update of the affected packages be released the fix will prevent automatic application of this updated. In such case the the transitional package can be reintroduced and the Breaks: can be converted to a versioned Breaks: on the non-transitional package versions.

Balint Reczey (rbalint)
description: updated
Balint Reczey (rbalint)
description: updated
Revision history for this message
Liam Hopkins (liamh-google) wrote :

I've never heard of the 'empty python3-google-compute-engine transitional package'; for upstream packaging, we use "Conflicts: python3-google-compute-engine" and this will cause the top level package (called google-compute-engine upstream, I think called gce-compute-image-packages in Ubuntu) to be skipped in upgrades, and an administrator would have to issue dist-upgrade to enable the automatic removal of the conflicting package.

Balint Reczey (rbalint)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package google-guest-agent - 20200617.00-0ubuntu8

---------------
google-guest-agent (20200617.00-0ubuntu8) hirsute; urgency=medium

  * debian/rules: Build the package as preferred by upstream
    - Strip the binary
    - Set main.version (LP: #1900897)
  * Declare Breaks: on python3-google-compute-engine
    to force conscious removal of the Python libraries that are not maintained
    and this package make obsolete. (LP: #1905986)

 -- Balint Reczey <email address hidden> Wed, 13 Jan 2021 13:24:40 +0100

Changed in google-guest-agent (Ubuntu):
status: New → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

For groovy, I suspect this change won't really have any effect, right? Since python3-google-compute-engine has already been turned into a transitional package, so any users that regularly updated already got the modules removed and overridden by the empty package. But let's pull it in for consistency.
For focal this still seems to make sense, so I'll get to that one soon.

Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Balint, or anyone else affected,

Accepted gce-compute-image-packages into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gce-compute-image-packages/20201222.00-0ubuntu2~20.10.0 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gce-compute-image-packages (Ubuntu Groovy):
status: New → Fix Committed
tags: added: verification-needed verification-needed-groovy
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Balint, or anyone else affected,

Accepted google-guest-agent into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/google-guest-agent/20201217.02-0ubuntu1~20.10.0 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in google-guest-agent (Ubuntu Groovy):
status: New → Fix Committed
Revision history for this message
Joshua Powers (powersj) wrote :

@balint

Here are my logs following the test case:
https://pastebin.ubuntu.com/p/wrjK5nx8cW/

google-compute-engine gets held back, but not gce-compute-image-packages as the test case says.

Balint Reczey (rbalint)
description: updated
Revision history for this message
Balint Reczey (rbalint) wrote :

@powersj Thanks! I made a mistake writing the test case. Groovy's gce-compute-image-packages already does not provide the Python 3 package, thus it won't be held back, just google-guest-agent.

tags: added: verification-done verification-done-groovy
removed: verification-needed verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for gce-compute-image-packages has completed successfully and the package is now being 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.

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

This bug was fixed in the package google-guest-agent - 20201217.02-0ubuntu1~20.10.0

---------------
google-guest-agent (20201217.02-0ubuntu1~20.10.0) groovy; urgency=medium

  * Backport to Groovy

google-guest-agent (20201217.02-0ubuntu1) hirsute; urgency=medium

  * New upstream release (LP: #1911448)
  * debian/watch: Fix version handing in the download URL
  * Update vendored files

google-guest-agent (20200617.00-0ubuntu8) hirsute; urgency=medium

  * debian/rules: Build the package as preferred by upstream
    - Strip the binary
    - Set main.version (LP: #1900897)
  * Declare Breaks: on python3-google-compute-engine
    to force conscious removal of the Python libraries that are not maintained
    and this package make obsolete. (LP: #1905986)

google-guest-agent (20200617.00-0ubuntu7) hirsute; urgency=medium

  * No-change rebuild using new golang

 -- Balint Reczey <email address hidden> Wed, 13 Jan 2021 20:43:31 +0100

Changed in google-guest-agent (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gce-compute-image-packages - 20201222.00-0ubuntu2~20.10.0

---------------
gce-compute-image-packages (20201222.00-0ubuntu2~20.10.0) groovy; urgency=medium

  * Backport to Groovy.

gce-compute-image-packages (20201222.00-0ubuntu2) hirsute; urgency=medium

  * Update udev rule fix from upstream

gce-compute-image-packages (20201222.00-0ubuntu1) hirsute; urgency=medium

  * debian/changelog: Fix LP bug references
  * debian/copyright: Don't exclude upstream debian/ dir
  * debian/gbp.conf: Add minimal gbp configuration
  * New upstream version 20201222.00 (LP: #1911454)
    - Improved nvme drive handling
    - Fix tx affinity logic when number of CPUs is above 32
  * Ship new google_nvme_id script for udev
  * Depend on nvme-cli
  * Fix invalid substitution error in 65-gce-disk-naming.rules

gce-compute-image-packages (20200626.00-0ubuntu2) hirsute; urgency=medium

  * debian/NEWS: Explain recent packaging changes
  * Don't provide transitional python3-google-compute-engine package.
    Installing google-guest-agent forces the removal of
    python3-google-compute-engine to avoid accidental upgrades in stable
    releases. (LP: #1905986)

 -- Balint Reczey <email address hidden> Wed, 13 Jan 2021 23:12:30 +0100

Changed in gce-compute-image-packages (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gce-compute-image-packages - 20201222.00-0ubuntu2~20.04.0

---------------
gce-compute-image-packages (20201222.00-0ubuntu2~20.04.0) focal; urgency=medium

  * Backport to Focal.

gce-compute-image-packages (20201222.00-0ubuntu2) hirsute; urgency=medium

  * Update udev rule fix from upstream

gce-compute-image-packages (20201222.00-0ubuntu1) hirsute; urgency=medium

  * debian/changelog: Fix LP bug references
  * debian/copyright: Don't exclude upstream debian/ dir
  * debian/gbp.conf: Add minimal gbp configuration
  * New upstream version 20201222.00 (LP: #1911454)
    - Improved nvme drive handling
    - Fix tx affinity logic when number of CPUs is above 32
  * Ship new google_nvme_id script for udev
  * Depend on nvme-cli
  * Fix invalid substitution error in 65-gce-disk-naming.rules

gce-compute-image-packages (20200626.00-0ubuntu2) hirsute; urgency=medium

  * debian/NEWS: Explain recent packaging changes
  * Don't provide transitional python3-google-compute-engine package.
    Installing google-guest-agent forces the removal of
    python3-google-compute-engine to avoid accidental upgrades in stable
    releases. (LP: #1905986)

gce-compute-image-packages (20200626.00-0ubuntu1) groovy; urgency=medium

  * New upstream version 20191115 (LP: #1853846)
    - Move the OS Login components to a separate project
  * Drop google-compute-engine-oslogin packaging
  * Drop obsolete patches
  * debian/watch: Update upstream repository location
  * New upstream version 20200626.00
  * Drop obsolete patches
  * Adjust packaging to conform to upstream changes

gce-compute-image-packages (20190801-0ubuntu5) groovy; urgency=medium

  * Disable automatic adding of groups to all users (LP: #1878654)
    - d/p/0006-Remove-OS-Login-users-from-admin-groups.-29.patch: remove
      adm, docker, and lxd groups
    - d/p/0007-Remove-local-user-groups-for-OS-Login-users.-30.patch:
      remove dip and plugdev groups

 -- Balint Reczey <email address hidden> Wed, 13 Jan 2021 23:12:30 +0100

Changed in gce-compute-image-packages (Ubuntu):
status: New → Fix Released
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.