tendrl-commons package should depend on specific minimal version of ansible
dahorak opened this issue · 2 comments
Accordingly to /issues/944 and discussion on gitter tendrl-commons
depends on ansible in version 2.5 or higher:
we are actually changed tendrl code based on ansible 2.5 releases,
So it won't work with ansible 2.4 series. We are already have issue for
this and fixed #944 (comment)
But in package requirements it is only ansible
without any version specified (output truncated):
# rpm -qR tendrl-commons
ansible
...
This "inconsistency" between real and specified requirements leads to unexpected and hardly understandable issues like this: https://www.redhat.com/archives/tendrl-devel/2018-June/msg00008.html
More detailed description
Package ansible
in version 2.4.2.0-2.el7
is available in extras
repository (by default available and enabled on any freshly installed CentOS machine).
Package ansible
in version 2.6.3-1.el7
is available from epel
repository, which have to be additionally added (manually or in our case automatically by tendrl-ansible's site.yml
playbook).
When I'll follow the tendrl-ansible's installation instructions and I'll firstly install tendrl-ansible
on freshly installed Tendrl Server machine, it will automatically install ansible-2.4 from the extras
repository as a dependency.
As a next step, I'll launch site.yml
playbook, which will add epel
repository on Tendrl Server and all Gluster Storage Servers.
Then it will install tendrl-commons
package. Since this package depends on any version of ansible
, it will install latest available ansible
(2.6
from epel
repository) on all Gluster Storage Servers, but didn't automatically update the existing ansible-2.4
on Tendrl Server.
Expected state
If tendrl-commons
requires specific minimal version of ansible
, it should be defined also in the package requirements, so it will be ensured, that the correct version of ansible
is installed together with the tendrl-commons
package.
Simple updating the required version in specfile leads to unwanted situation, when ansible
package on Tendrl server is updated during execution of tendrl-ansible's site.yml
playbook (if it is executed from Tendrl server), which will cause quite ugly error.
So we should definitely update the specfile with the required version of ansible, but we should also probably update the (pre)installation instructions so the proper version of ansible will be installed together with installation of tendrl-ansible package and not updated later when site.yml
playbook is executed (this will require manual addition of epel repository).