rollback-component step
The rollback-component step starts child component processes for rolling back a single component. This step is only valid in an application process.
Format
rollback-component step "foo" is
-- name of the component to deploy; required
component "my-component"
-- name of the component process to run for each component; required
process "deploy-component-process-property"
-- mode for selecting versions to rollback; required
-- remove-undesired-incremental-versions - rollback incremental versions
-- replace-with-last-deployed - rollback to previous version
rollback-type replace-with-last-deployed
-- select versions for rollback with this inventory status; required
select-versions-with-inventory-status "Active"
-- select resources to rollback on by resource tag; optional
-- before 7.1.1.0, the tag must be specified by internal database ID
select-resources-by-tag "my-tag"
-- 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; optional
-- default is unlimited
max-concurrent-processes unlimited
-- javascript precondition script that must evaluate to true for the step to execute; optional
precondition-script
"""
true
"""
-- set a component process property value; optional, repeatable
property "component-process-property-1" = "cpp1-value"
property "component-process-property-2" = "cpp1-value"
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 | Component that is used by the step; a step can affect a single component. All components that are associated with the application are available. If you want to roll back another component, add another rollback step to the process or use the Rollback Multiple Components step. |
Remove Versions with Status | Restricts the component versions that are affected by the
step. Only versions with the selected status are affected. By default, the status
Active refers to versions that are currently deployed. |
Component Process | The component process to run. In most cases, select a component process that uninstalls the component. |
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. |
Rollback type | Determines the type of rollback. If you specify Remove Undesired
Incremental Versions , the server runs the uninstall process for each version that is not in
the specified snapshot. See Rolling back to a snapshot. If you specify
Replace with Last Deployed , the server runs the specified process on the version
that was installed when the process began. See Uninstalling components with an application process. |
Maximum number of concurrent processes | The maximum number of concurrent processes to run. This setting
limits the number of processes that run simultaneously. For example, if you set the maximum number
of concurrent processes to 2, only two instances of a component are rolled back at a time, even if
there are many instances of the component. 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
rollback-component step A is
component "component-a"
process "process-a"
rollback-type replace-with-last-deployed
select-versions-with-inventory-status "status-a"
select-resources-by-tag "tag-a"
fail-fast true
ignore-child-warnings true
max-concurrent-processes 100
precondition-script "script-a"
property "prop-a1" = "prop-a1-value"
property "prop-a2" = "prop-a2-value"
property "prop-a3" = "prop-a3-value"
on success
finish
end
rollback-component step B is
component "component-b"
process "process-b"
rollback-type remove-undesired-incremental-versions
select-versions-with-inventory-status "status-b"
on success
finish
end