No active apt sources available after disassociating repository profile

Bug #1607529 reported by David Coronel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Landscape Client
Fix Committed
Medium
Bogdana Vereha
landscape-client (Ubuntu)
Fix Released
Undecided
Andreas Hasenack

Bug Description

There are no active apt sources available in the /etc/apt/sources.list after associating a repository profile tag and then disassociating it.

Steps to reproduce:

1) Create repository profile and associate tag to it

$ landscape-api create-repository-profile --description "test repository profile" test-profile
$ landscape-api associate-repository-profile --tags test-server test-profile
$ landscape-api add-pockets-to-repository-profile test-profile release trusty toolchain4

2) Associate a computer with that repository profile by associating that tag to it (in this example, the test-server tag) (this step will comment all the lines in /etc/apt/sources.list and create a file in /etc/apt/sources.list.d/ with the new repo)

3) Disassociate computer from repository profile (2 ways)
  a) We can delete the tag from the computer from the Landscape GUI to remove that tag from ONE computer
  b) We can use the "landscape-api disassociate-repository-profile --tags test-server test-profile" to disassociate the tag test-profile from the repository profile test-profile

Either way, the result will be that the filename of the file in /etc/apt/sources.list.d/ will be appended with .save but the lines in /etc/apt/sources.list will remain commented, causing the computer to no longer be associated with any apt sources and not being able to receive any future updates.

I believe the computer should revert back to how it was before the Landscape modification, or at least the user should be warned that this computer will not receive any future updates.

Related branches

David Britton (dpb)
tags: added: bug-squad kanban
Bogdana Vereha (bogdana)
Changed in landscape:
status: New → In Progress
assignee: nobody → Bogdana Vereha (bogdana)
importance: Undecided → Medium
Revision history for this message
Bogdana Vereha (bogdana) wrote :

This was fixed by saving the original sources.list file when a repository profile is associated with a computer and restoring it when the profile is removed. Please note that this will only work for computers with newly associated profiles.

Changed in landscape:
status: In Progress → Fix Committed
information type: Proprietary → Public
affects: landscape → landscape-client
Changed in landscape-client (Ubuntu):
assignee: nobody → Andreas Hasenack (ahasenack)
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.9 KiB)

This bug was fixed in the package landscape-client - 18.01-0ubuntu1

---------------
landscape-client (18.01-0ubuntu1) bionic; urgency=medium

  * New upstream release 18.01:
    - Ported to python3 (LP: #1577850)
    - move Replaces/Breaks landscape-client-ui rules to landscape-common
      (LP: #1560424)
    - Add a libpam-systemd Depends if built for xenial (LP: #1590838)
    - Some units not reporting swift usage (LP: #1588404)
    - Fix missing install directories for landscape-common and drop
      usr/share/landscape as its only used and created by landscape-client.
      (LP: #1680842)
    - Fix VM detection for Xen, by returning "xen" only for paravirtualized and
      HVM hosts, not for dom0. (LP: #1601818)
    - Add an indication of truncation to process output that has been truncated
      prior to delivery to the server. (LP: #1629000)
    - add /snap/bin to the PATH when executing scripts. (LP: #1635634)
    - Save the original sources.list file when a repository profile is
      associated with a computer and restore it when the profile is removed.
      (LP: #1607529)
    - Drop the legacy HAService plugin, which is no longer used.
    - Avoid double-decoding package descriptions in build_skeleton_apt, which
      causes an error with Xenial python-apt. (LP: #1655395)
    - Remove dead dbus code and textmessage (confirmed not supported in server
      for ~2 years). (LP: #1657372)
    - Move bzr-builddeb conf file from deprecated location to debian/
      (LP: #1658796)
    - Support for new server error message about there being too many pending
      computers already (LP: #1662530)
    - Add a timestamp to the package reporter result (LP: #1674252)
    - Check if ubuntu-release-upgrader is running before apt-update (LP: #1699179)
    - Implicitly trust file-local sources managed by landscape. On upgrades,
      add the trusted flag to the landscape file-local apt source file if it's
      not there. (LP: #1736576)
    - Use local system tools to change the user's password (LP: #1743558)
  * clean up packaging and getting in sync with the new landscape version:
    - d/rules: drop extra:suggests which is unused since 13.07.1-0ubuntu2
    - Remove antique postinst code. No supported landscape-client version
      installs cronjobs anymore (since a long time).
    - d/landscape-client.docs: the README file is now a markdown file, so
      install that instead.
    - d/landscape-common.postinst: no need to single out
      /var/lib/landscape/.gnupg when fixing ownerships, just do it over
      the entire parent directory.
    - guard user and group removal via an empty .cleanup.* file in post, so we
      only remove the user/group if we were the ones who created them at
      install time.
    - lintian: remove absolute path from update-motd calls in maintainer
      scripts
    - d/rules: drop special handling for dapper, hardy and lucid, which are no
      longer supported.
    - d/rules: make sure we have an "extra:Depends=" in substvars even if it's
      empty
    - d/rules: drop dh_pycentral handling, it's obsolete
  * Dropped (already included in this version):
    - d/p/set-vm-info-to-kvm-for-aws-C5-instances.patch:
  ...

Read more...

Changed in landscape-client (Ubuntu):
status: In Progress → 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.