More dynamic code using notifications
Wouldn't it be great if Chef knew how and what to restart automatically when a change arises? In a previous example, we added a new virtual host to our node, and we had to manually restart Apache to take the change into account. Luckily, there's a mechanism named notifications in Chef, that helps trigger an action, when a resource changes. This way, changing a virtual host can trigger a restart of the Apache HTTP server automatically.
Getting ready
To work through this recipe, you will need the following:
A working Chef DK installation on the workstation
A working Chef client configuration on the remote host
The Chef code from the previous recipes
How to do it…
We'll start from the apache
cookbook we've left in its 0.3.0 version. Bump it right now to 0.4.0
so we're starting fresh in apache/metadata.rb
:
version '0.4.0'
Every resource can notify another resource to do something when its state changes, and any resource can also subscribe to a change of state from...