IBM Support

PH11564: COMPLIANCE UNCHANGED IF INSTALLATION AND ROLLBACK BOTH FAIL

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Given an application process that first attempts to install a
    Component and then launches a Rollback (replace with previous
    version) if the installation fails, the compliance of the
    environment remains unchanged if both the the installation of
    the new version and the rollback to the previous version fail.
    
    Steps to reproduce:
    
    1. Create a Component Comp1 with a Component process of type
    deployment. For simplicity, make the process contain just a
    manual task, so you can easily control if the process succeeds
    or fails.
    
    2. Create an Application with an Application process and add the
    Component to the Application.
    
    3. In the Application process, add a step of type Install
    Component and use the component and process defined in step 1.
    
    4. If the Install Component fails, ad a step of type Rollback,
    with the condition: Replace with previous version. Use the same
    component and process defined in step 1.
    
    5. Add an Environment with an Agent and the Component created in
    step 1.
    
    6. Create v1 and v2 versions for the Component.
    
    7. Deploy v1 to the Environment. When the Install step pops us
    the Manual Task, accept to make the process succeed.
    
    Result: Compliance is 1/1 and v1 appears deployed to the
    environment.
    
    8. Deploy v2 to the Environment. When the Install step pops us
    the Manual Task, Reject to make the process fail.
    
    9. When the Rollback step pops us the Manual Task, Reject to
    make the process fail.
    
    Results:
    
    At the end, the process fails globally. However the Compliance
    of the Environment is still 1/1 and it looks like v1 is
    deployed.
    
    In general, no assumption can be made about what is still
    actually deployed to the environment, so one would reasonably
    expect a Compliance of 0/1 and that v1 is no longer appearing in
    the Resource Inventory, since the failed installation of v2 and
    the failed rollback of v1 might have left the system in an
    unpredictable state.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All end users on all supported browsers.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Given an application process that first attempts to install  *
    * a                                                            *
    * Component and then launches a Rollback (replace with         *
    * previous                                                     *
    * version) if the installation fails, the compliance of the    *
    * environment remains unchanged if both the the installation   *
    * of                                                           *
    * the new version and the rollback to the previous version     *
    * fail.                                                        *
    *                                                              *
    * Steps to reproduce:                                          *
    *                                                              *
    * 1. Create a Component Comp1 with a Component process of type *
    * deployment. For simplicity, make the process contain just a  *
    * manual task, so you can easily control if the process        *
    * succeeds                                                     *
    * or fails.                                                    *
    *                                                              *
    * 2. Create an Application with an Application process and add *
    * the                                                          *
    * Component to the Application.                                *
    *                                                              *
    * 3. In the Application process, add a step of type Install    *
    * Component and use the component and process defined in step  *
    * 1.                                                           *
    *                                                              *
    * 4. If the Install Component fails, ad a step of type         *
    * Rollback,                                                    *
    * with the condition: Replace with previous version. Use the   *
    * same                                                         *
    * component and process defined in step 1.                     *
    *                                                              *
    * 5. Add an Environment with an Agent and the Component        *
    * created in                                                   *
    * step 1.                                                      *
    *                                                              *
    * 6. Create v1 and v2 versions for the Component.              *
    *                                                              *
    * 7. Deploy v1 to the Environment. When the Install step pops  *
    * us                                                           *
    * the Manual Task, accept to make the process succeed.         *
    *                                                              *
    * Result: Compliance is 1/1 and v1 appears deployed to the     *
    * environment.                                                 *
    *                                                              *
    * 8. Deploy v2 to the Environment. When the Install step pops  *
    * us                                                           *
    * the Manual Task, Reject to make the process fail.            *
    *                                                              *
    * 9. When the Rollback step pops us the Manual Task, Reject to *
    * make the process fail.                                       *
    *                                                              *
    * Results:                                                     *
    *                                                              *
    * At the end, the process fails globally. However the          *
    * Compliance                                                   *
    * of the Environment is still 1/1 and it looks like v1 is      *
    * deployed.                                                    *
    *                                                              *
    * In general, no assumption can be made about what is still    *
    * actually deployed to the environment, so one would           *
    * reasonably                                                   *
    * expect a Compliance of 0/1 and that v1 is no longer          *
    * appearing in                                                 *
    * the Resource Inventory, since the failed installation of v2  *
    * and                                                          *
    * the failed rollback of v1 might have left the system in an   *
    * unpredictable state.                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Fixed in version 7.0.4.2                                     *
    ****************************************************************
    

Problem conclusion

  • Fix is provided in IBM UrbanCode Deploy 7.0.4.2
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH11564

  • Reported component name

    UC DEPLOY

  • Reported component ID

    5725M5400

  • Reported release

    702

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-04-29

  • Closed date

    2019-12-03

  • Last modified date

    2019-12-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    UC DEPLOY

  • Fixed component ID

    5725M5400

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS4GSP","label":"IBM UrbanCode Deploy"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"702","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 December 2019