annotate share/man/man1/roundup-server.1 @ 6433:c1d3fbcdbfbd

issue2551142 - Import of retired node ... unique constraint failure. Title: Import of retired node with username after active node fails with unique constraint failure. More fixes needed for mysql and postgresql. mysql: add unique constraint for (keyvalue, __retired__) when creating class in the database. On schema change if class is changed, remove the unique constraint too. upgrade version of rdbms database from 5 to 6 to add constraint to all version 5 databases that were created as version 5 and didn't get the unique constraint. Make no changes on version 5 databases upgraded from version 4, the upgrade process to 5 added the constraint. Make no changes to other databases (sqlite, postgres) during upgrade from version 5 to 6. postgres: Handle the exception raised on unique constraint violation. The exception invalidates the database connection so it can't be used to recover from the exception. Added two new database methods: checkpoint_data - performs a db.commit under postgres does nothing on other backends restore_connection_on_error - does a db.rollback on postgres, does nothing on other backends with the rollback() done on the connection I can use the database connection to fixup the import that failed on the unique constraint. This makes postgres slower but without the commit after every imported object, the rollback will delete all the entries done up to this point. Trying to figure out how to make the caller do_import batch and recover from this failure is beyond me. Also dismissed having to process the export csv file before importing. Pushing that onto a user just seems wrong. Also since import/export isn't frequently done the lack of surprise on having a failing import and reduced load/frustration for the user seems worth it. Also the import can be run in verbose mode where it prints out a row as it is processed, so it may take a while, ut the user can get feedback. db_test-base.py: add test for upgrade from 5 to 6.
author John Rouillard <rouilj@ieee.org>
date Thu, 10 Jun 2021 12:52:05 -0400
parents 247f176f9020
children a036712c96f4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
1 .TH ROUNDUP-SERVER 1 "27 July 2004"
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
2 .SH NAME
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
3 roundup-server \- start roundup web server
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
4 .SH SYNOPSIS
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
5 \fBroundup-server\fP [\fIoptions\fP] [\fBname=\fP\fItracker home\fP]*
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
6 .SH OPTIONS
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
7 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
8 \fB-C\fP \fIfile\fP or \fB--config\fP \fIfile\fP
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
9 Use options read from the configuration file (see below).
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
10 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
11 \fB-n\fP \fIhostname\fP
5138
c54720396f40 issue2550882. Reported by Karl-Philipp Richter. Fixed
John Rouillard <rouilj@ieee.org>
parents: 4706
diff changeset
12 Sets the host name or IP address to listen on. Default is localhost
c54720396f40 issue2550882. Reported by Karl-Philipp Richter. Fixed
John Rouillard <rouilj@ieee.org>
parents: 4706
diff changeset
13 (127.0.0.1). Use 0.0.0.0 to listen on all interfaces on the system.
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
14 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
15 \fB-p\fP \fIport\fP
4706
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
16 Sets the port to listen on (default: 8080).
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
17 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
18 \fB-d\fP \fIPIDfile\fP
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
19 Run the server in the background and write the server's PID to the
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
20 file indicated by PIDfile. The -l (or -L) option \fBmust\fP be
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
21 specified if -d is used.
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
22 .TP
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
23 \fB-t\fP \fBfork|debug|none\fP
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
24 Control multi-process mode. Default fork.
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
25 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
26 \fB-l\fP \fIfile\fP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
27 Sets a filename to log to (instead of stdout). This is required if the -d
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
28 option is used.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
29 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
30 \fB-L\fP
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
31 Have the server log using the Python logger with key roundup.http.
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
32 .TP
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
33 \fB-i\fP \fIfile\fP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
34 Sets a filename to use as a template for generating the tracker index page.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
35 The variable "trackers" is available to the template and is a dict of all
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
36 configured trackers.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
37 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
38 \fB-s\fP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
39 Enables to use of SSL.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
40 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
41 \fB-e\fP \fIfile\fP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
42 Sets a filename containing the PEM file to use for SSL. If left blank, a
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
43 temporary self-signed certificate will be used.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
44 .TP
4706
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
45 \fB-N\fP
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
46 Log client machine names instead of IP addresses (much slower).
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
47 .TP
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
48 \fB-u\fP \fIUID\fP
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
49 Runs the Roundup web server as this UID.
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
50 .TP
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
51 \fB-g\fP \fIGID\fP
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
52 Runs the Roundup web server as this GID.
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
53 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
54 \fB-v\fP or \fB--version\fP
4706
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
55 Print version and exit.
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
56 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
57 \fB-h\fP or \fB--help\fP
4706
a5a9b81f8f6b issue2550760: Several improvements to the manpages (thanks Kai Storbeck)
John Kristensen <john@jerrykan.com>
parents: 4096
diff changeset
58 Print help and exit.
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
59 .TP
5969
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
60 \fB--save-config\fP
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
61 Create or update configuration file and exit.
247f176f9020 issue2550885 - man page documentation roundup-server.1
John Rouillard <rouilj@ieee.org>
parents: 5138
diff changeset
62 .TP
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
63 \fBname=\fP\fItracker home\fP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
64 Sets the tracker home(s) to use. The \fBname\fP variable is how the tracker is
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
65 identified in the URL (it's the first part of the URL path). The \fItracker
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
66 home\fP variable is the directory that was identified when you did
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
67 "roundup-admin init". You may specify any number of these name=home pairs on
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
68 the command-line. For convenience, you may edit the TRACKER_HOMES variable in
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
69 the roundup-server file instead. Make sure the name part doesn't include any
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
70 url-unsafe characters like spaces, as these confuse the cookie handling in
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
71 browsers like IE.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
72 .SH EXAMPLES
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
73 .TP
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
74 .B roundup-server -p 9000 bugs=/var/tracker reqs=/home/roundup/group1
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
75 Start the server on port \fB9000\fP serving two trackers; one under
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
76 \fB/bugs\fP and one under \fB/reqs\fP.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
77
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
78 .SH CONFIGURATION FILE
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
79 See the "admin_guide" in the Roundup "doc" directory.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
80 .SH AUTHOR
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
81 This manpage was written by Bastian Kleineidam
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
82 <calvin@debian.org> for the Debian distribution of roundup.
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
83
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
84 The main author of roundup is Richard Jones
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
85 <richard@users.sourceforge.net>.

Roundup Issue Tracker: http://roundup-tracker.org/