[CentOS] yum install <olderversion> does not downgrade

Thu Jun 1 19:46:52 UTC 2017
Anand Buddhdev <anandb at ripe.net>

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?