Dry Run Workflow Execution
Overview
In a dry-run execution, you can execute a workflow so that the entire flow of the execution (all the operations that are executed in an actual run) is shown, but no actual code is executed and there are no side effects.
A dry-run is useful in the process when you write complex blueprints with potentially long executions. The dry-run helps you to configure relationships between node templates, and operations that depend on those relationships.
Example
For example, the output of a dry-run of the hello world blueprint is:
(cloudify) ➜ ~ cfy executions start install -d dep --dry-run
Executing workflow install on deployment dep [timeout=900 seconds]
2018-03-18 07:25:18.059 CFY <dep> Starting 'install' workflow execution (dry run)
2018-03-18 07:25:18.672 CFY <dep> [vm_xu6d4u] Creating node
2018-03-18 07:25:19.678 CFY <dep> [vm_xu6d4u] Configuring node
2018-03-18 07:25:19.678 CFY <dep> [vm_xu6d4u] Starting node
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u] Creating Agent
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.create] Sending task 'cloudify_agent.installer.operations.create'
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.create] Task started 'cloudify_agent.installer.operations.create'
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.create] Task succeeded 'cloudify_agent.installer.operations.create (dry run)'
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.install] Sending task 'diamond_agent.tasks.install'
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.install] Task started 'diamond_agent.tasks.install'
2018-03-18 07:25:20.694 CFY <dep> [vm_xu6d4u.install] Task succeeded 'diamond_agent.tasks.install (dry run)'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Sending task 'diamond_agent.tasks.start'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Task started 'diamond_agent.tasks.start'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Task succeeded 'diamond_agent.tasks.start (dry run)'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Sending task 'diamond_agent.tasks.add_collectors'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Task started 'diamond_agent.tasks.add_collectors'
2018-03-18 07:25:21.698 CFY <dep> [vm_xu6d4u.start] Task succeeded 'diamond_agent.tasks.add_collectors (dry run)'
2018-03-18 07:25:22.703 CFY <dep> [http_web_server_mb2qu9] Creating node
2018-03-18 07:25:23.722 CFY <dep> [http_web_server_mb2qu9] Configuring node
2018-03-18 07:25:23.722 CFY <dep> [http_web_server_mb2qu9.configure] Sending task 'script_runner.tasks.run'
2018-03-18 07:25:23.722 CFY <dep> [http_web_server_mb2qu9.configure] Task started 'script_runner.tasks.run'
2018-03-18 07:25:23.722 CFY <dep> [http_web_server_mb2qu9.configure] Task succeeded 'script_runner.tasks.run (dry run)'
2018-03-18 07:25:24.727 CFY <dep> [http_web_server_mb2qu9] Starting node
2018-03-18 07:25:24.727 CFY <dep> [http_web_server_mb2qu9.start] Sending task 'script_runner.tasks.run'
2018-03-18 07:25:24.727 CFY <dep> [http_web_server_mb2qu9.start] Task started 'script_runner.tasks.run'
2018-03-18 07:25:24.727 CFY <dep> [http_web_server_mb2qu9.start] Task succeeded 'script_runner.tasks.run (dry run)'
2018-03-18 07:25:25.734 CFY <dep> 'install' workflow execution succeeded (dry run)
Finished executing workflow install on deployment dep
The only result of this execution is a list of all of the operations that are executed in a real run of the workflow. (dry run)
is shown at the end of each success event, and each workflow start and end message.