We had some things (namespaces, roles, collections) corrected - probably manually - on the legacy Galaxy instance, in the past (see GitHub ansible/galaxy#2535). It looks like the data was attempted to migrate, but the - presumably manual - corrections seem to have caused duplicate namespaces and roles.
See, for example, the role
painless.software I maintain:
- Role: “painless.software” →
- GitHub repository: “painless-software/ansible-role-software” →
Note that the content on the role page of the new Galaxy instance points to a non-existing repository on GitHub, because it assumes the 1:1 mapping of Ansible namespace and GitHub user or org name.
Note that I do not own the “painless” user or org name on GitHub.
The resources now found on Galaxy are:
- Searching in Roles > Role Namespaces for “painless” yields 2 results:
- “painless-software” (incorrect namespace, correct icon)
- “painless” (correct namespace, incorrect icon → looks like GitHub user “painless”)
- Searching in Collections > Namespaces for “painless” yields only 1 result:
- “painless” (correct namespace, correct icon)
- (Note: Nothing is found searching for “painless-software”)
- Role “painless-software.software” →
https://galaxy.ansible.com/ui/standalone/roles/painless-software/software/(incorrect namespace, correct icon)
- Role “painless.software” →
https://galaxy.ansible.com/ui/standalone/roles/painless/software/(correct namespace, incorrect icon → looks like GitHub user “painless”)
- Namespace for Roles, “painless-software” →
https://galaxy.ansible.com/ui/standalone/namespaces/5371/(incorrect namespace, correct icon)
- Namespace for Roles, “painless” →
https://galaxy.ansible.com/ui/standalone/namespaces/9580/(correct namespace, incorrect icon → looks like GitHub user “painless”)
- Namespace for Collections, “painless-software” →
https://galaxy.ansible.com/ui/namespaces/painless-software/(404 Not Found → which is correct)
- Namespace for Collections, “painless” →
https://galaxy.ansible.com/ui/namespaces/painless/(correct namespace, correct icon)
Sorry for the plain URLs; as a new user I’m not allowed to have more than 2 URLs in a post.
Also, as a consequence, my users cannot install the
painless.software role anymore; it must now be called
painless-software.software for the installation to succeed:
$ ansible-galaxy install painless.software Starting galaxy role install process - downloading role 'software', owned by painless - downloading role from https://github.com/painless/ansible-role-software/archive/master.tar.gz [ERROR]: failed to download the file: HTTP Error 404: Not Found [WARNING]: - painless.software was NOT installed successfully. ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.
Will this be corrected in an already-planned cleanup task?
Should users report such discrepancies?