Upgrade tenants

This topic describes the steps for upgrading the TotalAgility tenants from version 7.5.0 or (7.5.X.X) to version 7.11.0.

When upgrading a tenant in on-premise multi-tenancy which is installed with the Integration Server, you must stop all the services; otherwise, the tenant upgrade fails.

You can perform capture data migration in on-premise multi-tenancy. The capture data migration process is performed when upgrading a tenant from previous versions of TotalAgility to 7.8.0. The migration process of each tenant database is done from the Tenant Management System. The migration process can migrate only consistent data. For any reason (due to custom scripts or TotalAgility failures), if some folders in the database are in not in a consistent state, these folders cannot be migrated and appear as broken folders.

If any broken root folders are found during tenant upgrade, a "Complete with Warnings" is displayed for that tenant's status. You can review the warnings and associated broken root folder IDs. You can acknowledge each tenant individually or acknowledge all tenants at once. Acknowledging a tenant marks the tenant's upgrade as complete.

Perform the following steps to upgrade a tenant:

  1. On the header bar of your Tenant Management System page, click Tenants > Upgrade.

    The Upgrade Tenants page appears.

    Before upgrading, you must backup all the databases. This includes Master Tenants, Data Center Tenants and each tenant specific database.

  2. On the Upgrade Actions list, select the environment to upgrade.
    • Additional Environments: The upgrade scripts run on all the additional environments for all tenants.

    • Production Environments: The upgrade scripts run on all the Production environments for all tenants.

    • All Environments: The upgrade scripts run on all the additional environments and production environments for all tenants.

      There can be multiple development environments per tenant.

    Upon confirming to upgrade, the system runs the upgrade scripts on the selected environment.

  3. Click Refresh.

    • The Result column shows the data migration upgrade progress visualization for the tenants, such as, Inprogress (35%), ETA :0h 25min for tenant A. After the capture data migration process, the Result column displays the tenant upgrade status as one of the following:

      • Completed: If the upgrade is successful.

      • Failed: If the upgrade fails

      • Completed with Warnings: If any broken folders are found. You must view the warnings and fix them, otherwise, the tenant is not enabled.

    • The migration process can migrate only consistent data. If for some reason (due to custom scripts or TotalAgility failures) a few folders in the database are in not in a consistent state, these folders cannot be migrated and appear as broken folders. During tenant upgrade, if any broken folders are found, the upgrade status is changed to "Completed with Warnings" and the Review Warnings tab is enabled. This status does not allow to enable the tenant until the warnings are not explicitly reviewed.

  4. To view the warnings and fix them, click the Review Warnings tab.

    This tab is only enabled if some root folders are found broken. The names of the tenants and the broken root folder IDs are displayed in the Review Warnings dialog box. To mark the tenant upgrade as "Completed", you must do either of the following to acknowledge tenants.

    • To acknowledge an individual tenant, select a tenant and click Acknowledge. The upgrade status of the selected tenant is marked as "Completed" and the tenant is removed from the list. If it was the last tenant with broken folders, the Review Warnings dialog box is closed.

    • To acknowledge all tenants at one go, click Acknowledge for All. The upgrade status of all tenants is marked as succeeded and the Review Warnings dialog box is closed.

  5. Click Close.
  6. Ensure that the system is working as expected. For example, you can log in and check if the system is running properly.

Zero downtime upgrade process

With zero downtime upgrade, you can upgrade TotalAgility by introducing a newer version of your application to production. During the upgrade process, the application is never completely down or in an unstable state and the system need not be down until all tenants are upgraded.

