Built-in Workflows Reference

Cloudify comes with two built-in workflows: install and uninstall. This page will give a high level description of these workflows.



Install

For each node, for each node instance (in parallel):

  1. Wait for node instance relationships to be started. (Only start processing this node instance when the node instances it depends on are started).
  2. Execute cloudify.interfaces.lifecycle.create operation. 1
  3. Execute cloudify.interfaces.relationship_lifecycle.preconfigure relationship operations.2
  4. Execute cloudify.interfaces.lifecycle.configure operation.1
  5. Execute cloudify.interfaces.relationship_lifecycle.postconfigure relationship operations.2
  6. Execute cloudify.interfaces.lifecycle.start operation.1
  7. If the node instance is a host node (its type is a subtype of cloudify.types.host):
    • Wait for host to be started. (Wait for cloudify.interfaces.host.get_state operation on the node instance to return true, if mapped, do nothing otherwise).
    • Install agent workers and required plugins on this host.
  8. Execute cloudify.interfaces.relationship_lifecycle.establish relationship operations.2

1. Execute the task mapped to the node’s lifecycle operation. (do nothing if no task is defined).
2. Execute all tasks mapped to this node’s relationship lifecycle operation.

Uninstall

For each node, for each node instance (in parallel):

  1. Wait for dependent node instances to be deleted. Only start processing this node instance when the node instances dependent on it are stopped).
  2. If node instance is host node (its type is a subtype of cloudify.types.host):
    • Stop and uninstall agent workers.
  3. Execute cloudify.interfaces.lifecycle.stop operation.1
  4. Execute cloudify.interfaces.relationship_lifecycle.unlink relationship operations.2
  5. Execute cloudify.interfaces.lifecycle.delete operation.1

1. Execute the task mapped to the node’s lifecycle operation. (do nothing if no task is defined).
2. Execute all tasks mapped to this node’s relationship lifecycle operation.