sous-chefs / redisio

Development repository for the redisio cookbook
https://supermarket.chef.io/cookbooks/redisio
Apache License 2.0
297 stars 301 forks source link

issue with changing config because attributes saved as node.normal #392

Open ayanich opened 5 years ago

ayanich commented 5 years ago

Cookbook version

3.0.0

Chef-client version

12+

Platform Details

n/a

Scenario:

updating the config in the recipe does not ever change the config on a server, because the attributes are initially saved to node.normal level at https://github.com/sous-chefs/redisio/blob/master/recipes/configure.rb#L75

I can understand not wanting to restart a running redis when a config change happens, but this currently limits the updating the configs on a box without doing a knife exec ... to delete the attributes.

Steps to Reproduce:

change one of these default_settings in https://github.com/sous-chefs/redisio/blob/master/attributes/default.rb#L87 in your wrapper cookbook, and when you release your changes, they do not get reflected on the server because they've already been set at node.normal level. relevant files are in /etc/redis/

Expected Result:

files in /etc/redis to get updated with new configs from default_settings attributes

Actual Result:

changes do not get reflected

popsikle commented 4 years ago

Once a redisserver[xx] entry is configured a breadcrumb is dropped to prevent writing the config file again. https://github.com/sous-chefs/redisio/blob/master/providers/configure.rb#L297 so even if you update attributes (or force override or something) it will not rewrite a config file, this is a design choice and not a bug, imho.

ayanich commented 4 years ago

this is not the case when you turn breadcrumb file off. cookbooks shouldnt be using node.normal, that said, i dont really use this cookbook anymore.