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