Chapter 10. Upgrading

10.1. Upgrading WAF

In order to upgrade WAF, there are several steps you must follow. Please familiarize yourself with this entire chapter prior to upgrading. We highly recommend upgrading a development server prior to upgrading a staging or production server; this will allow you to review in detail all the steps required to upgrade your production server and resolve any possible issues.

  1. Perform a backup of your server code and database to preserve your current data.

  2. Delete all files in your $WEBAPP/ directory.

  3. Download the upgraded version of WAF. If you are using Red Hat Network type:

    up2date tomcat ccm-core ccm-core-servlet-tomcat4 --download

    or, if you are installing the development RPMs:

    up2date tomcat ccm-core-devel ccm-config ccm-devel ccm-scripts --download

    The Red Hat Update Agent places the RPMs in /var/spool/up2date. Once the download is complete, read the release notes to gain a better understanding of new features and potential upgrade issues. API changes and improvements are listed in the release notes. The release notes for all releases are published on http://rhea.redhat.com.

  4. Shut down your server. Prepare a static server maintenance message. For more information about live production updates, consult the CMS deployment guide.

  5. Install the latest version of WAF on top of your current version of WAF, letting it overwrite the WAF files.

    TipTip
     

    If you have modified any of the existing WAF code, you will need to reapply your patches to the newly upgraded code. Source control systems such as CVS have features that facilitate merging with third-party sources. In CVS this is known as a vendor branch. For more information, see http://www.loria.fr/~molli/cvs/doc/cvs_13.html.

  6. Review and run the appropriate data model upgrade scripts. These scripts reside in the sql/upgrade/ directory.

  7. Update the enterprise.init file to match the latest enterprise.init.in. First, update your config.vars by running ant update-config. Edit config.vars as appropriate and save the file. Then update your enterprise.init with ant make-init. Deploy the updated enterprise.init with ant deploy.

  8. Restart your server and test your system to ensure that the upgrade was successful. You can run all of the built in regression tests with the command ant runtests; these include tests that verify specific database invariants.

  9. Check the updated, tested code (with all merged patches, as appropriate) into your source control system.

  10. Repeat the above process on your staging server, except check out your source code from your main repository instead of using the RPMs. Verify the above process, and then repeat for your production server.

CautionCaution
 

Although every attempt is made to ensure the integrity of your data, it is highly recommended that you make a backup copy of your database before you upgrade, and that you test the upgrade process on a backup copy before running it in production.