install-multiple-components
The install-multiple-components
step runs child component processes that
install multiple components. This step is only valid in an application process.
Format
install-multiple-components step "foo" is
-- name of the component process to run for each component; required
process "deploy"
-- select versions for deployment without this inventory status; required
select-versions-without-inventory-status "Active"
-- select components to deploy by component tag; optional
-- before 7.1.1.0, the tag must be specified by internal database ID
select-components-by-tag "comp-tag-a"
-- select resources to deploy to by resource tag; optional
-- before 7.1.1.0, the tag must be specified by internal database ID
select-resources-by-tag "res-tag-a"
-- don't start further children after a failure; optional
-- default is false
fail-fast false
-- suppress warnings generated by children; optional
-- default is false
ignore-child-warnings false
-- maximum number of concurrent processes per component; optional
-- default is unlimited
max-concurrent-processes unlimited
-- maximum number of components to deploy concurrently; optional
-- default is 100
max-concurrent-components 100
-- javascript precondition script that must evaluate to true for the step to execute; optional
precondition-script
"""
true
"""
on success
start "bar"
end
Properties
Field | Description |
---|---|
Name | A name for the step. Other process steps can refer to this step by this name. |
Component Tag | A user-defined component tag that is used to select components. Only components with the specified tag are modified by this step. |
Component Process | A process for the components that contain the selected tag. The process name must be the same for each tagged component. Only components that contain the specified process run. |
Limit to Resource Tag | The user-defined resource tag that determines which resource runs the process. Only a resource with this tag, or a resource that has a parent with this tag, runs the process. See Adding tags to objects. |
Use Versions Without Status | Restricts the components that can be used by the step. Components with the selected status are ignored. Available statuses: Active means ignore components that are currently deployed. |
Maximum number of concurrent components | The maximum number of components to deploy at one time. For
example, if you specify 5, this step deploys five components at a time to all agents to which the
components are mapped. To run this step on all components at the same time, specify
-1 . To limit the number of components to access at once, as in rolling
deployments, specify an integer.The server attempts to resolve the value to an integer. If the value does
not resolve to an integer, then the Note: The maximum number of component processes that can run
concurrently is limited by the hardware that hosts the agent. |
Maximum number of concurrent processes | The maximum number of concurrent
processes to run, per component. This setting limits the number of processes that run simultaneously
to deploy each component. For example, if you set the maximum number of concurrent processes to 2,
only two instances of a component are installed at a time, even if many instances of the component
are mapped to agents. To run an unlimited number of concurrent processes, specify
-1 . To limit the number of processes to run at once, as in rolling
deployments, specify an integer.The server attempts to resolve the value to an integer. If the value does
not resolve to an integer, then the Note: The maximum number of component processes that can run
concurrently is limited by the hardware that hosts the agent. |
Fail Fast | If this check box is selected, the step does not start more processes after one process fails. |
Precondition | A JavaScript 1.7 script that defines a condition that must exist before the
step can run. The condition must resolve to true or false . In the
script, do not use the ${p:component.myProperty} notation. For
example, to check the value of a component property in a component process, use
properties.get("myProperty") == "myValue" . See Property contexts for information about property
access. |
Example
start is
start A
start B
end
install-multiple-components step A is
process "process-a"
select-versions-without-inventory-status "status-a"
select-components-by-tag "comp-tag-a"
select-resources-by-tag "res-tag-a"
fail-fast true
ignore-child-warnings true
max-concurrent-processes unlimited
max-concurrent-components unlimited
precondition-script "script-a"
on success
finish
end
install-multiple-components step B is
process "process-b"
select-versions-without-inventory-status "status-b"
max-concurrent-processes 1
max-concurrent-components 2
on success
finish
end