¿Cómo ejecutar la secuencia de commands sólo después de que el chef actualice todos los nodos?

Quiero hacer una receta que deployment nuestro ejecutable de actualización de software a todos los serveres y luego publique la información de nueva versión en la database. ¿Cómo hacer la escritura que hace la petición de la database solamente después de que todos los nodos con el papel dado desplegaran la nueva versión del package?

One Solution collect form web for “¿Cómo ejecutar la secuencia de commands sólo después de que el chef actualice todos los nodos?”

En la receta que implementa el ejecutable, consideraría almacenar la nueva versión de software en un atributo de nodo después de que se haya implementado el ejecutable. Luego, en una receta separada, ejecute una búsqueda a través de esos nodos y verifique que todos los resultados contengan sólo la nueva versión del software, es decir:

if search(:node, 'roles:role_for_your_app_servers').reject do |n| n['software']['version'] != target_version end.empty? do_database_update end 

Para que esto funcione, primero deberá asegurarse de que todos los nodos incluyan el atributo de versión de software antes de agregar esta function.

  • Chef - ¿Cómo calcular los attributes de los valores específicos del nodo?
  • "One-off" el uso de http_proxy en un recurso Chef remote_file
  • ¿Por qué no utiliza Chef mis attributes pnetworkingeterminados en mi entorno de desarrollo?
  • chef-client "no puede encontrar el file de configuration"
  • La ejecución del libro de cocina del cocinero no funciona paso a paso
  • Mostrar la salida del chef Ejecutar en la console mientras se ejecuta
  • AMI personalizado para AWSr Opsworks falla en la fase de configuration pero los loggings parecen limpios?
  • Chef: cómo duplicar un post de logging en el server de chat (DevOps)
  • Configuración de properties en chef-client.rb
  • Chef Server 12 instalando Chef Client 11
  • Hacer reference a los valores de client.rb en una receta
  • Administrar varias keys ssh para un usuario con Chef
  • ¿Cómo forzar acciones en resources "actualizados" en Chef?
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.