Bug 1731112

Summary: Discovered hosts stuck when attribute set is missing
Product: Red Hat Satellite Reporter: Jitendra Yejare <jyejare>
Component: Discovery PluginAssignee: Lukas Zapletal <lzap>
Status: CLOSED ERRATA QA Contact: Jitendra Yejare <jyejare>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.6.0CC: egolov, lzap, rabajaj
Target Milestone: 6.6.0Keywords: Regression, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-foreman_discovery-15.0.1-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-22 12:47:55 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:
Bug Depends On:    
Bug Blocks: 1730397    

Description Jitendra Yejare 2019-07-18 10:35:10 UTC
Description of problem:
         When the discovery process is canceled for any reason, the discovery_attribute_set related table is not properly saved because database transactions are not used. Unfortunately, rails validator does not allow to save the record anymore, therefore, all subsequent discovery updates fail with 422 "Validation failed: Discovery attribute set can't be blank".
        The initial discovery upload fails with 422 :ActiveRecord::RecordNotSaved: Failed to save the new associated discovery_attribute_set

Version-Release number of selected component (if applicable):
Satellite 6.6 snap 11

How reproducible:
Always

Steps to Reproduce:
1. Attempt to PXE boot the host to be discovered by satellite. Follow steps for provisioning from https://github.com/SatelliteQE/robottelo/blob/master/tests/foreman/cli/test_discoveredhost.py#L407 (Test : test_positive_provision_pxe_host_with_bios_syslinux)

Or,

1. We can POST the facts to satellite overs facts url -  https://satellite.com/api/v2/discovered_hosts/facts (Follow steps from - https://github.com/SatelliteQE/robottelo/blob/master/tests/foreman/api/test_discoveredhost.py#L100 ( Test - test_positive_upload_facts )

Actual results:
1. The discovered host stucks when attribute stuck is missing
2. Throws error - 'Validation failed: Discovery attribute set can't be blank'

Expected results:
Discovered Host is successfully discovered.

Additional info:

Comment 5 Lukas Zapletal 2019-07-23 15:24:27 UTC
Upstream version bump pending:

https://github.com/theforeman/foreman-packaging/pull/3951

Comment 8 errata-xmlrpc 2019-10-22 12:47:55 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, 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-2019:3172