Scenario 5: Roll back a deployment

This scenario demonstrates how to roll back to the previous version, create a fix, and then deploy the fix to the live environment.

Note: To run this scenario, first set up the environment, as described in Prerequisites.

Scenario overview

In this scenario, there is a problem with the corporate website of Qlarius Health Insurance.

Let's assume that revision 2 of a file is currently deployed to the LIVE deployment area. The rollback operation redeploys revision 1 to LIVE. The fix creates revision 3, which is promoted and deployed up the GSL to LIVE and replaces revision 1.

  • The release manager rolls back the request from the LIVE deployment area, demotes the request to the PRE-PROD stage, and raises a change request to track the defect.

  • The development team lead primes a child task from the request.

  • A web developer fixes and delivers an item, and relates it to the task.

  • The team lead promotes and deploys the request and task to the SIT stage and deployment area, and then promotes them to the QA stage.

  • The QA manager deploys the request and task to the QA deployment area and then promotes them to the PRE-PROD stage.

  • The release manager deploys the request and task to the PRE-PROD deployment area, and then promotes and deploys them to the LIVE stage and production environment.

Back to top

Scenario information

  • The following stream is used: QLARIUS:MAINLINE_JAVA_STR

  • There is a division of responsibilities between the employees at the following stage transitions:

    • SIT to QA

    • QA to PRE-PROD

  • No build is required at any stage as only a text file is changed.

  • This scenario uses the following deployment areas:

    Stage Deployment area Deploy by Default enabled on area?
    DEV LCL_DEV_JMAIN_AREA01 Yes
    SIT LCL_SIT_JMAIN_AREA01 Yes
    QA LCL_QA_JMAIN_AREA01 No
    PRE‑PROD LCL_PP_JMAIN_AREA01 No
    LIVE LCL_LIVE_JMAIN_AREA01 No

For a list of the promotion and deployment privileges required by the users, see Scenario privileges.

Back to top

Scenario prerequisites

To run this scenario, you must complete Scenario 1: Basic request deployment.

Before you start this scenario, complete the following steps:

  1. Log in to the web client as any user.

  2. Switch to the stream QLARIUS:MAINLINE_JAVA_STR.

  3. In the Requests tab, select Catalog.

  4. Make a note of the ID of the enhancement request that was raised by Rita in Scenario 1 and used to deploy the changes. For the purposes of this scenario, it is called CR_X.

  5. In the Items tab, in the Dirs tab of the navigation pane, expand Qlarius Underwriter, and select the website folder. In the content pane, select the filter All Revisions.

  6. Make a note of the current and previous revisions of main.css.

  7. Log out of the web client.

Back to top

Run this scenario

The following table describes the tasks performed in this scenario.

Action Procedure
Rita, the release manager, investigates the problem with the corporate website of Qlarius Health Insurance and discovers a small defect in main.css, which is related to CR_X. Rita decides that the best solution is to immediately rollback to the previous version of main.css.

The release manager checks the deployment history.

Rita, the release manager, checks the deployment history to see if any requests were deployed to the LIVE deployment area after CR_X.

  1. Log in to the Dimensions CM web client as Rita.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR.

  3. Select the Deployment tab.

  4. To view information only for the current stream, do the following:

    1. In the navigation pane, click the filter button in the top right corner.

    2. Select Show Current Stream.

  5. Select the History tab, and in the navigation pane select the LIVE stage node.

  6. Expand the LIVE stage node and select the deployment area LCL_LIVE_JMAIN_AREA01.

  1. In the content pane, use filters to view only the requests that can be rolled back:

    1. From the Show list, select Requests.

    2. From the Occurred list, select the period when you performed scenario 1 (Today, in the last week, etc).

    3. Click the Filter button (to the left of the Show list).

    4. Select the Hide If Can't Roll Back option.

  1. In the content pane, check the history to see if any requests were deployed to the area after CR_X. The content pane should look similar to this:

  • QLARIUS_CR_X is the parent enhancement request.

  • QLARIUS_TASK_X is the child task that was primed from CR_X.

  • No other requests were deployed after CR_X.

The release manager rolls back the request from the LIVE deployment area.

