Upgrading to Version 10.9

From AgileApps Support Wiki

Following Upgrade options are available:

  • Version 10.5 to Version 10.9
  • Version 10.6 to Version 10.9
  • Version 10.7 to Version 10.9
  • Version 10.8 to Version 10.9

Upgrade program

AgileApps Cloud uses an upgrade program to update from an existing application server to the target application server.

Notepad.png

Note:

  • 10.5, 10.6, 10.7, and 10.8 are the existing application servers.
  • 10.9 is the target application server.

Highlights

  • The upgrade program migrates the configuration changes from an existing application server to the target application server. Changes include the files like networking.properties, custom_wrapper.conf, log4j.properties, quartz.properties and so on. After the upgrade is complete, a report of the upgrade program is available at {install_dir}/aal-upgrade/upgrade/SummaryReport.txt.
  • The upgrade program takes a backup of the primary databases (db1000, db892085391, db766224774 & relationals) and tenant databases. These databases can be restored if an existing application server needs to be restarted.
  • The program upgrades the primary database and tenant’s database to the target installation by running the required SQL patches.
  • The upgrade program migrates the custom JARs from an existing application server to the target application server by reading the ‘_custom_libs’ property available at {install_dir}/aal-upgrade/upgrade/upgrade_supported_configurations.txt file.

Notepad.png

Note:

  • This upgrade utility program must be run on every application server and web server.
  • This upgrade utility program does not support the Windows operating system version of the AgileApps Cloud.

Prerequisites:

  • Set a minimum value of 512 MB of RAM or more for max_allowed_packet property in my.cnf or my.cfg (MySQL configuration files) under [client], [mysqld] & [mysqldump] sections. If you are installing any package through Packages using AgileApps Cloud application, you must have at least 512 MB of RAM or ten times the size of package.
  • Verify the privileges to access the source database with the username, password, host-name and port as mentioned in the com.softwareag.catalina.resource.pid-agileappsRN.properties file under the target application server. Use the following command to ensure that you have the database access:
mysqldump -u<DB_USER_NAME> -p<DB_PASSWORD> -h<DB_SERVER_HOST_NAME> -P<DB_PORT> db<DB_NUMBER> > db<DB_NUMBER>.sql
For example: mysqldump -uthomas -pthomas-hvmaalind05 -P3306 db1108948326 > db1108948326.sql
  • You must have read, write and execute permissions to the target installation directory {install_dir}.

Upgrading to 10.9

  1. Stop the existing application server.
  2. Install the 10.9 application server using SoftwareAG installer. For more information, see webMethods 10.1 Installation documents available on Empower.

Warn.png

Important:

  • Do not run the 10.9 application server after installation.
  • After the installation, the 10.9 application server exists in parallel with the existing application server.
  • Do not initiate the upgrade program.
3. Create a new folder aal-upgrade in the installed 10.9 root directory {install_dir}.
4. Extract upgrade.tar.gz under {install_dir}/aal-upgrade directory. The upgrade.tar.gz is available at {install_dir}/AgileApps/upgrade. The extracted folder consists of three files upgrade.sh, upgrade.jar, upgrade_supported_configurations.txt, and one folder db-upgrade-patches.
5. Provide executable permission to upgrade.sh file.
6. Open the upgrade.sh file available at {install_dir}/aal-upgrade/upgrade.
7. Replace the value for the libs property in upgrade.sh.
Existing value:
libs="../../AgileApps/lib/commons-cli-1.2.jar:../../AgileApps/lib/commons-lang-2.4.jar:../../AgileApps/lib/log4j-1.2.15.jar:../../AgileApps/lib/pdfbox-1.6.0.jar:../../AgileApps/lib/dom4j-1.6.1.jar:../../AgileApps/lib/jaxen-1.1.1.jar:../../AgileApps/lib/commons-io-1.4.jar:../../profiles/LJP/dropins/mysql-connector-java-5.1.24-bin.jar"
Replaced value:
libs="../../AgileApps/lib/commons-cli-1.2.jar:../../AgileApps/lib/commons-lang-2.4.jar:../../AgileApps/lib/log4j-1.2.15.jar:../../AgileApps/lib/pdfbox-1.6.0.jar:../../AgileApps/lib/dom4j-1.6.1.jar:../../AgileApps/lib/jaxen-1.1.1.jar:../../AgileApps/lib/commons-io-1.4.jar:../../profiles/LJP/dropins/*"
8. Run the upgrade.sh file with mandatory parameters.
Mandatory parameters
A. --aal-path - provide the folder path of the existing application server.
Example: --aal-path=/{install_dir}/aal-lab/AgileApps10.6
B. --aal-version - provide the version number of the target application server.
Example: --aal-version=10.9

Notepad.png

Note: If the aal-version number and the target application server number given in step 2 are not same, errors can occur.

Non-mandatory parameters
A. --aal-db-backup-folder {-BDF} - provide a path for database backup of all relationals and tenants.
Example: --aal-db-backup-folder=/{install_dir}/aal-lab/AgileApps10.6_DB_Backup
B. --remote-source {-RS} - provide this option if the source is installed on a remote machine. If you provide the RS parameter, then the upgrade program ignores the --aal-path from the mandatory parameter and a new source path is set.
Example: --remote-source=no|yes or --remote-source (~ yes)

Notepad.png

