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

« back to all changes in this revision

Viewing changes to doc/man/upgrade.rst

  • Committer: William Grant
  • Date: 2012-06-28 01:52:02 UTC
  • Revision ID: me@williamgrant.id.au-20120628015202-f6ru7o367gt6nvgz
Hah

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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