Rita rolls back CR_X from the LIVE deployment area.

  1. In the History tab, select the request QLARIUS_CR_X.

  2. In the toolbar, click Roll Back. The Roll Back Area Versions dialog box opens.

  3. To roll back the request immediately, check that the option Perform Rollback of Area Versions is set to As Soon As Possible.

  4. In the Reason for Rollback field, enter Defect in main.css.

  5. In the Select Area Versions for Rolling Back Operations table, check that LCL_LIVE_JMAIN_AREA01 is selected. Click Next.

  6. Review the summary of the rollback activity and command, and click Finish.

  7. Clear Hide If Can't Roll Back.

  8. Check if the rollback succeeded. The content pane looks similar to this:

  9. The parent request and child task have been rolled back.

The release manager checks that the previous revision of the item was redeployed.

Rita checks that the rollback successfully redeployed the previous revision of main.css to the LIVE deployment area.

  1. In the My Current Project view, expand Deployment Areas > LIVE Stage > LCL_LIVE_JMAIN_AREA01 > Qlarius Underwriter > website.

  2. In the content pane, verify that the previous revision of main.css was deployed.

The release manager demotes the request to the PRE-PROD stage.

Rita demotes request CR_X to the PRE-PROD stage to indicate that it is no longer live.

  1. In the Deployment view, in the History tab, select the LCL_LIVE_JMAIN_AREA01 area in the navigation pane.

  2. In the content pane select CR_X and in the toolbar click Demote. The Demote dialog box opens.

  3. Check that the Demote Child Requests option is selected.

  4. Check that the To Stage is set to PRE-PROD. Click Next.

  5. To deploy the requests now, check that the Perform Deployments option is set to As Soon As Possible.

  6. In the Areas for Deployment field, select the LCL_PP_JMAIN_AREA01 deployment area. Click Next.

  7. Review the summary and click Finish.

  8. In the navigation pane, select the LIVE stage node.

  9. In the content pane, verify that request CR_X was successfully demoted from LIVE to PRE-PROD. The content pane looks similar to this:

The release manager raises a change request to track the defect.

Rita raises a change request to fix and track the defect.

  1. In the Requests tab, in the toolbar click New and select CR.

    The New Request dialog box opens.

  2. In the Title field, enter a title for the request, for example: Fix main.css.

  3. In the Detailed Description field, enter a description.

  4. In the Attributes tab, from the Severity/Priority list, select Really Urgent.

  5. Click Submit and click Close.

    The new request is added to Rita’s request inbox with the following ID: QLARIUS_CR_n. By default the request is at the DEV stage when it is raised.

The release manager delegates the request to the team lead.

Rita delegates the request to the development team lead, Ted, whose team is responsible for maintaining the website.

  1. Select the request, and in the toolbar click Delegate. The Delegate wizard opens.

  2. Check that the Capability option is set to Secondary.

  3. From the Role to Delegate list, select IMPLEMENTOR, and click Next.

  4. In the Candidate Users Authorized for Role Assignment list, select Ted, and click Add.

  5. The wizard closes automatically. Dimensions CM sends an email to Ted notifying him that a request has been added to his Request inbox.

The release manager actions the request to its next state.

Rita actions the request to its next state, UNDER WORK.

  1. Select the request, and in the toolbar select Action. The Action wizard opens.

  2. Check that the To Next State field is set to UNDER WORK.

  3. Click Finish and click OK. The request is removed from Rita’s request inbox.

  4. Log out of the web client.

The development team lead primes a child task from the request.

Ted reads the email, views the request in his Request inbox, and primes a child task from the request.

  1. Log in to the web client as Ted.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR.

  3. In the Requests tab, select the Request inbox and then the request that was raised by Rita.

  4. In the toolbar, click Prime, and select Task. The Prime Request dialog box opens.

  5. (Optional) Update the detailed description.

  6. Click Submit and click Close.

    The new child task is added to Ted’s request inbox with the following ID: QLARIUS_TASK_n. By default the child task is at the DEV stage when it is raised.

The development team lead delegates the task to a web developer.

Ted delegates the task to a web developer, Wendy.

  1. Select the child task and in the toolbar click Delegate. The Delegate wizard opens.

  2. Check that the Capability option is set to Secondary.

  3. From the Role to Delegate list, select IMPLEMENTOR and click Next.

  4. In the Candidate Users Authorized for Role Assignment list, select Wendy, and click Add.

The wizard closes automatically. Dimensions CM sends an email to Wendy notifying her that a task has been added to her Request inbox.

The development team lead actions the task to its next state.

Ted actions the task to its next state, UNDER WORK.

  1. Select the child task, and in the toolbar select Action. The Action wizard opens.

  2. Check that the To Next State field is set to UNDER WORK.

  3. Click Finish and click OK. The child task is removed from Ted’s request inbox.

  4. Log out of the web client.