In the non-zero downtime upgrade process, you must do the following:

  1. Close the currently running application for all tenants.
  2. Install the new version.
  3. Upgrade all the tenant databases.
  4. Start the new version of the application after all the tenants are upgraded.

    This results in the application being down for a while.

  5. Manually run 7.8.0 to 7.9.0 conversion scripts (pre-upgrade) on Master Tenants and DataCenter Tenants databases, if any.
  6. Upgrade the current (7.8.0) Tenant Management System Azure deployment to the latest version (7.9.0).
  7. Deploy the latest version (7.9) Azure datacenter into staging deployment. You must deploy without running the worker task roles. For this, you must set the "IgnoreWorkerTasks" setting in the Azure Configuration.cscfg file to true. This setting when set to true will not be running any worker tasks.

    When you use a staging deployment that users cannot access, there is no need to disable the tenant Designer as the production will still be running 7.8.0.

  8. Logon to Tenant Management System and navigate to the Datacenter screen and update the Datacenter with the new staging datacenter details in the Live Host Name and Dev Host Name fields. The staging datacenter hostname can be derived from Azure portal similar to how you get it from production in current deployment.
  9. Navigate to the Upgrade Tenants page, select single tenant, multiple tenants or all tenants to upgrade and click Convert DB- Pre Upgrade to pre upgrade the database scripts.
    This will upgrade the tenant databases which will be backward compatible. The tenant will be Inactive during this upgrade. Make sure the upgrade is successful and the tenant is working fine, that is, the tenant DB is upgraded and running the old version binaries.
  10. Revert the Datacenter via the datacenter screen in the Tenant Management System with the original production datacenter details.
    Note: You can only start doing this after all the tenant databases are upgraded.
  11. From the Azure portal, you can now change the "IgnoreWorkerTasks" setting in the configuration file to false and swap the staging into production.
    The Tenant Management System and datacenter databases are upgraded to latest version (7.9) which is backward compatible.
  12. Make sure the tenant is working fine. If not, swap back the deployment and restore databases to previously backed up state.
  13. To run the post upgrade database scripts to cleanup the old data, navigate to the Upgrade Tenants page, select single tenant, multiple tenants or all tenants to upgrade and click Convert DB- Post Upgrade.
    The postscripts are executed. Each tenant will be inactive during its upgrade.
    It is not be possible to upgrade to the next version of TotalAgility until the Post Upgrade DB scripts are executed.
  14. Manually run the post-upgrade scripts for Master Tenants and DataCenter Tenants databases.

    The tenants are now upgraded to latest version (7.9).

Example of upgrading with zero downtime

This example describes the process of upgrading 7.8 to 7.9 with zero downtime on Azure via Tenant Management System.

  1. Manually run 7.8 to 7.9 conversion scripts (pre-upgrade) on Master Tenants and DataCenter Tenants databases if any.
  2. Upgrade the current 7.8 Tenant Management System Azure deployment to the latest version of 7.9.
  3. Deploy the latest version (7.9) Azure data center into staging deployment. You must deploy without running the worker task roles. Therefore, you must set the "IgnoreWorkerTasks" setting in the Azure Configuration.cscfg file to true to avoid running any worker tasks.

    When you use a staging deployment that users cannot access, you must not disable the tenant Designer as the production will still be running 7.8.0.

  4. Logon to Tenant Management System and navigate to the Data center screen and update the data center with the new staging data center details in the Live Host Name and Dev Host Name fields. The staging data center hostname can be derived from the Azure portal like you get it from production in the current deployment.
  5. Navigate to the Upgrade Tenants page, select single tenant, multiple tenants, or all tenants to upgrade, and click Convert DB-Pre Upgrade to pre-upgrade the database scripts. The tenant databases are upgraded and backward compatible. The tenant will be inactive during this upgrade. Make sure the upgrade is successful and the tenant is working fine, that is, the tenant database is upgraded and running the old version binaries.
  6. Revert the Datacenter via the datacenter screen in the Tenant Management System with the original production datacenter details.

    You can only start doing this reverting after all the tenant databases are upgraded.

  7. From the Azure portal, you can now change the "IgnoreWorkerTasks" setting in the configuration file to false and swap the staging into with production.

    The Tenant Management System and datacenter databases are upgraded to the latest version (7.9) which is backward compatible.

  8. Make sure the tenant is working fine. If not, swap back the deployment and restore databases to the previously backed up state.

Disable tenants for upgrade

You can disable the tenants before upgrading them.

  1. On the Disable for Upgrade list, select the environment you want to upgrade:

    • Additional Environments
    • Production Environments
    • All Environments

    The Disable All Additional Environments and Disable All Productions options are available only if you select a tenant.