Bug 1944322 - Job rerun using hammer fails when operating system properties are not consistent. Works fine on webUI
Summary: Job rerun using hammer fails when operating system properties are not consist...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Remote Execution
Version: 6.8.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: 6.10.0
Assignee: Adam Ruzicka
QA Contact: Peter Ondrejka
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-29 18:24 UTC by Joniel Pasqualetto
Modified: 2021-11-16 14:10 UTC (History)
6 users (show)

Fixed In Version: tfm-rubygem-foreman_remote_execution-4.5.1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-11-16 14:10:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 32742 0 High New Job rerun using hammer fails when operating system properties are not consistent. Works fine on webUI 2021-06-07 14:54:29 UTC
Red Hat Product Errata RHSA-2021:4702 0 None None None 2021-11-16 14:10:42 UTC

Description Joniel Pasqualetto 2021-03-29 18:24:07 UTC
Description of problem:

1. Job execution fails (for any reason)
2. User wants to rerun job on failed hosts using hammer. 
3. Rerun job cannot be posted due to error below:

~~~
# hammer job-invocation rerun --id 20057 --failed-only=true
Validation failed: Targeting: Hosts is invalid
~~~

If "rerun failed" is called using webUI it works fine.

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

Satellite 6.7 (customer) and Satellite 6.8 (internal reproducer)

How reproducible:

** Host on Satellite must have some inconsistent configurations (easy way to reproduce it is assigning a medium_id to the host that is not linked to its operating system) **

1. Try running a job and force it to fail (type wrong password, for example). Note the job id from the URL (https://192.168.250.100/job_invocations/20060 => job id is 20060)
2. Ensure host has a wrong medium_id assigned:

   - Create a random media on Satellite and get its id (let's say, medium_id = 12). Do not assign this media to the operating system of the host!
   - Assign the medium_id to the host manually:
~~~
echo "update hosts set medium_id = '12'  where id = '57';"|su - postgres -c "psql foreman"
~~~

3. Rerun the job using hammer and it will fail:

~~~
hammer job-invocation rerun --id 20060 --failed-only=true
~~~

On the webUI (https://192.168.250.100/job_invocations/20060) click option "Rerun failed" and job will start properly.

Actual results:

WebUI is able to rerun job. Hammer cannot rerun job due to extra verification.

Expected results:

WebUI and hammer should be able to rerun the job (or both should fail). I only expect consistency.

Additional info:

Comment 4 Adam Ruzicka 2021-06-07 14:54:28 UTC
Created redmine issue https://projects.theforeman.org/issues/32742 from this bug

Comment 7 Bryan Kearney 2021-06-08 12:03:15 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/32742 has been resolved.

Comment 8 Peter Ondrejka 2021-08-06 11:36:11 UTC
Verified on satellite 6.10 sn 12


# hammer job-invocation rerun --id 1 --failed-only=true
Job invocation was rerun as 3

Comment 11 errata-xmlrpc 2021-11-16 14:10:29 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 (Moderate: Satellite 6.10 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-2021:4702


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