The web developer updates their work area from the stream.

Wendy reads the email, checks her Request inbox, and updates her work area from the stream to make sure she has the latest version of main.css.

  1. Log in to the web client as Wendy.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR

  3. Check that Wendy’s work area is correct (see the prerequisites at the start of Scenario 1).

  4. In the Items tab, in the Dirs tab of the navigation pane, expand Qlarius Underwriter and select website.

  5. In the toolbar, click Update. The Update from Stream wizard opens.

  6. Click Next.

  7. Click Finish and then Close. Wendy’s work area is updated.

The web developer modifies the item. In Wendy’s local work area on your machine edit main.css. For the purpose of this scenario make a minor edit, for example, add a comment to the top of the file.

The web developer delivers the item and relates it to the task.

Wendy delivers the modified file to the stream and relates it to the task.

  1. In the Items tab, in the Dirs tab of the navigation pane, select website.

  2. In the toolbar click Deliver. The Deliver to Stream wizard opens.

  3. Check that the Modifications option is selected.

  4. Click Next.

  5. Verify that main.css is selected and click Next.

  6. In the Relate to Request(s) field, click Select. The Select Request dialog box opens.

  7. From the Product Name list, select QLARIUS.

  8. From the Type Name list, select TASK.

  9. Click Next.

  10. Select the task that is delegated to Wendy and click Finish.

  11. In the Deliver to Stream wizard, click Finish and then Close.

  12. Make a note of the latest revision of main.css (see the content pane).

The developer verifies that the item was automatically deployed to the DEV areas.

Deploy by Default is enabled for the DEV area, so when Wendy delivered the item it was automatically deployed. She checks that the item was successfully deployed.

  1. Select the Deployment view, and check that only the current stream is displayed.

  2. Select the History tab, and in the navigation pane select the DEV stage node.

  3. In the content pane, verify that main.css was successfully deployed to the DEV deployment area LCL_DEV_JMAIN_AREA01.

The Event Result column should display Succeeded.

The web developer delegates the task to the team lead for peer review.

Wendy delegates the child task to Ted, her team lead, for peer review.

  1. In the Requests tab, select the Request inbox.

  2. Select the child task, and in the toolbar click Delegate. The Delegate wizard opens.

  3. Check that the Capability option is set to Secondary.

  4. From the Role to Delegate list, select REVIEWER and click Next.

  5. In the Candidate Users Authorized for Role Assignment list, select Ted, and click Add.

The wizard closes automatically. Dimensions CM sends an email to Ted notifying him that a task has been added to his Request inbox.

The web developer actions the task to its next state.

Wendy actions the child task to its next state, PEER REVIEW.

  1. Select the child task, and in the toolbar select Action. The Action wizard opens.

  2. In the New State section, check that the To Next State field is set to PEER REVIEW.

  3. Click Next.

  4. In the Actual Completed Date field, enter a date.

  5. In the Actual Development Effort (hours) field, enter a number.

  6. Click Finish. The task is removed from Wendy’s Request inbox.

  7. Log out of the web client.

The team lead does a peer review and actions the task to its final state.

Ted has read his email, seen the task in his Request inbox, done a peer review of the file that Wendy modified, and is satisfied with the changes that she made. He actions the task to its final state, CLOSED.

  1. Log in to the web client as Ted.

  2. In the Requests tab, select the Request inbox.

  3. Select the child task, and in the toolbar select Action. The Action wizard opens.

  4. Check that the To Next State field is set to CLOSED.

  5. Click Finish and click OK. The task is removed from Ted’s request inbox.

The team lead promotes and deploys the request and task to the SIT stage.

To perform system integration testing, Ted promotes and deploys the parent request with the task to the SIT stage and its associated deployment area. Deploy by default is enabled for the SIT area.

  1. Select the request.

  2. In the toolbar, click Promote. The Promote wizard opens.

  3. Check that the Promote Child Requests option is selected.

  4. In the Next stage field, check that SIT is selected. Click Next.

  5. To deploy now, check that the option Perform Deployments is set to As Soon As Possible.

  6. In the Areas for Deployment field, check that the LCL_SIT_JMAIN_AREA01 deployment area is selected. Click Next.

  7. Review the summary and click Finish.

The team lead verifies that the promotion and deployment were successful.

