Upgrade a CF application (without downtime)

The procedure to upgrade an application as described in "Upgrade a CF application (with downtime)" involves downtime, since the customers will not be able to access the application during the upgrade. In order to upgrade your application without any downtime, refer the section below.

Example scenario

A user wants to upgrade the "robotcontrol" application from version 1.0.0 to version 2.0.0.

Prerequisites

  • The application that is currently in use must already be deployed and registered.

Upgrade a CF application (without downtime)

NOTE

The following procedure is also applicable if:

  • Either one or both of the application versions have a requirement for app credentials

  • The application versions have different set of roles assigned

In order to upgrade an application to a new version, proceed with the following steps:

  1. In the "My Applications" screen, select the new version of the application available for upgrade.

  2. Click "Deployment" tab and deploy the application. For information on deploying the application, refer to the chapter Deploy or Undeploy CF applications

    While upgrading an application, deploy the new version in same Space "appname" with "-green" added to the component name.

    • For automated deployment, this is done automatically

    • For manual deployment, update component names in manifest (and also routes if they are not set to random)

    NOTE

    Once the application is deployed, ensure that the each component must have the correct environment variables in the manifest file.

  3. Click the "Versions" tab and click "Register to Test".

    A new version of the application needs to be tested before it is made available. Once you ensure that the application version is working fine, you can start using the new version of the application.

    132443556875.png

    The status of the registration can also be viewed in the "Versions" screen.

    123385783563.png

    NOTE

    Once the application is registered for test, an applicaton with appname(green) will be available next to the current version and can be tested on MindSphere Launchpad.

  4. To confirm the update, click "Confirm Update". In the confirmation dialog, click "Yes" to proceed.

    If you do not wish to proceed with the upgrade, click "Cancel Update" after which you will be able to view the deregistration stages.

    136286830347.png

    After confirming the update, you can view the status of each stage of the update in the "Versions" screen.

    133586360843.png

    Gives information of user movement.

    After the upgrade is completed successfully, the status of the application "robotcontrol 2.0.0" is changed to "Deployed". The previously used version of the application "robotcontrol 1.0.0" is removed from Cloud Foundry and the status is changed to "Assigned".

    After successful upgrade, the customers of the previous version of the application "robotcontrol 1.0.0" are automatically assigned to the new version "robotcontrol 2.0.0".

NOTE

  • It is only possible to use a single version for an application at a time. Two versions of the same application cannot be used simultaneously.

  • It is not recommended to initiate auto-deployment for the same application in different windows simultaneously, since it might create inconsistencies in the app and it might not be usable.

  • If more than three versions of the same application are available for your tenant and two versions of this application are in the "Deployed" state, then auto-deployment option for all the versions starting from the third version of this app will be disabled. In such a case, please proceed with manual deployment or contact the support team. Also, the first version of the application has to be "Deployed" and "Registered" in order to deploy the second version of the application.

  • If two versions of an application have different role descriptions defined, then the role description of the second version of the application will be reflected in "Settings" only after the version upgrade process is successful.

  • If either versions of an application has a requirement for app credentials, then by default the provisioning of the IoT tenants to the next version will take place automatically during version upgrade.

    However, the IoT tenants can deny this by clicking on the "Deny" button in the email received. If this button is clicked, then the previous application version will not be activated, instead the application will be inaccessible by the IoT tenant users. Also, an operator is notified about the denial of the provisioning via an email and UI notification under Events in the "Message" tab of "Inbox".

Downgrade a CF application

In order to activate the previous version of an application or to downgrade the application version, follow the steps below:

  1. In the "My Applications" window, select the application for which you want to activate the previous version.

  2. Click the "Versions" tab and click "Register to Test", and click "Confirm Reactivate". In the confirmation dialog, click "Yes" to proceed with the downgrade.

    During the downgrade process, the status of each stage of the downgrade can also be viewed.

    132448228619.png

The application is downgraded to the previous version "robotcontrol 1.0.0".

NOTE

Consider that there are three versions of an application 1.0, 2.0, and 3.0, and currently version 2.0 is in use. In order to be able to re-activate from 2.0 to the previous version 1.0, you should re-deploy the version 1.0 ( (if it is in the "Assigned" state) and proceed with the re-activation.