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

Make the redisio `configure` resource idempotent #474

Closed aae42 closed 1 year ago

aae42 commented 1 year ago

Description

Makes the redisio configure resource idempotent.

It's helpful to hide whitespace when reviewing diffs.

Issues Resolved

215

Check List

aae42 commented 1 year ago

could add a config to the .kitchen.yml to make the log file touch thing easier to see, but neither that, or the lack of idempotency on the configure resource is going to be noticed unless we do multiple converges and enforce idempotency in the provisioner

ramereth commented 1 year ago

@aae42 looks like we need to clean up the CI environment. Let me do that in another PR so that this can be properly tested.

ramereth commented 1 year ago

could add a config to the .kitchen.yml to make the log file touch thing easier to see, but neither that, or the lack of idempotency on the configure resource is going to be noticed unless we do multiple converges and enforce idempotency in the provisioner

I'd recommend you update the provisioner block in kitchen.yml to the following:

provisioner:
  name: chef_infra
  product_name: chef
  chef_license: accept-no-persist
  multiple_converge: 2
  enforce_idempotency: true
  deprecations_as_errors: true

This will then check for idempotency in CI.

I'd also remove the client_rb block as that's now covered by the deprecations_as_errors settings above.

aae42 commented 1 year ago

looks like sentinel is also having idempotency issues, i can look to see if it's as easy to fix as the configure one was

aae42 commented 1 year ago

@ramereth want to take another look?

kitchen-porter commented 1 year ago

Released as: 6.4.0