Ted verifies that the promotion and deployment operations were successful.

  1. Select the Deployment view, and check that only the current stream is displayed.

  2. Check that the History tab is selected.

  3. In the navigation pane, select the SIT stage node.

  4. In the content pane, verify that the request was promoted successfully from DEV to SIT. The Event Result column should display Succeeded.

  5. In the navigation pane, expand the SIT stage node and select the LCL_SIT_JMAIN_AREA01 deployment area.

  6. In the content pane, verify that the request and task were deployed to the SIT deployment area.

Ted performs system integration testing.
The team lead promotes the request and task to the QA stage.

System integration testing has been completed successfully, so Ted promotes the request and task to the QA stage. Deploy by Default is not enabled, so the request and task cannot be automatically deployed to the QA deployment area.

  1. In the History tab, select the request.

  2. In the toolbar click Promote. The Promote wizard opens.

  3. Check that the Promote Child Requests option is selected.

  4. In the Next stage field, check that QA is selected. Click Next.

  5. Because Deploy by Default is not enabled, no deploy options are available. Click Next.

  6. Review the summary and click Finish.

  7. In the navigation pane, select the QA stage node.

  8. In the content pane, verify that the request was promoted successfully from SIT to QA.

The team lead actions the request to its next state.

Ted actions the parent request to its next lifecycle state, IN TEST, so that the QA team can perform testing.

  1. In the History tab, select the request.

  2. In the toolbar, click Action. The Action wizard opens.

  3. In the New State section, check that the To Next State field is set to IN TEST.

  4. Click Next.

  5. In the Details of Solution Given field, enter Fixed defect in main.css updated.

  6. Click Finish.

    Dimensions CM sends an email to Tao, the QA manager, notifying her that a task has been added to his Request inbox.

  7. Log out of the web client.

The QA manager deploys the request and task to the QA deployment area.

Tao, the QA manager, reads the email and checks the Pending tab for the QA stage on the Deployment view. Tao sees that the request is ready to be deployed to QA.

  1. Log in to the web client as Tao.

  2. Switch to the following stream: QLARIUS:MAINLINE_JAVA_STR.

  3. In the Deployment view, check that only the current stream is displayed.

  4. Select the Pending tab.

  5. In the navigation pane, select the QA stage node.

  6. In the content pane, from the Show list, select Requests.

  7. Select the request, and in the toolbar click Deploy. The Deploy wizard opens.

  8. Check that the Deploy Child Requests option is selected.

  9. Check that the Deploy Stage is set to QA. Click Next.

  10. To deploy the request and child task now, check that the Perform Deployments option is set to As Soon As Possible.

  11. In the Areas for Deployment field, check that the LCL_QA_JMAIN_AREA01 deployment area is selected. Click Next.

  12. Review the summary and click Finish.

  13. Select the History tab.

  14. In the navigation pane, expand the QA stage node and select the LCL_QA_JMAIN_AREA01 deployment area.

  15. In the content pane, verify that the request and child task were successfully deployed to the QA area.

The QA team performs their tests.

The QA manager promotes the request and task to the PRE- PROD stage.

QA testing has been completed successfully, so Tao promotes the request and task to the PRE-PROD stage. Deploy by Default is not enabled, so the request and task cannot be automatically deployed to the PRE-PROD deployment area.

  1. In the History tab, select the request.

  2. In the toolbar click Promote. The Promote wizard opens.

  3. Check that the Promote Child Requests option is selected.

  4. In the Next stage field, check that PRE-PROD is selected. Click Next.

  5. Because Deploy by Default is not enabled, no deploy options are available. Click Next.

  6. Review the summary and click Finish.

  7. In the navigation pane, select the PRE-PROD stage node.

  8. In the content pane, verify that the request was promoted successfully from QA to PRE-PROD.

The QA manager actions the request to its final lifecycle state.

Tao closes the request that is tracking the defect.

  1. In the History tab, select the request.

  2. In the toolbar, click Action. The Action wizard opens.

  3. Check that the To Next State field is set to CLOSED.

  4. Click Finish and click OK.

  5. Log out of the web client.

The release manager deploys the request and task to the PRE-PROD deployment area.

