summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinson Chan <wcchan@stackstorm.com>2018-04-26 23:07:29 +0000
committerDougal Matthews <dougal@redhat.com>2018-07-23 13:59:26 +0100
commit38bfd91a2242de7b2d03673465e6f6aae04cfe64 (patch)
treeccbac20734769cbba7ff0d316b01107b903f7586
parent8b0171ba2553829bcc71449f72cfbaa4d2d84164 (diff)
Add documentation on event notifier
Add documentation on the notifier architecture and configuration of the event publishers. Co-Authored-By: Dougal Matthews <dougal@redhat.com> Change-Id: I5e7d8ac81225cfe4082a827a52447f95dd4789a0
Notes
Notes (review): Code-Review+2: Andras Kovi <akovi@nokia.com> Code-Review+2: Renat Akhmerov <renat.akhmerov@gmail.com> Workflow+1: Renat Akhmerov <renat.akhmerov@gmail.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Tue, 24 Jul 2018 07:58:51 +0000 Reviewed-on: https://review.openstack.org/564644 Project: openstack/mistral Branch: refs/heads/master
-rw-r--r--doc/source/architecture.rst14
-rw-r--r--doc/source/configuration/config-guide.rst14
2 files changed, 28 insertions, 0 deletions
diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst
index 450f9b9..72f3954 100644
--- a/doc/source/architecture.rst
+++ b/doc/source/architecture.rst
@@ -26,6 +26,7 @@ Mistral is composed of the following major components:
26* Engine 26* Engine
27* Task Executors 27* Task Executors
28* Scheduler 28* Scheduler
29* Notifier
29* Persistence 30* Persistence
30 31
31The following diagram illustrates the architecture of mistral: 32The following diagram illustrates the architecture of mistral:
@@ -58,6 +59,19 @@ The scheduler stores and executes delayed calls. It is the important Mistral
58component since it interacts with engine and executors. It also triggers 59component since it interacts with engine and executors. It also triggers
59workflows on events (e.g., periodic cron event) 60workflows on events (e.g., periodic cron event)
60 61
62Notifier
63--------
64
65On workflow and task execution, events are emitted at certain checkpoints such
66as when a workflow execution is launched or when it is completed. The notifier
67routes the events to configured publishers. The notifier can either be
68configured to execute locally on the workflow engine or can be run as a server
69much like the remote executor server and listens for events. Running the
70notifier as a remote server ensures the workflow engine quickly unblocks and
71resumes work. The event publishers are custom plugins which can write the
72event to a webhook over HTTP, an entry in a log file, a message to Zaqar, and
73etc.
74
61Persistence 75Persistence
62----------- 76-----------
63 77
diff --git a/doc/source/configuration/config-guide.rst b/doc/source/configuration/config-guide.rst
index 0f63f3e..232cdbe 100644
--- a/doc/source/configuration/config-guide.rst
+++ b/doc/source/configuration/config-guide.rst
@@ -168,6 +168,20 @@ directory.
168 168
169 The grace period for the first heartbeat (in seconds). 169 The grace period for the first heartbeat (in seconds).
170 170
171#. Configure event publishers. Event publishers are plugins that are
172 optionally installed in the same virtual environment as Mistral.
173 Event notification can be configured for all workflow execution for one or
174 more event publishers. The configuration is under the notify param at the
175 notifier section. The notify param is a list of dictionaries, one for each
176 publisher identifying the type or the registered plugin name and additional
177 key value pairs to be passed as kwargs into the publisher::
178
179 [notifier]
180 notify = [
181 {'type': 'webhook', 'url': 'http://example.com', 'headers': {'X-Auth-Token': 'XXXX'}},
182 {'type': 'custom_publisher'}
183 ]
184
171#. Finally, try to run mistral engine and verify that it is running without 185#. Finally, try to run mistral engine and verify that it is running without
172 any error:: 186 any error::
173 187