Post upgrade to 2.3.5/3.18.5 Org Admins cannot edit repo attributes

Problem:
Prior to upgrade, org admins could create and edit repos. Now, an org admin can create a repo successfully, but if they attempt to change any attribute (Upstream URL, Verify SSL, etc.) the error “undefined method ‘id’ for nil:nilClass” pops up. Full Admin users can make the change.

Expected outcome:
Org admins should be able to edit repo attributes.

Foreman and Proxy versions:
Foreman 2.3.5, Foreman-proxy-2.3.5

Foreman and Proxy plugin versions:

Distribution and version:
Centos 7.9.2009

Other relevant data:
See attached log. Ends with 500 Internal Server error. QA system upgraded as well, but not experiencing this issue.foreman-production.log (163.8 KB)

Also confirmed that this isn’t tied to one particular org, it occurs in any org.

Hi @jmbartlett

A colleague mentioned that we likely addressed it in Katello 4.2: Bug #33286: '"NoMethodError: undefined method `id\' for nil:NilClass" error while creating a repository.' - Katello - Foreman

The reason for the issue could be that you have a Location set (see the top of the page when you’re performing the update). A workaround would be to add that particular Location to your Smart Proxy.

1 Like

Thanks for the reply. Unfortunately, the location defined was already on the Smart Proxy. However, I experimented and seem to have found a solution. I have been using the built-in ‘org admin’ role as-is for several years with no issue. But when I looked at it today, I noticed there is a little cursor pop-up note that says if you want to use the ‘org admin’ role to delegate management of a specific org to a user, you should clone the role and assign it to the org/location.

I tried that, and magic…the cloned ‘org admin’ role has no issues. Updates work without error. I just don’t understand how I got away with the original role for so long with no issues if that was a known requirement. I’ll just update my org admins to the new cloned role.