Note:

  • If the upgrade program finds RS parameter in the command then the upgrade program copies the required and related configurations from the remote machine to the local machine and upgrades the server.
  • The upgrade program uses Linux SCP command for connecting and transferring the source configurations. This requires you to provide the user credentials to access the remote machine.
C. --enable-quartz {-Q} - This parameter enables quartz configuration in the target application server. This parameter includes the Import and Export configurations also. Do not provide this parameter, if you are using a different server or node for running the Quartz configuration.
Example: --enable-quartz=no|yes or --enable-quartz (~ yes)
D. --ignore-db-upgrade {-IDU} - This parameter is for the environment with multiple nodes or servers connected to a centralized database server. Disable the database upgrade for target application server.
Example: --ignore-db-upgrade=no|yes or --ignore-db-upgrade (~ yes)
Note:
  • Provide the mandatory parameter’s value separated by equal (=) character. For example, --aal-version=10.8
  • Provide the non-mandatory parameters with values ‘yes’ or ‘no’ separated by equal (=) character. This Note is not valid for --aal-db-backup-folder {-BDF}.
  • The values ‘yes’ and ‘no’ are not case sensitive.
  • Syntax: {install_dir}/aal-upgrade/upgrade.sh mandatory-param1=val1 mandatory-param2=val2 mandatory-param3=val3 non-mandatory-param4 non-mandatory-param5 non-mandatory-param6. For example: upgrade.sh --aal-path=/home/aal-lab/AgileApps10.6 --aal-version=10.8 --aal-db-backup-folder=/home/aal-lab/AgileApps10.6_DB_Backup
  • In case of errors, look at the log messages available at upgrade.log file under aal-upgrade/upgrade/logs.

Warn.png

Important:

  • The upgrade utility program does not change the docs directory and temp directory paths of the target application server and points to the paths of the existing application server.
  • To change the path of docs directory and temp directory to a different location, go to Configure Service Settings.
9. Copy the keystoreFile file from the existing application server to the target application server. The keystoreFile property is available at <EXISTING_10.6_INSTALL_DIR>/profiles/LJP/configuration/com.softwareag.platform.config.propsloader/com.softwareag.catalina.connector.https.pid-8284.properties.
10. Copy the @secure.keystorePass value from the existing application server to the target application server. The @secure.keystorePass value is available at <EXISTING_10.6_INSTALL _DIR>/profiles/LJP/configuration/com.softwareag.platform.config.propsloader/com.softwareag.catalina.connector.https.pid-8284.properties.
11. Start the 10.9 application server available at {install_dir}/profiles/LJP/bin/startup.sh
12. In case of errors, check:
{install_dir}/profiles/LJP/logs/wrapper.log
{install_dir}/profiles/LJP/logs/relationals.log
13. For custom configuration, proceed to Configuring the Application Server.
Considerations
  • This upgrade program reads the custom libraries like third-party JARs from the upgrade_supported_configurations.txt file available at {install_dir}/aal-upgrade/upgrade folder.
  • If you want to copy any custom library (jars) file from the existing application server to the target application server, then update _custom_libs property. If there are multiple jars, separate the jars with a comma. For example: _custom_libs=docx4j-3.3.0.jar,el-api.jar,ehcache-2.10.2.jar.
  • If --remote-source option is provided in the command, you must have the permission to copy the configuration files from the existing application server present on the remote machine.
  • This program is designed to upgrade a single AgileApps server or multiple AgileApps servers (web servers or application servers) in a cluster which are pointing to the single centralized database (MySQL) server. While running the upgrade program, ensure that you always point to the source database and do not point to any newly installed database.
  • This program assumes that there are no changes in the service domain during the upgrade. However, if there are any such requirements, then this is considered as a manual process. The below mentioned SQL scripts can be followed to change the service domain immediately after running the upgrade program but before starting the target application server.
(a)
 - Update db892085391.NETWORK_ISV_SETTINGS set service_domain_3 = '<NEW_DOMAIN_WITH_PREFIX>' ;
(b) If you have any prefix in the domain name, like sag.agileappscloud.eu (here sag is a service domain prefix), this implies the subdomain is enabled. Otherwise, follow next point (point C).
 - UPDATE db892085391.NETWORK_ISV_SETTINGS set service_domain_prefix = '<DOMAIN_PREFIX>' ;
 - UPDATE db892085391.NETWORK_ISV_SETTINGS set service_domain = '<DOMAIN_WITHOUT_PREFIX>' ;
 - UPDATE relationals.NETWORK_CUSTOMER set service_domain = replace(service_domain,'<OLD_DOMAIN_WITHOUT_PREFIX>','<NEW_DOMAIN_WITHOUT_PREFIX>');
 - UPDATE db892085391.NETWORK_8c5b349851c041a28d19277a12dee8f0 set portal_service_domain = replace(portal_service_domain , '<OLD_DOMAIN_WITHOUT_PREFIX>','<NEW_DOMAIN_WITHOUT_PREFIX>');
(c) If you do not have any prefix in the domain name, this implies the subdomain is not enabled.
 - UPDATE db892085391.NETWORK_ISV_SETTINGS set service_domain = '<NEW_DOMAIN_WITH_PREFIX>' ;
(d)
 - UPDATE relationals.NETWORK_GLOBAL_PROPERTIES set assets_domain = '<NEW_DOMAIN_WITH_PREFIX>';
  • This program does not copy the SSL certificate, its username and password from the existing application server to the target application server and must be done manually, if required.