Update the recording workflow diagram to be more accurate
Attempting to picture the client as an individual aspect of the workflow diagram made the workflow seem much worse than it actually was. The callback uses the client to send the data to the API. Document it as such. Change-Id: I12795820c269d2aa9a8032c703285b86624ca7fe
This commit is contained in:
parent
4e27887ade
commit
41a2e339fc
@ -1 +1,2 @@
|
||||
<mxfile modified="2019-03-02T14:40:33.544Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0" version="10.3.1" etag="tY1ZUQhwAL4cp4ZSqEVr" type="device"><diagram id="9906a0a6-bcd4-fe14-221d-85032a32ce87" name="Page-1">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</diagram></mxfile>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mxfile modified="2019-04-02T18:30:38.806Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0" etag="_tw4m73zY_rj1M43sCXq" version="10.6.0" type="device"><diagram id="9906a0a6-bcd4-fe14-221d-85032a32ce87" name="Page-1">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</diagram></mxfile>
|
Binary file not shown.
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 145 KiB |
@ -4,17 +4,17 @@ Architecture and Workflows
|
||||
Recording data from Ansible
|
||||
---------------------------
|
||||
|
||||
ARA Records Ansible playbooks through an Ansible `callback plugin`_.
|
||||
|
||||
.. image:: _static/graphs/recording-workflow.png
|
||||
|
||||
0. A human (*or a system, script, etc.*) installs ARA and configures Ansible to use the ARA callback
|
||||
1. A human (*or a system, script, etc.*) executes an ``ansible-playbook`` command
|
||||
2. Ansible sends hooks for every event to `callback plugins`_ (``v2_playbook_on_start``, ``v2_runner_on_failed``, etc.)
|
||||
3. The callback plugin, organizes the data sent by Ansible and sends it to the API client
|
||||
4. The API client sends the data to the API over HTTP or locally offline through an internal implementation
|
||||
5. The API server receives the POST from the client, validates it and sends it to the database model backend
|
||||
6. The API server sends a response back to the client with the results
|
||||
7. The API client sends the response back to the callback with the results
|
||||
8. The callback plugin returns, ending the callback hook
|
||||
9. Ansible continues running until it is complete (back to step 2)
|
||||
0. ARA is installed and Ansible is configured to use the callback plugin
|
||||
1. An ``ansible-playbook`` command is executed
|
||||
2. Ansible triggers the callback plugin for every event (``v2_playbook_on_start``, ``v2_runner_on_failed``, etc.)
|
||||
3. The relevant information is retrieved from the Ansible playbook execution context and is sent to the API server
|
||||
4. The API server validates and serializes the data before storing it the configured database backend
|
||||
5. The API server sends a response back to the API client with the results
|
||||
6. The callback plugin returns, ending the callback hook
|
||||
7. Ansible continues running the playbook until it fails or is completed (back to step 2)
|
||||
|
||||
.. _callback plugins: https://docs.ansible.com/ansible/latest/plugins/callback.html
|
||||
.. _callback plugin: https://docs.ansible.com/ansible/latest/plugins/callback.html
|
||||
|
Loading…
Reference in New Issue
Block a user