Bug #32742
closedJob rerun using hammer fails when operating system properties are not consistent. Works fine on webUI
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1944322
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.
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.1.1/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.1.1/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: