Most likely, it has to do with the structure of RPMs. RPMs include the official name, but also declare any number of features they provide. This is often use to provide several alternate RPMs that each fulfill a particular requirement. For instance, sendmail and postfix would both provide smtpd, MTA, /usr/sbin/sendmail, and so on. Probably, community-mysql also provides mysql. There probably is no equivalent provides listed in the community-mysql-devel RPM. From: Peeyush Gupta [mailto:
Sent: Tuesday, March 4, 2014 10:24 PM To:
Subject: [chef] Re: Re: Community-mysql instead of mysql Thanks for the reply. Yes, I am using Fedora and the repo has mariadb and community-mysql. Though I have one more doubt, when I run chef-client, the cookbook install community-mysql as an mysql provider, but gives error at installing mysql-devel. My point is if the cookbook can identify community-mysql as mysql provider, why can't it recognize community-mysql-devel? Any yeah, I do have multiple versions of mysql on my server, will try to resolve the issue by handling On Wednesday, 5 March 2014 3:26 AM, Bryan McLellan <
">
> wrote: On Tue, Mar 4, 2014 at 7:52 AM, Peeyush Gupta <
">
> wrote: > I am using mysql cookbooks, but my repo doesn't have a mysql package, > instead we have community-mysql package. I want to know how can I change > mysql into community-mysql. One option is I will have to write a new > cookbook, but then there are a lot of dependencies issue. I tried to make > some changes, like putting community-mysql in place of mysql in recipes and > uploaded the cookbooks, but it didn't work. My server shows the modified > cookbooks, but the synchronized (?) cookbooks on my machine are still the > old version. I even deleted the cached cookbooks, but still I am getting the > same result.
What platform are you on? Fedora? There's been a lot of discussion about how to modify Chef's MySQL cookbook to run on Fedora now that it's moving to MariaDB.
https://tickets.opscode.com/browse/COOK-4259
> How is it that there are different cookbooks on server and client?
The server can store multiple cookbook versions. You can read about cookbook versioning here: http://docs.opscode.com/essentials_cookbook_versions.html
Maybe the "version" that you've uploaded isn't the highest version on the server and the client isn't replacing it's version. Or maybe the cookbook isn't specifically listed in the run list on the node (client) and it is getting the cookbook through a dependency in another cookbook, which is specifying a version.
You can use "knife cookbook show mysql" to list the versions of the mysql cookbooks on the server and then use "knife cookbook delete COOKBOOK_NAME COOKBOOK_VERSION" to delete specific versions of a cookbook off of the server.
http://docs.opscode.com/knife_cookbook.html
You can also run the chef-client in debug mode using "chef-client -l debug" which will provide additional output in regard to what the client is downloading and running.
Bryan
|