Bug 1656876 - syspurpose attributes should have higher impact than sockets during auto-attach
Summary: syspurpose attributes should have higher impact than sockets during auto-attach
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Candlepin
Classification: Community
Component: candlepin
Version: 2.5
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: 2.3
Assignee: Nikos Moumoulidis
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-06 15:15 UTC by Kevin Howell
Modified: 2019-02-18 15:26 UTC (History)
6 users (show)

Fixed In Version: candlepin-2.3.14-1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1655703
Environment:
Last Closed: 2019-02-18 15:26:27 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github candlepin candlepin pull 2224 0 None None None 2019-02-06 16:24:15 UTC

Description Kevin Howell 2018-12-06 15:15:04 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:
Always

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.