This file provides information on how to upgrade from VCL 2.1 to VCL 2.2.1. Please note it only applies for the upgrade from 2.1 to 2.2.1, this may or may not work for other versions.
The basic steps that will be performed
- Download and Extract 2.2.1 code
- Shutdown httpd and vcld services
- Create backup of vcl database
- Update mysql schema
- Grant CREATE TEMPORARY TABLES to mysql user
- Update Web code, create a backup, copy in new, make changes
- Restart httpd service
- Update Management node vcl code, create a backup, copy in new, make changes
- Restart vcld service
Download and Extract 2.2.1 code
- follow instructions on VCL 2.2.1 Release page to download and verify apache-VCL-2.2.1-incubating.tar.bz2 and put in in /root
- extract VCL 2.2.1 code
Shutdown the httpd and vcld services
Create a backup of vcl database
We will create a backup of the vcl database. This will provide a restore point if necessary.
Update mysql schema
There was a slightly incorrect definition for the vmhost table. vmprofileid should be a smallint instead of a tinyint. The following steps will correct that before applying the update-vcl.sql script.
This step updates the mysql schema.
Grant CREATE TEMPORARY TABLES to mysql user
The web code now requires access to create temporary tables in mysql. You need to grant the user your web code uses to access mysql the "CREATE TEMPORARY TABLES" permission. Look at the secrets.php file in your web code for the user and hostname. For example, if your web code is installed at /var/www/html/vcl, your secrets.php file would be /var/www/html/vcl/.ht-inc/secrets.php. Look for $vclhost and $vclusername. The secrets.php file might have something like:
$vclhost = 'localhost';
$vcluser = 'vcluser';
Then, you need to issue the grant command to mysql. Using the values from above as examples, connect to mysql and then issue the grant command:
Update web code
This step we will move the 2.1 web directory out of the way, so we can copy in the new web code base. After copying in the new code, we will migrate your configuration changes. These instructions assume that you installed the vcl web code at /var/www/html/vcl. If you installed it elsewhere, replace /var/www/html/vcl with your vcl web root.
- copy your old code out of the way
- copy the new code in place
- apply a patch to fix editing reservations
- apply patch to fix processing of block allocations
- copy your 2.1 config files
- make /var/www/html/vcl/.ht-inc/maintenance writable by the web server - if httpd on your server is running as the user apache:
- add the following new entries to conf.php - You can copy them in from .ht-inc/conf-default.php. Descriptions of each item can also be found in conf-default.php
- $blockNotifyUsers = "firstname.lastname@example.org";
- define("SCHEDULER_ALLOCATE_RANDOM_COMPUTER", 0);
- define("DOCUMENTATIONURL", "https://cwiki.apache.org/VCLDOCS/");
- define("USEFILTERINGSELECT", 1);
- define("FILTERINGSELECTTHRESHOLD", 1000);
- define("DEFAULTTHEME", 'default');
Restart httpd service
Update management node code
This step will move the 2.1 vcl code base out of the way, so we can cleanly copy in the new management node(MN) code.
- Copy 2.1 code base to a backup location
- Copy in the 2.2.1 code base to /usr/local, copying in should preserve any drivers or other files you've added.
- Make changes related to vcld.conf settings
- Open VCL web interface
- Go to Management Nodes
- Select Edit Management Node Information
- Select Edit.
- Set any relevant fields:
- SysAdmin Email Address(es) - comma delimited list of vcl admin email addresses
- Address for Shadow Emails - a shared mail box, optional it receives email of all notifications
- Public NIC configuration method - Defines what type of NIC configuration is used, options are dynamic DHCP, Manual DHCP, or static
- End Node SSH Identity Key Files