Ansible Galaxy’s role import enhancements and fixes for the new year

Cloud it be that these changes broke ansible-galaxy role import ... again? I was wondering why my githubixx.kubernetes_controller role wasn’t updated until I figured out that there is now (again) a new role githubixx.kubernetes-controller. That’s actually interesting as - are not allowed in role names. ansible-lint completely freaks out if you do that :wink: My last import was on Dec 13 and that worked as expected.

This is the Github Action log:

Run ansible-galaxy role import --api-key *** $(echo githubixx/ansible-role-kubernetes-controller | cut -d/ -f1) $(echo githubixx/ansible-role-kubernetes-controller | cut -d/ -f2)
  
Successfully submitted import request 2060918917000330747058366163679919697
Starting import: task_id=2060918917000330747058366163679919697, pulp_id=018ceb25-cc9a-74bb-a68f-8fa668173e51

==== PARAMETERS ====
importer username: githubixx
matched user: githubixx id:2563
github_user: githubixx
github_repo: ansible-role-kubernetes-controller
github_reference: None
alternate_clone_url: None
alternate_namespace_name: None
alternate_role_name: kubernetes-controller

==== CHECK FOR MATCHING ROLE(S) ====
user:githubixx repo:ansible-role-kubernetes-controller matched existing role githubixx.kubernetes_controller id:32487

===== CLONING REPO =====
cloning https://github.com/githubixx/ansible-role-kubernetes-controller ...

===== GIT ATTRIBUTES =====
github_reference(branch): master
github_commit: 48a7477f08fbbf0214b633fd801de8885f9b1a93
github_commit_message: 23.0.0+1.28.5 (#55)

* upate k8s_release to 1.28.5 / extend enable-admission-plugins list of kube-apiserver

* update CHANGELOG and README

* Molecule: Change IP addresses
github_commit_date: 2024-01-08T23:09:49+01:00

===== LOADING ROLE =====
Importing with galaxy-importer 0.4.18
Determined role name to be kubernetes_controller
Linting role kubernetes_controller via ansible-lint...
ansible-role-kubernetes-controller/molecule/default/prepare.yml:53:7: syntax-check[specific]: couldn't resolve module/action 'ansible.posix.synchronize'. This often indicates a misspelling, missing collection, or incorrect module path.
ansible-role-kubernetes-controller/molecule/default/verify.yml:8:7: syntax-check[specific]: couldn't resolve module/action 'kubernetes.core.k8s_info'. This often indicates a misspelling, missing collection, or incorrect module path.
...ansible-lint run complete
Legacy role loading complete

===== PROCESSING LOADER RESULTS ====
overriding namespace name via metadata: githubixx
enumerated role name kubernetes-controller
created new role id:37622 githubixx.kubernetes-controller

I guess alternate_role_name: kubernetes-controller is wrong and it’s also not in the metadata. meta/main.yml looks like this:

---
galaxy_info:
  author: Robert Wimmer
  description: Installs the Kubernetes API server, scheduler and controller manager.
  license: GPLv3
  min_ansible_version: "2.9"
  role_name: kubernetes_controller
  namespace: githubixx
  platforms:
    - name: Ubuntu
      versions:
        - "focal"
        - "jammy"
  galaxy_tags:
    - kubernetes
    - scheduler
    - api
    - controller
    - ha

The role_name also is set to kubernetes_controller (with “_” and not “-”).

So this is the new (and wrongly named) role:
https://galaxy.ansible.com/ui/standalone/roles/githubixx/kubernetes-controller/

But it should be imported here:
https://galaxy.ansible.com/ui/standalone/roles/githubixx/kubernetes_controller/

Thanks for checking!