Bug 1656875 - syspurpose attributes should have higher impact than sockets during auto-attach
Summary: syspurpose attributes should have higher impact than sockets during auto-attach
Alias: None
Product: Candlepin
Classification: Community
Component: candlepin
Version: 2.5
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: 2.5
Assignee: candlepin-bugs
QA Contact: Katello QA List
Depends On:
TreeView+ depends on / blocked
Reported: 2018-12-06 15:14 UTC by Kevin Howell
Modified: 2019-02-07 16:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1655703
Last Closed: 2019-02-07 16:35:44 UTC

Attachments (Terms of Use)

Description Kevin Howell 2018-12-06 15:14:27 UTC
+++ This bug was initially created as a clone of Bug #1655703 +++

Description of problem:
There are cases during auto-attach, during pool prioritization, that the sockets (or cores, or RAM) attribute can have a higher impact than the support_level attribute (or usage, or other syspurpose attributes too). The syspurpose attributes (usage, support_level, roles, addons), should always have a higher impact than the sockets, cores and ram attributes on pool prioritization during auto-attach.

Version-Release number of selected component (if applicable):
All current versions of candlepin that support the syspurpose feature (2.3.11, 2.5.8, master).

How reproducible:

Steps to Reproduce:
1. Have a system with an installed product 'my_product', the support_level_agreement syspurpose attribute is set to 'mysla', and its cpu.cpu_socket fact has value 1.
2. The server has subscriptions 'pool1' and 'pool2' that both can cover 'my_product'.
3. pool1 provides the support_level 'mysla', and covers 2 sockets.
4. pool2 has no support_level and no socket attributes specified.
5. Run an auto-attach.

Actual results:
The pool 'pool2' was attached, due to the fact that pool1's socket mismatch (2 vs 1) swayed its priority downwards more than how much its support_level match did upwards.

Expected results:
The pool 'pool1' should be attached, because it covers the system's product AND support_level, while any socket match/mismatch should have no effect here.

Additional info:

Note You need to log in before you can comment on or make changes to this bug.