Mercurial > p > roundup > code
annotate tools/load_tracker.py @ 7340:7b9bddda9d2d
Add support for demo mode in docker.
roundup/demo.py
Make changes to allow exposed port in docker to be specified
separately from the port that demo mode binds to. Also permit
bind address specification as well.
roundup/scripts/roundup_demo.py:
Update required by changes in demo.py. Also move away from
positional arguments to prefer flag arguments. Required for
passing port and host specification. Flake8 fixes.
share/man/man1/roundup-demo.1
Document use of option flags rather than positional
params. Other cleanups.
doc/installation.txt:
Document new docker modes: demo, shell and admin.
Update docs:
overview section - reorg, added template info
for the impatient section - added docker demo mode reference,
more docs on top level demo.py use.
new section on docker demo mode
removed getting roundup section. folded into installing roundup.
also prior for the impatient section describes how to download.
install via pip in venv recommended supported method
document all provided templates. not just minimal and classic.
added index references.
move sections around, decreased sectin depth, reformatting
scripts/Docker/roundup_healthcheck:
When running roundup-demo, there is no tracker spec. So default to
demo if no tracker=directory args found. Prevent's docker from
reporting an unhealthy container when running demo.
scripts/Docker/roundup_start:
implement demo, shell, admin docker modes.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 14 May 2023 09:43:53 -0400 |
| parents | 2120f77554d5 |
| children | e1dfd21f2252 |
| rev | line source |
|---|---|
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 ''' |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 Usage: %s <tracker home> <N> |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 Load up the indicated tracker with N issues and N/100 users. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 ''' |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
8 from __future__ import print_function |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 import sys, os, random |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 from roundup import instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 # open the instance |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 if len(sys.argv) < 2: |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
14 print("Error: Not enough arguments") |
|
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
15 print(__doc__.strip()%(sys.argv[0])) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 sys.exit(1) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 tracker_home = sys.argv[1] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 N = int(sys.argv[2]) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 # open the tracker |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 tracker = instance.open(tracker_home) |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 db = tracker.open('admin') |
| 4781 | 23 db.tx_Source = "cli" |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 priorities = db.priority.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 statuses = db.status.list() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
27 resolved_id = db.status.lookup('resolved') |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
28 statuses.remove(resolved_id) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 names = ['alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 'rho'] |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 titles = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 Duis nibh purus, bibendum sed, condimentum ut, bibendum ut, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 Fusce pede enim, nonummy sit amet, dapibus a, blandit eget, metus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 Nulla risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 Vivamus tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 Donec consequat convallis quam. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 Sed convallis vehicula felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 Aliquam laoreet, dui quis pharetra vehicula, magna justo. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 Euismod felis, eu adipiscing eros metus id tortor. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 Suspendisse et turpis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 Aenean non felis. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 Nam egestas eros. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 Integer tellus quam, mattis ac, vestibulum sed, egestas quis, mauris. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 Nulla tincidunt diam sit amet dui. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 Nam odio mauris, dignissim vitae, eleifend eu, consectetuer id, risus. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 Suspendisse potenti. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 Donec tincidunt. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 Vestibulum gravida. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 Fusce luctus, neque id mattis fringilla, purus pede sodales pede. |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 Quis ultricies urna odio sed orci.'''.splitlines() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 try: |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
56 try: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
57 db.user.lookup('alpha0') |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
58 except: |
|
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
59 # add some users |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
60 M = N//100 |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
61 for i in range(M): |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
62 print('\ruser', i, ' ', end=' ') |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
63 sys.stdout.flush() |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
64 if i//17 == 0: |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
65 db.user.create(username=names[i%17]) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
66 else: |
|
5400
2120f77554d5
Python 3 preparation: use // and __truediv__ as needed.
Joseph Myers <jsm@polyomino.org.uk>
parents:
5376
diff
changeset
|
67 db.user.create(username=names[i%17]+str(i//17)) |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
69 # assignable user list |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 users = db.user.list() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 users.remove(db.user.lookup('anonymous')) |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
72 print() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 # now create the issues |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 for i in range(N): |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
76 print('\rissue', i, ' ', end=' ') |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 sys.stdout.flush() |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
78 # in practise, about 90% of issues are resolved |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
79 if random.random() > .9: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
80 status = random.choice(statuses) |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
81 else: |
|
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
82 status = resolved_id |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 db.issue.create( |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 title=random.choice(titles), |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 priority=random.choice(priorities), |
|
2261
1bbdd3407eff
loader tweak
Richard Jones <richard@users.sourceforge.net>
parents:
2235
diff
changeset
|
86 status=status, |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 assignedto=random.choice(users)) |
|
2235
87c238d8bc76
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
2234
diff
changeset
|
88 if not i%1000: |
|
2230
ca2664e095be
disable forking server when os.fork() not available [SF#938586]
Richard Jones <richard@users.sourceforge.net>
parents:
2228
diff
changeset
|
89 db.commit() |
|
5376
64b05e24dbd8
Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents:
4781
diff
changeset
|
90 print() |
|
2228
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 db.commit() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 finally: |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 db.close() |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 |
|
1d1362c54c94
Some doc / comment fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 # vim: set filetype=python ts=4 sw=4 et si |
