My Google-Fu seems to be failing me. I know that Chef has a way to specify versions of cookbooks that have to be loaded, but I can’t seem to figure out how to tell Chef to insist on a certain version (or later) of a particular package to be installed.
The particular case that I have is that Erlang R12B-5 is in the main EPEL repo, but R14B is in the EPEL Erlang repo, and I have both repos installed on a target machine. When I go to install Erlang, it appears that the “yum info” command is being done early in the process before the EPEL Erlang repo has been added, so it comes back and thinks that it should install R12B-5. When yum is finally told to actually install this version, it gets part way through and discovers that the EPEL Erlang repo is also available and has a later version, and then it proceeds to only do a partial install of the R14B stuff that is required.
Needless to say, this leaves the machine very confused and in a non-workable state with regards to Erlang, which keeps RabbitMQ from being installed.
I know that I can run my own repo and include only the versions of Erlang that I want to have in that repo, but until I get to that point I need a way to either tell yum that the EPEL Erlang repo should have more priority over the main EPEL repo, or I need a way to tell yum that it should explicitly install R14B and bail out if it cannot do so. This split version install between R12B-5 and R14B isn’t going to work. In theory, yum should be smart enough to always install the latest version and only that version, but it seems that something is getting seriously hosed.
If all these problems need to be fixed in the yum LWRPs, are the updated cookbooks for that available outside of waiting for Chef 0.10.6? Or am I just screwed?
Brad Knowles email@example.com
SAGE Level IV, Chef Level 0.0.1