Rita, the release manager, checks the Pending tab for the PRE-PROD stage on the Deployment view. Rita sees that the request is ready to be deployed to PRE-PROD.

  1. Log in to the web client as Rita.

  2. In the Deployment view, check that only the current stream is displayed.

  3. Select the Pending tab.

  4. In the navigation pane, select the PRE-PROD stage node.

  5. In the content pane, from the Show list, select Requests.

  6. Select the request, and in the toolbar click Deploy. The Deploy wizard opens.

  7. Check that the Deploy Child Requests option is selected.

  8. Check that the Deploy Stage is set to PRE-PROD. Click Next.

  9. To deploy the request and child task now, check that the Perform Deployments option is set to As Soon As Possible.

  10. In the Areas for Deployment field, check that the LCL_PP_JMAIN_AREA01 deployment area is selected. Click Next.

  11. Review the summary of the deployment activity and command. Click Finish and then Close.

  12. Select the History tab.

  13. In the navigation pane, in the PRE-PROD stage node, select the LCL_PP_JMAIN_AREA01 deployment area.

  14. In the content pane, verify that the request and child task were successfully deployed to the PRE-PROD area.

The release team performs their tests.

The release manager promotes the request and task to the LIVE stage.

Rita promotes the request and task to the LIVE stage. Deploy by Default is not enabled for the LIVE deployment area.

  1. In the History tab, with the PRE-PROD stage node selected in the navigation pane, select the request in the content pane.

  2. In the toolbar, click Promote. The Promote wizard opens.

  3. Check that the Promote Child Requests option is selected.

  4. In the Next stage field, check that LIVE is selected. Click Next.

  5. Rita has the privilege to deploy at the same time as the promotion but chooses not to select any deployment areas. Click Next.

  6. Review the summary of the promotion activity and command, and click Finish.

  7. In the navigation pane, select the LIVE stage node.

  8. In the content pane, verify that the request was promoted successfully from PRE-PROD to LIVE.

The release manager deploys the request and task to the LIVE deployment area.

Let’s assume it is now the regular nightly maintenance period when the LIVE deployment area is offline. Rita deploys the request and task to the LIVE deployment area.

  1. In the Pending tab, select the request, and in the toolbar click Deploy. The Deploy wizard opens.

  2. Check that the Deploy Child Requests option is selected.

  3. Check that the Deploy Stage is set to LIVE. Click Next.

  4. To deploy the request and child task now, check that the Perform Deployments option is set to As Soon As Possible.

  5. In the Areas for Deployment field, check that the LCL_LIVE_JMAIN_AREA01 deployment area is selected. Click Next.

  6. Review the summary. Click Finish and then Close.

The release manager verifies that the deployment operation was successful.

Rita verifies that the deployment operation was successful.

  1. Select the History tab.

  2. In the navigation pane, expand the LIVE stage node and select the LCL_LIVE_JMAIN_AREA01 deployment area.

  3. In the content pane, verify that the request and task were successfully deployed to the LIVE deployment area.

Tip: In the content pane, you can see the request that was raised to fix the defect and request CR_X, which you rolled back at the start of this scenario.

The release manager verifies that the fix was deployed.

Rita verifies that the latest revision of main.css was deployed to the LIVE area.

  1. In the My Current Project view, in the navigation pane, expand Deployment Areas > LIVE Stage > LCL_LIVE_JMAIN_AREA01 > Qlarius Underwriter > website

  2. In the content pane, verify that the latest revision of main.css was deployed. This revision has replaced the one that was redeployed by the rollback operation at the start of this scenario.

End of scenario

Back to top

Scenario privileges

The following tables list the promotion and deployment privileges required by each user in the scenario.

Promotion privilege Privilege owner Required at these stages

REQUEST_PROMOTE_NEXTSTAGE ITEM_PROMOTE_NEXTSTAGE

Team lead DEV
SIT
QA Manager QA
Release Manager PRE-PROD
Deployment privilege Privilege owner Required for these areas
The DEV and SIT areas are Deploy by Default areas, and no deployment privileges are required.
REQUEST_DEPLOY
ITEM_DEPLOY
QA Manager LCL_QA_JMAIN_AREA01
Release Manager LCL_PP_JMAIN_AREA01
LCL_LIVE_JMAIN_AREA01

REQUEST_ROLLBACK_ANYSTAGE
ITEM_ROLLBACK_ANYSTAGE

Note: These privileges are used only for rolling back area versions and will change in a future release.

Release Manager LCL_PP_JMAIN_AREA01
LCL_LIVE_JMAIN_AREA01
REQUEST_DEMOTE_ANYSTAGE
ITEM_DEMOTE_ANYSTAGE
Release Manager LCL_PP_JMAIN_AREA01
LCL_LIVE_JMAIN_AREA01

Back to top