mirror of
https://github.com/ansible/awx.git
synced 2026-02-01 17:48:10 -03:30
Add workflow node identifier
Generate new modules WFJT and WFJT node Touch up generated syntax, test new modules Add utility method in awxkit Fix some issues with non-name identifier in AWX collection module_utils Update workflow docs for workflow node identifier Test and fix WFJT modules survey_spec Plug in survey spec for the new module Handle survey spec idempotency and test add associations for node connections Handle node credential prompts as well Add indexes for new identifier field Test with unicode dragon in name
This commit is contained in:
@@ -9,24 +9,25 @@ There are two named-URL-related Tower configuration settings available under `/a
|
||||
```
|
||||
"NAMED_URL_FORMATS": {
|
||||
"job_templates": "<name>++<organization.name>",
|
||||
"workflow_job_templates": "<name>",
|
||||
"workflow_job_templates": "<name>++<organization.name>",
|
||||
"workflow_job_template_nodes": "<identifier>++<workflow_job_template.name>++<organization.name>",
|
||||
"inventories": "<name>++<organization.name>",
|
||||
"users": "<username>",
|
||||
"custom_inventory_scripts": "<name>++<organization.name>",
|
||||
"applications": "<name>++<organization.name>",
|
||||
"inventory_scripts": "<name>++<organization.name>",
|
||||
"labels": "<name>++<organization.name>",
|
||||
"credential_types": "<name>+<kind>",
|
||||
"notification_templates": "<name>++<organization.name>",
|
||||
"instances": "<hostname>",
|
||||
"instance_groups": "<name>",
|
||||
"hosts": "<name>++<inventory.name>++<organization.name>",
|
||||
"system_job_templates": "<name>",
|
||||
"groups": "<name>++<inventory.name>++<organization.name>",
|
||||
"organizations": "<name>",
|
||||
"credentials": "<name>++<credential_type.name>+<credential_type.kind>++<organization.name>",
|
||||
"teams": "<name>++<organization.name>",
|
||||
"inventory_sources": "<name>",
|
||||
"projects": "<name>"
|
||||
}
|
||||
"inventory_sources": "<name>++<inventory.name>++<organization.name>",
|
||||
"projects": "<name>++<organization.name>"
|
||||
},
|
||||
```
|
||||
For each item in `NAMED_URL_FORMATS`, the key is the API name of the resource to have named URL, the value is a string indicating how to form a human-readable unique identifiers for that resource. A typical procedure of composing named URL for a specific resource object using `NAMED_URL_FORMATS` is given below:
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Workflows are structured compositions of Tower job resources. The only job of a workflow is to trigger other jobs in specific orders to achieve certain goals, such as tracking the full set of jobs that were part of a release process as a single unit.
|
||||
|
||||
A workflow has an associated tree-graph that is composed of multiple nodes. Each node in the tree has one associated job template (job template, inventory update, project update, or workflow job template) along with related resources that, if defined, will override the associated job template resources (*i.e.*, credential, inventory, etc.) if the job template associated with the node is selected to run.
|
||||
A workflow has an associated tree-graph that is composed of multiple nodes. Each node in the tree has one associated template (job template, inventory update, project update, approval template, or workflow job template) along with related resources that, if defined, will override the associated job template resources (*i.e.*, credential, inventory, etc.) if the job template associated with the node is selected to run.
|
||||
|
||||
|
||||
## Usage Manual
|
||||
@@ -22,6 +22,12 @@ Workflow Nodes are containers of workflow-spawned job resources and function as
|
||||
|
||||
Workflow job template nodes are listed and created under the `/workflow_job_templates/\d+/workflow_nodes/` endpoint to be associated with the underlying workflow job template, or directly under endpoint `/workflow_job_template_nodes/`. The most important fields of a workflow job template node are `success_nodes`, `failure_nodes`, `always_nodes`, `unified_job_template` and `workflow_job_template`. The first three are lists of workflow job template nodes that, in union, forms the set of all of its child nodes; specifically, `success_nodes` are triggered when the parent node job succeeds, `failure_nodes` are triggered the when parent node job fails, and `always_nodes` are triggered regardless of whether the parent job succeeds or fails. The latter two fields reference the job template resource it contains and workflow job template it belongs to.
|
||||
|
||||
Workflow nodes also have an `identifier` field, which enables clients to do idempotent CRUD actions.
|
||||
This can function the same as the `name` field for other resources, in that the client can set its value as needed.
|
||||
Unlike `name`, if the client does not provide the `identifier` field, the server will assign a random UUID4 value.
|
||||
Any workflow job nodes spawned from that node will share the `identifier` value, so that clients
|
||||
can track which job nodes correspond to which template nodes.
|
||||
|
||||
|
||||
#### Workflow Launch Configuration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user