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
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)
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 )
1. The discovered host stucks when attribute stuck is missing
2. Throws error - 'Validation failed: Discovery attribute set can't be blank'
Discovered Host is successfully discovered.
Upstream version bump pending:
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.