Two namespaces created after migration to Galaxy NG

Hi,

After Galaxy NG release there are two namespaces for our Org.

Original namespace: SlingNode
New namespace: slingnode

We are ok to keep either but we can’t publish to SlingNode. We can publish to “slingnode” but when we install the role using

ansible-galaxy role install slingnode.ethereum

it installs the role from SlingNode namespace that we don’t have access to.

ansible-galaxy role info slingnode.ethereum

Role: slingnode.ethereum
        description: Deploy Ethereum nodes.
        commit: 4c7b5c2d7a5c2a83a9fc0e30921a9bb8bb51febf
        commit_message: add: Updated docker images (#138)
        created: 2023-05-08T21:37:33.265436Z
        download_count: 513
        github_branch: master
        github_repo: slingnode-ansible-ethereum
        github_user: SlingNode
        id: 26391
        imported: 2023-09-18T10:34:56.350051-04:00
        modified: 2023-10-29T18:46:27.193590Z
        path: ('/home/kp/.ansible/roles', '/usr/share/ansible/roles', '/etc/ansible/roles')
        upstream_id: 61821
        username: SlingNode

our github org is SlingNode · GitHub

Can we please correct it ?

Thanks

I’ve bound standalone SlingNode to v3 slingnode which grants you admin over the SlingNode namespace.

On old-galaxy the namespace was “slingnode” …

[jtanner@p1 ~]$ curl -s 'https://old-galaxy.ansible.com/api/v1/roles/?owner__username=slingnode&name=ethereum' | jq '.results[] | {"created":.created,"namespace":.summary_fields.namespace.name,"name":.name}'
{
  "created": "2023-03-24T16:17:14.238891Z",
  "namespace": "slingnode",
  "name": "ethereum"
}

In new galaxy as you’ve pointed out we have 2 …

[jtanner@p1 ~]$ curl -s 'https://galaxy.ansible.com/api/v1/roles/?owner__username=slingnode&name=ethereum' | jq '.results[] | {"created":.created,"namespace":.summary_fields.namespace.name,"name":.name}'
{
  "created": "2023-05-08T21:37:33.265436Z",
  "namespace": "SlingNode",
  "name": "ethereum"
}
{
  "created": "2023-11-04T08:00:02.097492Z",
  "namespace": "slingnode",
  "name": "ethereum"
}

Installing slingnode.etherium comes from the first because that one was created first on new galaxy (via a previously incorrect sync logic). I’m not sure why imports are going to the new “slingnode” … are you perhaps doing ansible-galaxy role import slingnode slingnode-ansible-ethereum instead of ansible-galaxy role import SlingNode slingnode-ansible-ethereum ?

If we want roles to import and install from the second lowercase “slingnode” instead, it’d be best to delete the roles in “SlingNode” and then also delete the “SlingNode” namespace. However, it would be more technically correct to use “SlingNode” as the true namespace name since that is the true github username, which would mean deleting the roles in “slingnode” and then also deleting “slingnode”.

I’m not sure which path you’d like to go down, but in my opinion we should keep “SlingNode” and delete “slingnode” per the documentation I wrote in Changing Roles

Do you have a preference? In either case, you are able to delete the ones you don’t want via deleting roles

Hi,

thanks for the reply.

I agree we should keep “SlingNode”. Please delete the lowercase “slingnode”.

After our imports to SlingNode stopped working (when we lost the admin access), we changed the import jobs to go to “slingnode” which worked, but then we couldn’t install the roles.

In summary, let’s keep “SlingNode” that matches the Github username and delete “slingnode”.

I have deleted all roles from “slingnode” and I have successfully published new versions to SlingNode.

Thank you

The “slingnode” namespace has been deleted.