uninstall-multiple-components
The uninstall-multiple-components
step starts child component processes
for uninstalling multiple components. This step is only valid in an application process.
Format
uninstall-multiple-components step "foo" is
-- name of the component process to run for each component; required
process "deploy"
-- mode for selecting versions to uninstall; required
-- all - uninstall all versions installed
-- selected-with-process - uninstall versions selected with the process
select-versions all
-- select versions for uninstall with this inventory status; required
select-versions-with-inventory-status "Active"
-- select components to uninstall 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 uninstall from 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 uninstall 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
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 | The component process to 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. |
Remove Versions With Status | Restricts the components that are affected by the step.
Only components with the selected status are affected. Available statuses: Active
refers to components that are currently deployed. |
Maximum number of concurrent components | The maximum number of components to uninstall at one time. For example, if you specify 5,
this step runs the uninstall component processes for five components at a time. 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 -1 value
is used by default. You can use a property in this field, as long as the property resolves to an
integer. |
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 uninstall each component. For example, if you set the
maximum number of concurrent processes to 2, only two instances of a component are uninstalled at a
time, even if many instances of the component are currently installed. 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 -1 value is used by
default. You can use a property in this field, as long as the property resolves to an integer.
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. |
Uninstall Type | The All Existing option removes all the versions of this component that are in the inventory. The All Selected For Process option removes only the versions that you specify when you start the application process. |
Example
start is
start A
start B
end
uninstall-multiple-components step A is
process "process-a"
select-versions all
select-versions-with-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 42
max-concurrent-components 24
precondition-script "script-a"
on success
finish
end
uninstall-multiple-components step B is
process "process-b"
select-versions selected-with-process
select-versions-with-inventory-status "status-b"
on success
finish
end