anchor.diff:      - role: elasticsearch
         elasticsearch_step: "after"
   ----
  +
  +Or even simpler, we can use `all` step:
  +
  +.playbook.yml
  +[source,yaml]
  +----
  +# New cluster
  +- hosts: elasticsearch
  +  any_errors_fatal: true
  +  roles:
  +    - role: elasticsearch
  +      elasticsearch_step: "all"
  +----
  +
  +== Hot configuration
  +
  +Most of the time, I am running my Ansible playbook only to change settings that don't need nodes to be restarted.
  +The trick is here to detect in the `before` step whether nodes should be restarted or not:
  +Version upgrade? Configuration that can not be hot reloaded?
  +On lucky days, you can skip the expensive `stop_start` step and have a quick deploy.
  
positive.code:     enabled: true
  ...
  ----
  If we do that, all Elasticsearch nodes will be stopped at the same time and users will cry all their tears.
  To fix this problem, the role can be ran in serial instead of parallel:
  
  .deploy.yml
  
negative.code:     - role: elasticsearch
  ----
  
  At some point, the `elasticsearch` role probably contains something to stop Elasticsearch in order to apply changes:
  
  .roles/elasticsearch/tasks/main.yml
  [source,yaml]
  