Skip to content

Gaps and Obstacles in Developing Collections with Tox-Ansible #490

@Andersson007

Description

@Andersson007

The context: we are now working on the Improve the Partner Certification Experience ANSTRAT-1330 .
To complete the Document the gaps and obstacles on collection workflow story, every community engineering team member independently went through a typical collection development workflow: created a collection with a module from scratch, configured GitHub including CI, published it on Galaxy, etc. trying to use Ansible development tools as much as possible and reflecting their experiences in the Obstacles and issues found with ADT Google doc along the way.

This issue summarizes the challenges and obstacles encountered by the Community Engineering team while developing collections using Tox-Ansible. This feedback outlines key areas for improvement within the tool, focusing on actionable solutions to enhance user experience. We've also created an issue with general feedback on using ADT.

Very challenging experience due to:

Documentation:

  • Very little documentation
    • The existing documentation is very vague
    • No focus on how to achieve user goals
    • Docs forces you to make design decisions based on assumptions and guesswork
    • The documentation points you to files like this one on GitHub rather than explaining how the tests actually work.
      • No idea why some options seem to be hard-coded to Brad’s home directory (/home/bthornto/github/tox-ansible/)
    • The sample tox.ini given in the docs doesn’t work. With Cursor help it worked by adding:
[testenv:lint]
skip_install = true

Usability:

  • Who tried it say the tool usage is complex
  • Could not get “pytest tests” to run successfully with my unit test unless I passed the collection path with PYTHONPATH
  • A need to override the default tox-ansible configuration for integration tests to make them work, but we are not sure if this will break when the underlying matrix of Python and Ansible versions will change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions