/
Sakai Upgrade Process v2-4-x-HEAD to v2-5-x
Sakai Upgrade Process v2-4-x-HEAD to v2-5-x
IRC Channel for Communication
- server: irc.freenode.net
- channel: #ucdsakai
- Windows IRC client:
- http://www.mirc.com/ (Information on the program)
- Direct link to MIRC Download
- Important Contact Numbers
Maintenance Window
- Date: July 19, 2008
- Time: 08:00 to Sunday July 20, 12:00 (noon)
Upgrade Process
- (08:00 Joncarlo) Prevent any client access to SmartSite via iptables and redirect clients to a maintenance/outage page
- We need to allow access from dedicated IPs for possible pre-upgrade work
- Adjust iptables on production nodes to allow JMX access to port 9000 for specified IPs
- PORT 8443:
- 169.237.11.246 (thomas)
- 69.12.224.247 (thomas)
- 169.237.97.91 (zoidberg: vpn, terminal server)
- 169.237.97.133 (kirk)
- 169.237.11.220 (james)
- 169.237.11.23 (sandra)
- 169.237.11.6 (jon)
- 169.237.11.242 (mike)
- 169.237.11.37 (Pete Peterson)
- 169.237.205.242 (Nancy Wilkison)
- OTHERS
- PORT 9000:
- 169.237.11.246
- OTHERS
- PORT 8443:
- (08:01 Prabhu) Backing up production database so that it can be fully restored.
- (08:25 Prabhu) Stop the log transfer / log apply process on primary database server
- (08:30 Prabhu) Run database upgrade scripts in the following order
- https://mware.ucdavis.edu/svn/ucd-sakai/update/sakai_2.4.X-TO-sakai_2.5.X/sakai_2_4_x-2_5_x_oracle_conversion_ucd.sql
- https://mware.ucdavis.edu/svn/ucd-sakai/update/sakai_2.4.X-TO-sakai_2.5.X/sakai_diff_sakai_test_compare_20080514.sql
- https://mware.ucdavis.edu/svn/ucd-sakai/update/sakai_2.4.X-TO-sakai_2.5.X/SAK-2035.sql
- Make sure that you verify SAK-2035.sql by running the following query:
select count(*) from GB_GRADABLE_OBJECT_T where UNGRADED is null;
- Which should return zero records
- (08:45 Programmers) Run Content Conversion
- On sakaiprod1, build ~/src/sakai_2-5-x-prod-XYZ
- Make sure we export toolOrder.xml as well as sakai.properties into config-staging
- change "db/db-util/conversion/runconversion.sh" replacing SNAPSHOT with M2
- :%s/SNAPSHOT/M2/g
- cd ~/src/sakai_2-5-x-prod-XYZ/content
- change upgradeschema-oracle.config
# UpgradeSchema Control File (Default) # Conversion needs the database connection details dbDriver=oracle.jdbc.driver.OracleDriver dbURL=jdbc:oracle:thin:@ldap://oraldap1.ucdavis.edu:389/sakaitest,cn=OracleContext,dc=ucdavis,dc=edu dbUser=sakai dbPass=<?>
- Run conversion
nohup ./content-runconversion.sh -j "$CATALINA_HOME/common/lib/ojdbc14-10-2-0-3.jar" -p "$HOME/sakai-home/local.properties" upgradeschema-oracle.config &> ~/content-runconversion.log &
- The L1 and L2 conversion take about 50 minutes
- (09:35 Programmers)
- On each production node (sakaiprod1, ..., sakaiprod2) adjust the ucd-help location so that it points to the new ucd-help-2-5-x-prod branch
cd /var/www/html/smartsite rm ucd-help ln -s /afs/.ucdavis.edu/app/sakai/misc/help/smartsite/sakai_2-5-x-prod ucd-help
- Start-up head node (sakaiprod1)
- During the first startup, the Calendar conversion will take place : FND SAK-11204
- Check catalina.out for any errors
- During the first startup, the Calendar conversion will take place : FND SAK-11204
- Once Sakai has started, stop and start Sakai again on sakaiprod1 to make sure that the Calendar conversion runs only once and thus indicates that it successfully converted its content
- Once Sakai has started for the second time. Try to login and click on a few sites/tools to make sure that no errors are reported in catalina.out
Click on the "Help" tool and make sure that it loads correctly. Also monitor catalina.out for any help related errors while it initializes help.
- On each production node (sakaiprod1, ..., sakaiprod2) adjust the ucd-help location so that it points to the new ucd-help-2-5-x-prod branch
- (09:50 Programmers)
- Startup remaining nodes, one after another and monitor each catalina.out for potential problems
- (10:00 Kirk, Sandra, QA, ...) Release SmartSite for initial testing to determine "successful upgrade"
- (11:45 Kirk, Sandra, QA, Programmers, ...)
- Agree on go/no-go
- (12:00 - after go vote, Programmers) Adjust iptables on all nodes production nodes (sakaiprod1, ..., sakaiprod6) to allow public access
- (12:01 Programmers) Notify Operations, ITExpress that system is ready. Ask Operations to send note (we compose) to TechNotices. Use Release Mgmt mailing list.
- (12:00 Prabhu) Resume log transfer / log apply process
- (12:02) System ready for public access
- (12:03 Kirk/Sandra) Update MOTD indicating upgrade successful and leaving request for input if problems are found by users.
Fall-back Procedure (If needed)
- In case anything goes wrong that cannot be fixed within the allocated maintenance window we perform the following tasks
- (12:00 Joncarlo) Prevent any client access to SmartSite via iptables and redirect clients to a maintenance/outage page
- (12:01 Programmers) Shutdown all application servers
- (12:10 Prabhu) Restore Sakai internal production database
- (12:35 Prabhu) Resume log transfer/log apply process
- (12:40 Programmers) Install sakai-2-4-x-HEAD-prod-latest on all application nodes (sakaiprod1, ..., sakaiprod6)
- Restore sakai-2-4-x-HEAD-prod-latest configuration files
- (13:30 Programmers) Start nodes and test
- (13:40 Kirk, Sandra, QA,...) Start testing
- (14:00 Joncarlo) Adjust iptables
- (14:01) System ready for public access
Post Upgrade TODOs:
- ...
, multiple selections available,