Ansible-Galaxy Namespace Duplicated Collection Namespace

I imported my first role in Ansible-Galaxy today under the account ol3d which is linked to my Github account. After importing, I noticed that the role shows “Provided by ol3d0” underneath the role name of ol3d.pikvm.

When searching in the role namespaces for “ol3d”, the only one namespace is displayed and appears to be correct.

However, when searching in the collection namespaces for “ol3d”, it shows multiple namespaces, one with an appended 0 at the end “ol3d0”.

Additionally, I have access to upload collections, add/remove users, etc. within the ol3d0 namespace, but not the ol3d namespace. The correct, and only namespace that should be displayed/used, is “ol3d”.

The collection namespace “ol3d” shows a user of deloa6133, which was my previous username on Github quite a while back. I do not have access to change/remove this username or collection in that namespace.

Could I please get some assistance or direction as how to fix this problem?

Any assistance would be greatly appreciated, as I do not have an active support subscription for RedHat. I have emailed customer support as well, but have not received any help on this issue yet.

Hi @ol3d
We have seen issues occasionally caused by renaming of GitHub accounts.
I’ve asked one of the engineers to look into this, and they will reply to this forum post once we’ve got an update.

2 Likes

Following-up to see if there have been any updates to this. The issue is still present within Ansible Galaxy and I have not received any notifications of updates/messages. Again, any help with this would be appreciated.

Hey sorry for the delay here @ol3d. I’ve given you access to the ol3d namespace.

You can follow these instructions to delete the other namespace ol3d0.

I can’t create the matching ol3d role namespace until you delete the ol3d0 namespace as it’s currently ‘hogging’ that name. I didn’t want to do delete the old ol3d0 for you because of the # of downloads on that existing role. I don’t know of a way to ‘move’ a role to a new role namespace, so I figured I’d pause at this point to see how you want to proceed.

2 Likes

@samccann Thank you for reaching out to help with this. I don’t mind losing the download count on the role/preventing downloads from Ansible Galaxy while this is being resolved; I would rather have the role within the correct collection namespace.

While following the instructions for the DELETE, I am running into an issue attempting to remove the ol3d role namespace. Using the curl command as show/attempting with Postman using a Bearer Token, both give the same output of

<html>
<head><title>405 Not Allowed</title></head>
<body>
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx</center>
</body>
</html>

I am using the following information

Namespace: https://galaxy.ansible.com/ui/standalone/namespaces/18537/
Token: Generated new API token from Collections > API token > Load token.
Command: curl -H 'Authorization: token <New Token Value>' -X DELETE https://galaxy.ansible.com/ui/standalone/namespaces/18537/

Any additional help with this would be appreciated as I don’t know what I’m doing wrong to cause a 405 response.

hmm okay you’re the first person I’ve asked to try this on their own, so maybe the docs are incorrect, or I’m incorrect in thinking the collection owner can do this. I’ll try it out myself tomorrow and see how it goes.

1 Like

So the first step is the role needs to be deleted. Can you try the delete role instructions and let me know how it goes?

Also, can you let me know if this role existed prior to Galaxy being updated to Galaxy NG? I’m trying to figure out if there is some difference here between the galaxy permissions. I think Galaxy changed over around Oct 2023.

I was able to delete the ol3d.pikvm role in the ol3d role namespace. After that I attempted to delete the ol3d role namespace but am still getting a 405 response.

The role was created after the Galaxy NG migration. It’s fairly new, only a few months old at this point; I would imagine it should be up-to-date permissions wise.

okay sharper minds are telling me this isn’t something the collection owner can do on their own, so sorry for the extra steps here. I’ll give it a try on the back end and let you know how it goes.

Okay the ol3d role namespace is now associated with the ol3d namespace.

Can you try deleting the ol3d0 namespace? Let me know if the Delete namespace button does not appear for you. It’s hard to tell from the docs what the collection owner can do vs what a site superuser must do:

It looks like I’m unable to delete the namespace from the WebUI. Do you mind deleting the ol3d0 namespace to fully clean things up?

Also, it looks like the role namespace ol3d is now associated with the correct collection namespace ol3d! Am I able to re-import my pikvm role now?

Can you post the full curl command you used (masking the token) and the response so I can open an internal issue for this? Seems you should have been able to do it so it’s likely a bug.

I’ll clean it up after I get that from you, but yes, you should be able to add your role to the 0l3d namespace now.

ok my last comment was nonsensical since I asked you to use the UI, not the API. I’ll dig up the API command for you to try deleting the namespace. The response may help us debug why it isn’t working for you.

1 Like

The full curl command I used previously is listed above:

curl -H 'Authorization: token <New Token Value>' -X DELETE https://galaxy.ansible.com/ui/standalone/namespaces/18537/

I only used that command while the ol3d role namespace was associated with the ol3d0 collection namespace, as you said it was required to remove the role namespace before the collection namespace could be deleted.

During this attempt to delete the ol3d0 collection namespace, I did not run the command again since there are not role namespaces associated with it. I only clicked the three dots on the right like in the screenshot you sent over. There was no option to delete the collection namespace there, and I don’t see any reference in the docs to delete it any other way. This seems like a bug to me.

No worries! I was a bit confused. I’ll gladly help out with debugging this if you get me the API command.

okay not sure if the API approach would work for you so I did the delete on my end. I think you’re all set now. Thanks for helping with the debugging.

1 Like

Thank you very much for all of your help resolving this!

1 Like