Project

General

Profile

Actions

action #62834

closed

coordination #60071: [functional][y][epic] SLE 15 SP2 feature testing

[functional][y][SLE-8770][SLE-8907] Enable Software Management Stack to Retract Maintenance Updates (SLES)

Added by riafarov about 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Spike/Research
Target version:
SUSE QA - Milestone 31
Start date:
2020-01-27
Due date:
2020-03-10
% Done:

0%

Estimated time:
Difficulty:

Description

Description

So we have covered following scenarios on TW:

  1. Check that retracted packages are marked as such
  2. Update doesn't install retracted packages unless explicitly forced to do so
  3. Message is translated (this is missing as of now in TW)
  4. Update/installation of package which has other retracted package as dependency (hello-lang has hello as dependency in the repo we can use for testing)

This was covered only in the installed system as for openSUSE custom repos can be added to the installer only by modifying control.xml

This functionality in SLES is also available in the installer, so we should add repo as an addon and then do the search.

So in SLES we need to cover mentioned scenarios in the installed system. For that, we should use provided repo (http://download.opensuse.org/repositories/openSUSE:/Maintenance:/11749/openSUSE_Leap_15.1_Update/)
Which I've also published as http://w3.nue.suse.com/~riafarov/retracted/ in case that repo gets removed. There is package "hello" which has retracted status.

Following bugs were discovered in TW (2 won't be fixed and one is fixed):

Acceptance criteria

  1. Scope of changes is learned
  2. Exploratory testing is conducted for the parts which are not covered by the automated tests
  3. Follow-up tickets for automated tests are created with detailed description in case are considered to be useful (efforts vs profit)
  4. jira ticket is updated accordingly

Content from the #62705
See https://jira.suse.com/browse/SLE-8907 and https://jira.suse.com/browse/SLE-8770

https://trello.com/c/lRisXHUt/1556-8-package-selector-improvements-for-sle-8770-new-status-retracted

For testing purposes, adding a repo with a package that Provides: retracted-patch-package() should simulate a retracted package.

Test repo kindly provided by Marcus Meissner:

http://download.opensuse.org/repositories/openSUSE:/Maintenance:/11749/openSUSE_Leap_15.1_Update/

Content from trello:
Note: It seems that it is not possible to create a new task for an evaluated Epic. This should not block the development, though.

https://jira.suse.com/browse/SLE-8770

Update: The team task meanwhile created

https://jira.suse.com/browse/SLE-11211

Explanation in short

From time to time we happen to release a broken package. If we retract it from the repo, it appears as an orphaned version, but without any information that it is a retracted update. Therefore, instead we will mark it as retracted in the metadata. libzypp will take care of most of tasks (e.g. not to install it unless explicitly forced by specifying version), but - similarly to zypper - YaST should visualize this information.

Task

Enable the Package selector (both Qt and NCurses) to inform user about the retracted package.

There are following ways to inform user (in the order of importance):

  • Versions view in the package selector. For this, put the retracted packages to the end of the list and clearly mark the respective version as (retracted); this way user - when choosing the version - knows about the retracted status

  • Add another Retracted Packages view similar to Orphaned packages; this way user will get an overview of all retracted package versions, which are installed on their system, and can act accordingly; The behavior should be consistent with Orphaned Packages & Friends

  • Inform user about retracted packages being installed when starting the package selector (or the sw_single module); in this case, when some are installed, open in that new view by default

  • (optional) use a different status icon or font color when retracted version of a package is installed; red is preferred

Implementation Hints

Since libzypp-17.18.0 pool items offer bool isRetracted() const. This should be true for retracted packages and for the package versions they mention. In the next version the zypp::ui::Selectable (mostly used in yast) will be adapted. Retracted packages will be sorted to the end of the available packages list (indication they are not desired to be selected). Helper methods like updateCandidateObj will avoid to return a retracted item.

For implementing additional methods in libzypp, please, contact Michael Andres directly.

Testing

For testing purposes, adding a repo with a package that Provides: retracted-patch-package() should simulate a retracted package.

Test repo kindly provided by Marcus Meissner:

http://download.opensuse.org/repositories/openSUSE:/Maintenance:/11749/openSUSE_Leap_15.1_Update/

Review

Suggestions

  1. Check that retracted packages are marked as such
  2. Update doesn't install retracted packages unless explicitly forced to do so
  3. Message is translated (this is missing as of now in TW)
  4. Update/installation of package which has other retracted package as dependency (hello-lang has hello as dependency in the repo we can use for testing)
  5. Same as 1-4 but in the installer
Actions #1

Updated by riafarov about 4 years ago

  • Copied from action #62705: [functional][y][SLE-8770][SLE-8907][timeboxed:16h] Enable Software Management Stack to Retract Maintenance Updates added
Actions #2

Updated by riafarov about 4 years ago

  • Copied from deleted (action #62705: [functional][y][SLE-8770][SLE-8907][timeboxed:16h] Enable Software Management Stack to Retract Maintenance Updates)
Actions #3

Updated by riafarov about 4 years ago

  • Parent task set to #60071
Actions #4

Updated by riafarov about 4 years ago

  • Status changed from New to Blocked

Still not in build 134.1

Actions #5

Updated by riafarov about 4 years ago

  • Description updated (diff)
Actions #6

Updated by riafarov about 4 years ago

  • Due date changed from 2020-02-25 to 2020-03-10
  • Status changed from Blocked to New
Actions #7

Updated by riafarov about 4 years ago

Required versions are in the build 139.4

Actions #8

Updated by riafarov about 4 years ago

  • Description updated (diff)
Actions #9

Updated by riafarov about 4 years ago

  • Description updated (diff)
Actions #10

Updated by oorlov about 4 years ago

  • Status changed from New to In Progress
  • Assignee set to oorlov
Actions #11

Updated by oorlov about 4 years ago

  • Status changed from In Progress to Resolved

The feature tested on SLE15 SP2 (Build 146.1).

Translations are also missed on SLE.

Actions

Also available in: Atom PDF