Hello together, I’m currently working on my practical paper for my dual studies program in Germany with the task, to analyze AWX in comparison with Ansible cloud native solutions.
For this, I have a question: How often do breaking changes really occur for Ansible playbooks? And how often do the required Python versions change?
And for that, what is the typical notice period before dependency version requirements change and are such updates already planned or announced?
I presume you are asking is: to what degree do breaking changes in new versions of Ansible require changes to playbooks to keep working correctly?
In my personal experience, close to never. Ansible has been incredibly stable of the past few years and I can’t recall a breaking change that affected my team much.
To analyze the question more formally, you could start by reviewing the docs on Releases and Maintenance, which describes when breaking changes may appear:
From there, you could go back in history of Ansible changelogs to find some breaking changes, then find a random assortment of playbooks on Github and analyze the degree to which any of them might be impacted by breaking changes.
If you are concerned about avoiding the issue in your work, Execution Environments exist in part to address this concern. By using containers, you can bundle together a version of Ansible, a version of Python and other dependencies. This way, even if the host is updated to newer versions of Ansible or Python, you can continue to keep your playbook in sync with the specific version of Ansible and Python it was originally developed with.