Upgrade Service Module

======================

Goal

The goal of this module is to automate platform and module update process as much as possible. In addition, this module implements diagnostic and fix-it scripting framework to improve accuracy of the software upgrade.

Scope

The upgrade service module, at this point, consists of source code and several workbench actions. Each of these actions is numbered and must be run in a sequence. Through these actions, the upgrade service module will perform backup of the Partner system as well as upgrade from a stable/point release to the next version/point release. It will also run pre and post upgrade diagnostic scripts and fix-it scripts.

The upgrade service module assumes that a client site is running a stable version of the code and upgrades it to the next stable version. For example, the current UpgradeService module assums that the client site is running stable version 4.4.8 (stable 4.4.8 at this time). This module was designed to upgrade an install that is 4.4.8 and take it all the way to the current stable release, version 4.16 in this case. Thus, upgrading from 4.4.8 to 4.16 will require the install be no lower than version 4.4.8 of Partner code.

Design

The design of this module is formulated around the concept that one Upgrade Service module to upgrade between two specific major releases. This means, the Upgrade Service module employed to upgrade release 4.4.8 to release 4.4.10 contains code and scripts designed specific to this upgrade.

The point releases are handled through coding framework. For each of the Five workbench actions running the scripts, the design requires placing of the script containing folder in a folder named after a point release. The scripts will be placed by point release they belong to (example: 4.4.10.2, 4.4.10.4 etc.) and run automatically by the increasing order of the point releases.

Example: When the workbench action "Run pre-upgrade diagnostics" is launched, all the scripts placed in the folder "system/scripts/Before Upgrade/Diagnostic/4.4.10.2/AMP" will be run first before the system runs the scripts in the "system/scripts/Before Upgrade/Diagnostic/4.4.10.4/Staker" folder since point release folder "4.4.10.2" is higher in the sort order than the "4.4.10.4" folder. The state of the run is not save at this time. But, will be implemented in the next version of this module.

Pre upgrade diagnostic

Figure #1: Pre upgrade diagnostic scripts within the "4.4.10.4/Inspection" folder
will be run after it runs scripts in the 4.4.10 and 4.4.10.0 folder.

Pre upgrade Fixit

Figure #2: Pre upgrade diagnostic scripts. It maintains
the point releases' lower-to-higher sort order to run the scripts.

Post upgrade diagnostic

Figure #3: Post upgrade diagnostic and fixit folders

Post upgrade diagnostic

Figure #4: Post upgrade diagnostic scripts

Usage

The primary users of this module are the Partner production team, Milsoft FE production/support team, and third party vendors. Since use of workbench application requires certain level of expertise and know-how of the Partner system, this is not an end-user tool and any end-user use of this module NOT recommended. Using a list of workbench actions in a sequence, the upgrade process of the Partner system can be automated. These actions perform various crucial upgrade related tasks such as backup, checkup, and configuration changes. Since these actions are script driven, all of the upgrade tasks can be fully automated.