Description of problem: Some entities has optional array parameters that allow nil value. Previously it was possible to send empty list '[]' as value to clear all values, but now according to dLobatog it is not possible because of a new security mechanism in Rails. Though it affects all the optional parameters, some example entities/parameters are: smart_proxies.locations, location.smart_proxies, organization.smart_proxies, organization.hostgroup_ids. # Update with empty list > Making HTTP PUT request to https://sat6.com/katello/api/v2/organizations/39 with options {'verify': False, 'auth': ('admin', 'changeme'), 'headers': {'content-type': 'application/json'}} and data {"organization": {"smart_proxy_ids": []}}. # Response > Received HTTP 200 response: { "name":"XWsKJtxSBN", "id":39, "smart_proxies":[ { "name":"sat6.com", "id":1, "url":"https://sat6.com:9090" }, { "name":"Oa5c2S", "id":11, "url":"https://sat6.com:11629" } } Version-Release number of selected component (if applicable): Satellite 6.3.0 Snap 6.0, Foreman 1.13.1-1 How reproducible: Always Steps to Reproduce: 1. Create entity that has optional array parameters 2. Update that parameter with some value 3. Update that parameter one more time with empty list 4. Check that values from point 2 not changed Actual results: When updating with empty list nothing happens, optional parameter has all previous values Expected results: All values should be cleared Additional info:
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17343 has been resolved.
Found a workaround: send [""] instead of []
*** Bug 1379944 has been marked as a duplicate of this bug. ***
*** Bug 1408940 has been marked as a duplicate of this bug. ***
Verified smart_proxy_ids and domain_ids, getting unassigned. Satellite 6.3 SNAP 9 * satellite-6.3.0-16.0.beta.el7sat.noarch * foreman-1.15.2-1.el7sat.noarch * katello-3.4.2-1.el7sat.noarch
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-2018:0336