apply-configuration

The apply-configuration step starts child component processes for applying configuration changes. This step is only valid in an application process.

Format

apply-configuration step "foo" is
    -- name of the component to configure; required
    component "my-component"

    -- name of the component process to run; required
    -- must be a configuration deployment or a no-version-needed operational process
    process "deploy-component-process-property"

    -- select resources to apply to 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

Table 1. Apply Configuration 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.
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.
Maximum number of concurrent jobs The maximum number component instances to apply the new configuration to simultaneously. For example, if you set the maximum number of concurrent processes to 2, the server applies the configuration to only two instances of a component at a time, even if many instances of the component are installed.

To apply the configuration to every component instance simultaneously, specify -1. To limit the number of components to change 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.

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

apply-configuration step A is
    component "component-a"
    process "process-a"
    select-resources-by-tag "res-tag-a"
    fail-fast true
    ignore-child-warnings true
    max-concurrent-processes 42
    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

apply-configuration step B is
    component "component-b"
    process "process-b"
on success
    finish
end