Your Feedback Wanted: The Ansible Collection Developer and Maintainer Journey

As a new maintainer for community.beszel my general feedback is below :slightly_smiling_face:

Community Collection Template

The community collection template was very useful and took away a lot of work from my side for getting started with a new collection. On a side note, it might be worth re-evaluating the template now that ansible-creator exists and can also scaffold a collection. Which one is the standard practice now? Possibly needs a sync up with the Dev Tools team on that.

Ansible Dev Environment

The ansible-dev-environment package has helped massively with issues I’ve had in the past where molecule discovers collection and role dependencies elsewhere on the system instead of in my Python virtual environment. :+1:

Ansible Dev Tools Package

I’m not currently using the ansible-dev-tools meta package because it always installs the latest tooling versions. My requirement is to version constraint (ansible-core, ansible-lint etc) to avoid breaking changes. As a collection maintainer, I want contribution to be easy and the last thing I want is a potential contributor to give up because the instructions in my CONTRIBUTING.md don’t work anymore because of a breaking change. I’m currently version constraining these packages in test-requirements.txt or pyproject.toml files.

Ansible Test

Being a newcomer to ansible-test I found the UX strange coming from other Dev Tools such as molecule. The biggest thing for me was that when using the —docker flag, ansible-test didn’t automatically install Ansible collection or role dependencies for my tests like molecule does:

---
...
dependency:
  name: galaxy
  options:
    requirements-file: "${MOLECULE_SCENARIO_DIRECTORY}/../requirements.yml"

I think there is an opportunity for improving the documentation and was being discussed in Ansible-test not loading collections from requirements.yml - #6 by dbrennand as I couldn’t find any documentation that a specific directory structure is required for ansible-test to find those dependencies.

2 Likes