Bug 2256136

Summary: When applying errata on host using "apply via custom remote execution" => "katello via ansible" method shows errata field blank
Product: Red Hat Satellite Reporter: Prashant Waghmare <pwaghmar>
Component: Errata ManagementAssignee: Jeremy Lenz <jlenz>
Status: CLOSED ERRATA QA Contact: David Moore <damoore>
Severity: medium Docs Contact:
Priority: high    
Version: 6.15.0CC: ahumbe, aruzicka, damoore, iballou, jlenz, magaphon, rlavi, sabhasin, zhunting
Target Milestone: 6.15.0Keywords: Triaged, UserExperience
Target Release: Unused   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rubygem-katello-4.11.0.4-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-23 17:16:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
errata_field_blank.png none

Description Prashant Waghmare 2023-12-28 20:56:09 UTC
Created attachment 2006403 [details]
errata_field_blank.png

Description of problem:

When applying errata on host using "apply via custom remote execution" => "katello via ansible" method shows  errata field blank

Version-Release number of selected component (if applicable):

satellite 6.15

How reproducible:

Always

Steps to Reproduce:

1. Login to satellite web-ui => click on "hosts" => content hosts => click on hosts on which need to apply errata => select errata need to apply =>  from drop down arrow of "Apply" select "Apply via customized remote execution" => select job category as "Katello via ansible" => click "Next" => Here "errata" field shows blank.


Actual results:

"errata" field shows blank.

Expected results:

"errata" field should show selected errata for application.

Additional info:

attaching the screenshot.

Comment 5 Adam Ruzicka 2024-01-03 13:21:05 UTC
Ok, so there are two things at play here.

A) "Apply via customized remote execution" uses "Install errata by search query - Katello Script Default" job template by default. This job template has "Errata search query" input. In #0 you selected "Install Errata - Katello Ansible Default" job template, but this job template has "errata" input instead of "Errata search query" input. Because of the different input names, the value becomes blank. Also note that one is in search query format while the other a comma separated list of erratas so even if we resolved the naming conflict, the values themselves wouldn't be compatible.

B) When job template is changed, the values of all inputs which were previously set but don't exist in the new template are removed. When you change category, it automatically selects first template in that category, which might cause the input values to be dropped even if you then subsequently change the template to a one with compatible inputs.

Solution for A would involve having a new job template in katello - an ansible flavor of "Install Errata - Katello Ansible Default".
Solution for B would probably mean pruning the invalid inputs before submit instead of on template change.

I'd suggest splitting the two cases into two BZs (let A have this BZ and file a new one for B).

@jlenz Does the above sound reasonable and if so, would you mind taking one of the parts?

Comment 6 Jeremy Lenz 2024-01-03 14:45:01 UTC
Yeah, we didn't really cover the 'Katello Ansible Default' templates when designing the new host UI. Currently it only supports Script.

Would having a new template with the same inputs be enough? I'm happy to look into contributing that. We'd also have to do the same with our other "by search query" job templates.

I can also imagine a setting so you could default to either script or ansible templates when customizing REX via UI, but not sure if that's needed or makes it too complex.

Comment 7 Ian Ballou 2024-01-10 23:00:41 UTC
Potential duplicate or at least related RFE: https://bugzilla.redhat.com/show_bug.cgi?id=2256170

Comment 9 Adam Ruzicka 2024-01-11 09:16:35 UTC
> Would having a new template with the same inputs be enough?

Probably not to resolve the exact case that is described in #0. Maybe it would work, depending on the name on the template (ie. if it would get selected by default when changing category), but we can't really rely on that.

> I can also imagine a setting so you could default to either script or ansible templates when customizing REX via UI

Remote Execution Features can be used to map a different job template to an action like "Apply errata", If we had apply errata by search query with ansible, then the case in #0 may or may not work, but this mechanism could be used to switch which template is used without having to mess with it in the job form.

Comment 10 Jeremy Lenz 2024-01-12 20:25:34 UTC
Created redmine issue https://projects.theforeman.org/issues/37051 from this bug

Comment 11 Bryan Kearney 2024-01-13 00:03:17 UTC
Upstream bug assigned to jlenz

Comment 12 Bryan Kearney 2024-01-13 00:03:20 UTC
Upstream bug assigned to jlenz

Comment 16 Dana Singleterry 2024-02-14 13:39:45 UTC
*** Bug 2256170 has been marked as a duplicate of this bug. ***

Comment 19 errata-xmlrpc 2024-04-23 17:16:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: Satellite 6.15.0 release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2024:2010