Description of problem: Within one major release (fedora 23) the ansible package has been upgraded from version 1.9.x to 2.0.x. This upgrade introduces backward compatibility issues and it is against the updates policy: https://fedoraproject.org/wiki/Updates_Policy#Stable_Releases where it is stated: - Avoid Major version updates, ABI breakage or API changes if at all possible. Version-Release number of selected component (if applicable): 2.0.1.0-2.fc23 How reproducible: Every time Steps to Reproduce: 1. Start with a system with ansible 1.9 installed (i.e. the one from the f23 base repo). 2. Confirm that importing ansible.callbacks works: # python -c 'import ansible.utils,ansible.callbacks'; echo $? 0 3. Update ansible (dnf update ansible) 4. Check if importing ansible.callbacks works: # python -c 'import ansible.utils,ansible.callbacks'; echo $? Actual results: Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named callbacks 1 Expected results: 0 Additional info: There is a package called "ansible1.9" but: a) this is not an update of the ansible package for those who had 1.9 installed b) doesn't install cleanly if as it shares paths with the ansible package so even if someone knows that from ansible (1.9 version) he should upgrade to ansible1.9 package to maintain the compatibility that won't be possible without removing the current ansible package.
So, the thing here is that the python API interface to ansible is not something that is stable and supported by ansible. From the docs: "Please note that while we make this API available it is not intended for direct consumption, it is here for the support of the Ansible command line tools. We try not to make breaking changes but we reserve the right to do so at any time if it makes sense for the Ansible toolset. The following documentation is provided for those that still want to use the API directly, but be mindful this is not something the Ansible team supports." So, this API can (and in fact has) changed in other releases. Aside from a pretty small number of cases ansible 2.0 handles playbooks written for 1.9.x just fine. For those small numbers of folks, we have provided the ansible1.9 package, but note that it will go away once upstream stops supporting 1.9.x updates.
As discussed on IRC the main problem is that --allowerasing doesn't help on the migration from ansible to ansible1.9: # rpm -qa ansible ansible-2.0.1.0-2.fc23.noarch # dnf install ansible1.9 --allowerasing Last metadata expiration check: 0:35:24 ago on Wed Apr 27 15:41:53 2016. Dependencies resolved. ==================================================================================================================================================== Package Arch Version Repository Size ==================================================================================================================================================== Installing: ansible1.9 noarch 1.9.6-1.fc23 updates 1.7 M Downgrading: ansible noarch 1.9.3-2.fc23 fedora 1.7 M Transaction Summary ==================================================================================================================================================== Install 1 Package Downgrade 1 Package Total size: 3.4 M Is this ok [y/N]: n Operation aborted. AND: # rpm -qa ansible ansible-1.9.3-2.fc23.noarch # dnf install ansible1.9 --allowerasing Last metadata expiration check: 0:40:11 ago on Wed Apr 27 15:41:53 2016. Dependencies resolved. ====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing: ansible1.9 noarch 1.9.6-1.fc23 updates 1.7 M Transaction Summary ====================================================================================================================================================== Install 1 Package Total download size: 1.7 M Installed size: 7.2 M Is this ok [y/N]: In both cases we end up with a setup that tries to install ansible-1.9.3 and ansible1.9 in parallel which conflicts as they share path location. Looking at the 1.9 spec file it MIGHT help to change: Conflicts: ansible >= 2 To: Conflicts: ansible But i'm not sure if a package can Provide and Conflict with the same name. Cheers, Christos
ansible1.9-1.9.6-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f392541f73
ansible1.9-1.9.6-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-af216d3233
ansible1.9-1.9.6-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-48b827a9d9
ansible1.9-1.9.6-2.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-5c482c7c47
ansible1.9-1.9.6-2.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-5c482c7c47
ansible1.9-1.9.6-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-af216d3233
ansible1.9-1.9.6-2.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-48b827a9d9
ansible1.9-1.9.6-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f392541f73
ansible1.9-1.9.6-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
ansible1.9-1.9.6-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
ansible1.9-1.9.6-2.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
ansible1.9-1.9.6-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.