1
.. IVLE - Informatics Virtual Learning Environment
2
Copyright (C) 2007-2010 The University of Melbourne
4
.. This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
9
.. This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
14
.. You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
Follow these instructions to upgrade your IVLE installation. In the case of a
23
multi-node installation, follow each instruction on every node unless
30
Before commencing the main upgrade process, ensure that the slave web servers
31
are inaccessible -- stopping Apache is a good way to be sure. ::
33
sudo /etc/init.d/apache2 stop
35
You should then check for and kill any ``python-console`` process on the
36
slaves. These are the console backend processes, and may hold resources open
37
across the upgrade -- that could end badly.
43
An upgrade is a good opportunity to purge obsolete jail mounts on each slave.
44
Unmounting the jails will also reduce the likelihood of problems during the
45
later jail rebuilds. Take heed of any ``Device busy`` errors -- that normally
46
indicates that a ``python-console`` process is still running. ::
48
sudo ivle-mountallusers -u
54
The next stage of the IVLE upgrade process depends on the installation mode.
57
Upgrading a source installation
58
-------------------------------
60
To upgrade a source installation, update your checkout or extract a new
63
Then build and install the updated code: ::
66
sudo ./setup.py install
69
Upgrading a packaged installation
70
---------------------------------
72
To upgrade an installation from the Ubuntu package, a normal apt upgrade
82
If the new version has additional database patches, apply each in order on
83
the master with something like this: ::
85
sudo -u postgres psql -d ivle -f userdb/migrations/YYYYMMDD-XX.sql
91
The code inside the jail will normally need to be kept in sync with that
92
on the master and slaves. On the upgraded master: ::
94
sudo ivle-buildjail -u
100
To ensure that any configuration or structural updates are pushed into the
101
jails, rebuild them all on the master. ::
103
sudo ivle-remakeuser -a
105
This will preserve the user files (in ``/home/USERNAME``), but rebuild the
106
external configuration files and filesystem structure.
109
Changing the media version
110
==========================
112
If you've set a media version (in ``ivle.conf``, the ``media`` section's
113
``version`` value), you'll need to update it on each slave. Set it to a value
114
that hasn't been used before -- the IVLE version number, for example. Ensure
115
that it is the same on all slaves.
118
Restarting the user management server
119
=====================================
121
The master's user management server should be restarted after each upgrade. ::
123
sudo /etc/init.d/ivle-usrmgt-server restart
126
Starting everything back up
127
===========================
129
Now that the upgrade is done, Apache can be restarted on the slaves. This
130
should bring IVLE back into service. ::
132
sudo /etc/init.d/apache2 start