Personally, I would do one of three things:

1. Use the -m command to run 'yum install <version>' which /might/ work.

2. Uninstall the newer package and install the version you want. (Check the 'state' directive to do this.)

3. Pin that package version when creating the server/VM so as not to be updated.

#3 is useful to us as we kickstart all our servers and VMs, and this eliminates the problem going forward. Then, when we're ready to upgrade the pinned package, we have an ansible playbook that unpins that version, installs the new version (even if not latest), then re-pins.

HTH.


On 06/01/2017 03:46 PM, Anand Buddhdev wrote:
We're using ansible to configure our CentOS 6 servers, and we have a
task to install a specific version of a package:

- name: install thrift2
   yum: name=ripencc-thrift2-{{ version }}

In this ansible task, the "version" variable is set by the operator.
When we want to upgrade, it works. But today we had to downgrade, and
noticed that ansible wasn't downgrading it. So we tried by hand (the
installed version was 1.0.8):

# yum install ripencc-thrift2-1.0.3

I don't have the output handy, because a colleague was working on it,
but basically, yum said something like "package already installed" and
refused to downgrade it, even though the package is in our repository.

I have a strong sense that yum _used to_ downgrade packages if asked to
install an older version, but perhaps I am misremembering.

Nevertheless, I want to ask: is this a bug in yum? If asked to install a
specific version, should it not upgrade OR downgrade as needed?

Regards,
Anand
_______________________________________________
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos

_______________________________________________
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos

Reply via email to