~azzar1/unity/add-show-desktop-key

1771 by William Grant
Add upgrade docs.
1
.. IVLE - Informatics Virtual Learning Environment
2
   Copyright (C) 2007-2010 The University of Melbourne
3
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.
8
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.
13
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
17
18
********
19
Upgrades
20
********
21
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
24
otherwise specified.
25
26
27
Shutting down
28
=============
29
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. ::
32
33
   sudo /etc/init.d/apache2 stop
34
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.
38
39
40
Unmounting user jails
41
=====================
42
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. ::
47
48
   sudo ivle-mountallusers -u
49
50
51
Upgrading the code
52
==================
53
54
The next stage of the IVLE upgrade process depends on the installation mode.
55
56
57
Upgrading a source installation
58
-------------------------------
59
60
To upgrade a source installation, update your checkout or extract a new
61
release tarball.
62
63
Then build and install the updated code: ::
64
65
   ./setup.py build
66
   sudo ./setup.py install
67
68
69
Upgrading a packaged installation
70
---------------------------------
71
72
To upgrade an installation from the Ubuntu package, a normal apt upgrade
73
is sufficient. ::
74
75
   sudo apt-get update
76
   sudo apt-get upgrade
77
78
79
Patching the database
80
=====================
81
82
If the new version has additional database patches, apply each in order on
83
the master with something like this: ::
84
85
   sudo -u postgres psql -d ivle -f userdb/migrations/YYYYMMDD-XX.sql
86
87
88
Upgrading the jail
89
==================
90
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: ::
93
94
   sudo ivle-buildjail -u
95
96
97
Rebuilding user jails
98
=====================
99
100
To ensure that any configuration or structural updates are pushed into the
101
jails, rebuild them all on the master. ::
102
103
   sudo ivle-remakeuser -a
104
105
This will preserve the user files (in ``/home/USERNAME``), but rebuild the
106
external configuration files and filesystem structure.
107
108
109
Changing the media version
110
==========================
111
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.
116
117
118
Restarting the user management server
119
=====================================
120
121
The master's user management server should be restarted after each upgrade. ::
122
123
   sudo /etc/init.d/ivle-usrmgt-server restart
124
125
126
Starting everything back up
127
===========================
128
129
Now that the upgrade is done, Apache can be restarted on the slaves. This
130
should bring IVLE back into service. ::
131
132
   sudo /etc/init.d/apache2 start