如何处理厨师中的冲突文件?

时间:2015-05-08 07:26:58

标签: chef

我有一个包含在mysql::server上的食谱,但是替换了my.cnf文件。结果是,在每个chef-client运行时,它重新启动mysql服务器,因为my.cnf在chef-client运行期间被替换了两次。如何避免?

更新:是的,这是因为mysql::server部署my.cnf然后我的食谱会覆盖它。问题是如何禁用mysql::server部署my.cnf而不禁用或修改此菜谱(仅使用我的包装菜单中的更改)。直接修改社区烹饪书被认为是一种不好的做法,所以肯定应该有一种方法来使用包装食谱来实现所需的行为。

1 个答案:

答案 0 :(得分:0)

听到这个消息,你有两个为my.cnf声明的模板资源,其中一个需要被禁用。

如果没有食谱,我只能猜测,但是当您包含mysql::server食谱(它具有my.cnf的自己的模板资源)时,通常会发生这种情况,然后您为我指定了自己的模板资源.CNF。

MySQL cookbook允许您使用mysql_config资源

定义额外配置
mysql_service 'foo' do
  port '3306'
  version '5.5'
  initial_root_password 'change me'
  action [:create, :start]
end

mysql_config 'foo' do
  source 'my_extra_settings.erb'
  notifies :restart, 'mysql_service[foo]'
  action :create
end

您需要在食谱中创建my_extra_settings.erb

相关问题