You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(40) |
Sep
(2) |
Oct
(40) |
Nov
(12) |
Dec
(79) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(62) |
Feb
(12) |
Mar
(19) |
Apr
(15) |
May
(22) |
Jun
(20) |
Jul
(23) |
Aug
(28) |
Sep
(74) |
Oct
(74) |
Nov
(80) |
Dec
(203) |
| 2003 |
Jan
(65) |
Feb
(160) |
Mar
(161) |
Apr
(105) |
May
(87) |
Jun
(48) |
Jul
(71) |
Aug
(130) |
Sep
(112) |
Oct
(206) |
Nov
(108) |
Dec
(84) |
| 2004 |
Jan
(309) |
Feb
(128) |
Mar
(246) |
Apr
(266) |
May
(449) |
Jun
(239) |
Jul
(184) |
Aug
(152) |
Sep
(151) |
Oct
(305) |
Nov
(193) |
Dec
(167) |
| 2005 |
Jan
(182) |
Feb
(248) |
Mar
(191) |
Apr
(256) |
May
(152) |
Jun
(55) |
Jul
(120) |
Aug
(103) |
Sep
(125) |
Oct
(85) |
Nov
(85) |
Dec
(64) |
| 2006 |
Jan
(165) |
Feb
(148) |
Mar
(120) |
Apr
(85) |
May
(100) |
Jun
(69) |
Jul
(86) |
Aug
(157) |
Sep
(103) |
Oct
(101) |
Nov
(134) |
Dec
(178) |
| 2007 |
Jan
(110) |
Feb
(67) |
Mar
(224) |
Apr
(108) |
May
(87) |
Jun
(40) |
Jul
(64) |
Aug
(68) |
Sep
(70) |
Oct
(82) |
Nov
(48) |
Dec
(74) |
| 2008 |
Jan
(74) |
Feb
(102) |
Mar
(47) |
Apr
(29) |
May
(40) |
Jun
(18) |
Jul
(19) |
Aug
(88) |
Sep
(69) |
Oct
(43) |
Nov
(13) |
Dec
(25) |
| 2009 |
Jan
(49) |
Feb
(64) |
Mar
(47) |
Apr
(38) |
May
(23) |
Jun
(41) |
Jul
(72) |
Aug
(49) |
Sep
(44) |
Oct
(35) |
Nov
(7) |
Dec
(56) |
| 2010 |
Jan
(171) |
Feb
(42) |
Mar
(31) |
Apr
(68) |
May
(26) |
Jun
(8) |
Jul
(36) |
Aug
(28) |
Sep
(31) |
Oct
(40) |
Nov
(3) |
Dec
(5) |
| 2011 |
Jan
(2) |
Feb
(5) |
Mar
(6) |
Apr
(12) |
May
(6) |
Jun
(15) |
Jul
(17) |
Aug
(7) |
Sep
(13) |
Oct
(30) |
Nov
(17) |
Dec
(4) |
| 2012 |
Jan
(5) |
Feb
(8) |
Mar
(7) |
Apr
(11) |
May
(5) |
Jun
|
Jul
(15) |
Aug
(25) |
Sep
(23) |
Oct
(18) |
Nov
(14) |
Dec
(12) |
| 2013 |
Jan
(18) |
Feb
(8) |
Mar
(9) |
Apr
|
May
|
Jun
(6) |
Jul
(18) |
Aug
(6) |
Sep
(2) |
Oct
(1) |
Nov
(2) |
Dec
(16) |
| 2014 |
Jan
(13) |
Feb
(22) |
Mar
(10) |
Apr
|
May
(8) |
Jun
(23) |
Jul
(17) |
Aug
(3) |
Sep
(22) |
Oct
(34) |
Nov
(4) |
Dec
(2) |
| 2015 |
Jan
(5) |
Feb
|
Mar
(11) |
Apr
(3) |
May
(19) |
Jun
(33) |
Jul
(11) |
Aug
(9) |
Sep
|
Oct
|
Nov
(15) |
Dec
(7) |
| 2016 |
Jan
(13) |
Feb
(9) |
Mar
(5) |
Apr
(8) |
May
(2) |
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(8) |
Oct
(1) |
Nov
|
Dec
(1) |
| 2017 |
Jan
(11) |
Feb
(8) |
Mar
(8) |
Apr
(7) |
May
|
Jun
(7) |
Jul
|
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(8) |
Sep
(25) |
Oct
(4) |
Nov
(2) |
Dec
(3) |
| 2019 |
Jan
(20) |
Feb
(26) |
Mar
(18) |
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(9) |
Aug
(8) |
Sep
(8) |
Oct
(21) |
Nov
(8) |
Dec
(1) |
| 2020 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
(15) |
May
(6) |
Jun
(2) |
Jul
(7) |
Aug
(5) |
Sep
(4) |
Oct
|
Nov
(5) |
Dec
(5) |
| 2021 |
Jan
|
Feb
(15) |
Mar
(50) |
Apr
(16) |
May
(22) |
Jun
(20) |
Jul
(5) |
Aug
(19) |
Sep
(1) |
Oct
(1) |
Nov
(42) |
Dec
(16) |
| 2022 |
Jan
(9) |
Feb
(5) |
Mar
(2) |
Apr
(6) |
May
(2) |
Jun
(10) |
Jul
(15) |
Aug
(9) |
Sep
(32) |
Oct
|
Nov
(14) |
Dec
(10) |
| 2023 |
Jan
(7) |
Feb
(6) |
Mar
(11) |
Apr
(16) |
May
(14) |
Jun
(7) |
Jul
(17) |
Aug
(1) |
Sep
|
Oct
(44) |
Nov
(24) |
Dec
(13) |
| 2024 |
Jan
(1) |
Feb
(25) |
Mar
(9) |
Apr
(10) |
May
(7) |
Jun
(8) |
Jul
(5) |
Aug
|
Sep
(2) |
Oct
(1) |
Nov
(5) |
Dec
(5) |
| 2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
(2) |
Aug
(4) |
Sep
|
Oct
(9) |
Nov
(8) |
Dec
|
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-17 13:34:20
|
Hi John Now I got it running, image :multi on arm64 and with mariadb But the healthcheck is broken as before on amd64 ps: which postgreSQL versions are supported? postgres:16-bookworm ? Will give that a try... Br Norbert pi@hadersdorf:~/Roundup $ docker-compose down && docker-compose rm -f && docker-compose up -d [+] Running 3/3 ✔ Container roundup-230 Removed 0.5s ✔ Container mariadb-230 Removed 4.8s ✔ Network roundup_default Removed 0.4s No stopped containers [+] Running 3/3 ✔ Network roundup_default Created 0.4s ✔ Container mariadb-230 Started 0.1s ✔ Container roundup-230 Started 0.1s pi@hadersdorf:~/Roundup $ docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS mariadb-230 lscr.io/linuxserver/mariadb "/init" mariadb About a minute ago Up About a minute 3306/tcp roundup-230 rounduptracker/roundup-development:multi "/usr/bin/dumb-init ./roundup_start issues=tracker" roundup-app About a minute ago Up About a minute (health: starting) 0.0.0.0:8917->8080/tcp pi@hadersdorf:~/Roundup $ docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS mariadb-230 lscr.io/linuxserver/mariadb "/init" mariadb About a minute ago Up About a minute 3306/tcp roundup-230 rounduptracker/roundup-development:multi "/usr/bin/dumb-init ./roundup_start issues=tracker" roundup-app About a minute ago Up About a minute (health: starting) 0.0.0.0:8917->8080/tcp pi@hadersdorf:~/Roundup $ docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS mariadb-230 lscr.io/linuxserver/mariadb "/init" mariadb About a minute ago Up About a minute 3306/tcp roundup-230 rounduptracker/roundup-development:multi "/usr/bin/dumb-init ./roundup_start issues=tracker" roundup-app About a minute ago Up About a minute (health: starting) 0.0.0.0:8917->8080/tcp pi@hadersdorf:~/Roundup $ |
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-17 12:52:22
|
Hi John
Sorry, please delete my email from "Dienstag, 17. Oktober 2023 09:49"
The image "roundup-development:multi" is up-and-running under Raspberry OS 64 bit
Will do some tests and with mariadb too...
Br
Norbert
docker run --rm -p 8918:8080 --name roundup-multi -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi demo
If docker reports a bind error, you can set the
Docker environment variable PORT_8080 to
fix it.
Add -e PORT_8080=port_number to the docker run
command. The port_number must match the first
value to -p which must be an unused port
on your server.
Restarting existing tracker.
Demo Tracker Home: tracker/demo
Server running - connect to:
http://localhost:8917/demo/
1. Log in as "demo"/"demo" or "admin"/"admin".
2. Hit Control-C to stop the server.
3. Re-start the server by running "/usr/local/bin/roundup-demo" again.
4. Reset the tracker by running "/usr/local/bin/roundup-demo nuke".
By default the demo tracker is set up to be accessed from "localhost".
If you want to run it on a server,
edit "/usr/src/app/demo/config.ini"
and set the "web" option in section "[tracker]" to your host name,
then restart demo. If you want to change backend types, you must use "nuke".
127.0.0.1 - - [17/Oct/2023 12:47:47] "GET /demo/ HTTP/1.1" 200 -
192.168.10.6 - - [17/Oct/2023 12:47:53] "GET /demo/ HTTP/1.1" 200 -
192.168.10.6 - - [17/Oct/2023 12:47:54] "GET /demo/@@file/style.css HTTP/1.1" 200 -
192.168.10.6 - - [17/Oct/2023 12:47:54] "GET /favicon.ico HTTP/1.1" 200 -
127.0.0.1 - - [17/Oct/2023 12:48:17] "GET /demo/ HTTP/1.1" 200 -
127.0.0.1 - - [17/Oct/2023 12:48:47] "GET /demo/ HTTP/1.1" 200 -
192.168.10.6 - - [17/Oct/2023 12:48:54] Request timed out: TimeoutError('timed out')
127.0.0.1 - - [17/Oct/2023 12:49:18] "GET /demo/ HTTP/1.1" 200 -
127.0.0.1 - - [17/Oct/2023 12:49:48] "GET /demo/ HTTP/1.1" 200 -
|
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-17 12:37:44
|
Hi John
Please find below the output as requested
Br
Norbert
~ $ sh -xv roundup_healthcheck
#! /bin/sh
# if there are multiple trackers, d=demo t=tracker ...
# returns last one for testing that server is up. Does not test
# each tracker.
tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p')
+ ps -ef
+ sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p'
+ tracker='issues
issues'
wget -q -O /dev/null --no-verbose http://localhost:8080/${tracker:-demo}/
+ wget -q -O /dev/null --no-verbose http://localhost:8080/issues issues/
wget: server returned error: HTTP/1.1 503 Service Unavailable
~ $
~ $
~ $ wget -q -O /dev/null --no-verbose http://tvmtmcsdebiansrv.my.domain.com:8917/issues/
~ $
~ $
-----Ursprüngliche Nachricht-----
Von: ro...@cs... <ro...@cs...>
Gesendet: Montag, 16. Oktober 2023 20:15
An: SCHLEMMER Norbert <Nor...@pd...>
Cc: rou...@li...
Betreff: Re: [Roundup-users] V2.3.0 Docker image (amd64) : Healthcheck
*EXTERNAL source*
Hello Norbert:
In message <DU2...@DU....
exchangelabs.com>,
SCHLEMMER Norbert writes:
>Tested the Docker image under Debian and changed the web URL in
>config.ini to the hostname of the VM.
>After that the health check is broken, because of hardcoded URL in
>script scripts/Docker/roundup_healthcheck
Hmm, that's not expected. The heartbeat check uses the internal docker loopback intentionally to prevent the need to reach outside the container.
>tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p')
>wget -q -O /dev/null --no-verbose
>http://localhost:8080/${tracker:-demo}/
The sed command parses the roundup-server command line and extracts the tracker name of the last tracker specified. Then it uses the tracker name to query localhost:8080 using http.
That should work. It works with a tracker with an external web url I am running right now.
The links on the returned page won't work as they embed the real web url not localhost:8080, but for heartbeat testing this should and does work for me.
Can you:
docker exec -it <container name> sh
and run 'sh -xv roundup_healthcheck' and see what it looks like? The output from my check is:
[...]
+ tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p')
+ ps -ef
+ sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p'
+ tracker=fleet
wget -q -O /dev/null --no-verbose http://localhost:8080/${tracker:-demo}/
+ wget -q -O /dev/null --no-verbose http://localhost:8080/fleet/
you should see something similar with the name of your tracker replacing fleet.
>maybe there should be a environment parameter for health check like
>HEALTHCHECK_URL=http://tvmtmcsdebiansrv.myDomain.com:8917/
The docker container (if running behind a proxy/ingress controller) may not have access to the external interface required to resolve/reach http://some.host.com/tracker. As a result I just connect on the internal docker loopback network.
>Better the " [tracker] / web" parameter from config.ini can be used instead.
Well there can be multiple trackers running, so which config.ini should be used?
The heartbeat code only checks the last tracker configured, but this tells me if the server is hung at least. The heartbeat does provide a bit of check on database connectivity/availability if it shows an index screen.
Have a great evening.
--
-- rouilj John Rouillard ===========================================================================
My employers don't acknowledge my existence much less my opinions.
|
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-17 07:49:19
|
Hi John
Pulled latest image rounduptracker/roundup-development:multi
Started the image as part of docker-compose (same as with rounduptracker/roundup under amd64)
With this result:
Installing issues tracker in tracker
Templates:: jinja2, devel, minimal, classic, responsive
Traceback (most recent call last):
File "/usr/local/bin/roundup-admin", line 33, in <module>
sys.exit(load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-admin')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/scripts/roundup_admin.py", line 50, in run
sys.exit(tool.main())
^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/admin.py", line 2213, in main
ret = self.run_command(args)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/admin.py", line 2067, in run_command
return self.do_install(self.tracker_home, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/admin.py", line 1213, in do_install
template = self._get_choice(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/admin.py", line 419, in _get_choice
argument = self.my_input('%s [%s]: ' % (prompt, default))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
EOFError: EOF when reading a line
Select template [classic]: Exiting on pipefail
Why is there a diff to rounduptracker/roundup ?
Thanks
Norbert
|
|
From: John P. R. <ro...@cs...> - 2023-10-17 02:45:50
|
Hi Norbert In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >But the same docker compose (but rounduptracker/roundup-development:multi) >doesn't work under arm64, the tracker will not be initialised. I am rebuilding the multi arch images now. There was a bug in the roundup_start script that caused demo to incorrectly exit. Please grab a new copy of rounduptracker/roundup-development:multi. demo mode should work now and not exit. I also added an error handler that will report when exiting due to an error. Have a great day, sorry for the bug. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: John P. R. <ro...@cs...> - 2023-10-16 18:15:02
|
Hello Norbert: In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >Tested the Docker image under Debian and changed the web URL in >config.ini to the hostname of the VM. >After that the health check is broken, because of hardcoded URL >in script scripts/Docker/roundup_healthcheck Hmm, that's not expected. The heartbeat check uses the internal docker loopback intentionally to prevent the need to reach outside the container. >tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p') >wget -q -O /dev/null --no-verbose http://localhost:8080/${tracker:-demo}/ The sed command parses the roundup-server command line and extracts the tracker name of the last tracker specified. Then it uses the tracker name to query localhost:8080 using http. That should work. It works with a tracker with an external web url I am running right now. The links on the returned page won't work as they embed the real web url not localhost:8080, but for heartbeat testing this should and does work for me. Can you: docker exec -it <container name> sh and run 'sh -xv roundup_healthcheck' and see what it looks like? The output from my check is: [...] + tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p') + ps -ef + sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p' + tracker=fleet wget -q -O /dev/null --no-verbose http://localhost:8080/${tracker:-demo}/ + wget -q -O /dev/null --no-verbose http://localhost:8080/fleet/ you should see something similar with the name of your tracker replacing fleet. >maybe there should be a environment parameter for health check like >HEALTHCHECK_URL=http://tvmtmcsdebiansrv.myDomain.com:8917/ The docker container (if running behind a proxy/ingress controller) may not have access to the external interface required to resolve/reach http://some.host.com/tracker. As a result I just connect on the internal docker loopback network. >Better the " [tracker] / web" parameter from config.ini can be used instead. Well there can be multiple trackers running, so which config.ini should be used? The heartbeat code only checks the last tracker configured, but this tells me if the server is hung at least. The heartbeat does provide a bit of check on database connectivity/availability if it shows an index screen. Have a great evening. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: John P. R. <ro...@cs...> - 2023-10-16 17:51:00
|
Hi Norbert: In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >Did a test with rounduptracker/roundup:latest under amd64 and with >mariadb and got it running. Used a docker compose script. > >After starting this container the mounted tracker directory will be >initialised. As a next step I changed config.ini, restarted and the >mariadb container was connected to the Roundup app. Importing from a >prev version works too. Nice. I assume you ran the demo mode first to initialize a tracker, then stopped the container, changed the config to use a mysql db and ran init? Did you try rounduptracker/roundup-development:multi on amd64? It shoud have support for that arch in it. If it fails then something may be wrong with the dockerfile or development Roundup. roundup:latest is supposed to be the 2.3 release, not the current development (which was used for multi). If multi amd64 succeeds, then the amd64 build may be broken in some odd way (e.g. the mariadb/mysql module wasn't available/built). But I seem to remember from one of your prior emails, that mysql was a db option. >But the same docker compose (but >rounduptracker/roundup-development:multi) doesn't work under arm64, >the tracker will not be initialised. When you say will not be initialized, do you mean manually running roundup-admin init after config.ini changes, or are you using the demo target? >For me there should be no difference between amd64 and arm64 during >the startup procedure I would agree. Do you see any errors when trying to initialize the tracker? Try using the multiarch for amd64 and see if that fails to initialize. Thanks. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-16 12:56:38
|
Hi John Did a test with rounduptracker/roundup:latest under amd64 and with mariadb and got it running. Used a docker compose script. After starting this container the mounted tracker directory will be initialised. As a next step I changed config.ini, restarted and the mariadb container was connected to the Roundup app. Importing from a prev version works too. But the same docker compose (but rounduptracker/roundup-development:multi) doesn't work under arm64, the tracker will not be initialised. For me there should be no difference between amd64 and arm64 during the startup procedure Br Norbert |
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-16 11:29:08
|
Hello Team
Tested the Docker image under Debian and changed the web URL in config.ini to the hostname of the VM.
After that the health check is broken, because of hardcoded URL in script scripts/Docker/roundup_healthcheck
tracker=$(ps -ef | sed -ne '/roundup-server/s/^.*\s\(\w*\)=.*$/\1/p')
wget -q -O /dev/null --no-verbose http://localhost:8080/${tracker:-demo}/
maybe there should be a environment parameter for health check like HEALTHCHECK_URL=http://tvmtmcsdebiansrv.myDomain.com:8917/
Better the " [tracker] / web" parameter from config.ini can be used instaed.
Regards
Norbert
|
|
From: John P. R. <ro...@cs...> - 2023-10-12 20:28:01
|
Hi Norbert: In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >Please find below the output of my tests @RPi 4 >I don't know how to get the container running It looks like yu didn;t initilize the tracker properly. Also, the argument to run the server is incorrect. It should be something like "demo=tracker_home" (note tracker_home is just the simple subdirectory, in the app directory, not a full path). The final error you see is caused by parsing "tracker" expecting "demo=tracker_home". More comments inline. >Do you have a docker-compose.yml file ? >It would be fine to have a Roundup running with MariaDB as database container (linuxserver/mariadb) >or Postgresql / arm64v8/postgres:15-bookworm (?) There is the docker-compose you put together that is in the source distribution. But that's it. >pi@hadersdorf:~/Roundup $ docker run -it -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi shell >~ $ ls -lrt >total 16 >-rwxr-xr-x 1 root root 291 Jul 19 03:12 roundup_healthcheck >-rwxr-xr-x 1 root root 5711 Sep 8 02:08 roundup_start >drwxr-xr-x 3 roundup roundup 4096 Oct 10 07:42 tracker >~ $ roundup-admin -i tracker install Ok so the docker image runs (you're at the shell prompt in the image). [elided normal install prompts etc.] > You MUST run the "roundup-admin initialise" command once you've performed > the above steps. >--------------------------------------------------------------------------- > >~ $ > >Following options need adjustments: ># [tracker]: web ># [mail]: domain, host > >Modfied config.ini with: >web = http://hadersdorf.xxx.at:8917/demo You are missing the trailing /. >domain = xxx.at >host = mail.xxx.at Is the command below still inside the docker shell command? >~ $ roundup-admin initialise >Enter tracker home: tracker >Admin Password: > Confirm: >Error: Invalid value for TRACKER_WEB: 'http://hadersdorf.sieben.neunzehn.at:8917/demo' >Value must end with /. Your config file has the wrong value, so the tracker isn't initialized. >~ $ exit I assume this exits the docker container. Note you still haven't completed the initialization of the tracker. >docker rm -f roundup_demo > >pi@hadersdorf:~/Roundup $ docker rm -f roundup_demo >roundup_demo I'm not sure what roundup_demo is. >pi@hadersdorf:~/Roundup $ docker run -it -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi tracker >Traceback (most recent call last): > File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/scripts/roundup_server.py", line 1109, in run > name, home = arg.split('=') > ^^^^^^^^^^ >ValueError: not enough values to unpack (expected 2, got 1) > >During handling of the above exception, another exception occurred: > >Traceback (most recent call last): > File "/usr/local/bin/roundup-server", line 33, in <module> > sys.exit(load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-server')()) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/scripts/roundup_server.py", line 1111, in run > raise ValueError(_("Instances must be name=home")) >ValueError: Instances must be name=home The final argument (tracker) is incorrect you probably want something like demo=demo (assuming there is an initialized tracker in $PWD/demo. So it looks like you need to fix the web seting, finish the initialization and supply the correct tracker=directory argumnent. Let me know how that goes. If that works, I claim docker run -it -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi demo should have worked to spin up a tracker on http://localhost:8917/demo/. So I would be interestined in what's happening in the demo case. Have a great weekend. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-12 20:02:16
|
Hi John Please find below the output of my tests @RPi 4 I don't know how to get the container running Do you have a docker-compose.yml file ? It would be fine to have a Roundup running with MariaDB as database container (linuxserver/mariadb) or Postgresql / arm64v8/postgres:15-bookworm (?) Br Norbert pi@hadersdorf:~/Roundup $ docker run -it -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi shell ~ $ ls -lrt total 16 -rwxr-xr-x 1 root root 291 Jul 19 03:12 roundup_healthcheck -rwxr-xr-x 1 root root 5711 Sep 8 02:08 roundup_start drwxr-xr-x 3 roundup roundup 4096 Oct 10 07:42 tracker ~ $ roundup-admin -i tracker install Templates:: jinja2, devel, minimal, classic, responsive Select template [classic]: Back ends:: anydbm, mysql, sqlite, postgresql Select backend [anydbm]: sqlite --------------------------------------------------------------------------- You should now edit the tracker configuration file: /usr/src/app/tracker/config.ini ... at a minimum, you must set following options: [tracker]: web [mail]: domain, host If you wish to modify the database schema, you should also edit the schema file: /usr/src/app/tracker/schema.py You may also change the database initialisation file: /usr/src/app/tracker/initial_data.py ... see the documentation on customizing for more information. You MUST run the "roundup-admin initialise" command once you've performed the above steps. --------------------------------------------------------------------------- ~ $ Following options need adjustments: # [tracker]: web # [mail]: domain, host Modfied config.ini with: web = http://hadersdorf.xxx.at:8917/demo domain = xxx.at host = mail.xxx.at ~ $ roundup-admin initialise Enter tracker home: tracker Admin Password: Confirm: Error: Invalid value for TRACKER_WEB: 'http://hadersdorf.sieben.neunzehn.at:8917/demo' Value must end with /. Usage: initialise [adminpw] Initialise a new Roundup tracker. The administrator details will be set at this step. Execute the tracker's initialisation function dbinit.init() ~ $ exit docker rm -f roundup_demo pi@hadersdorf:~/Roundup $ docker rm -f roundup_demo roundup_demo pi@hadersdorf:~/Roundup $ docker run -it -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi tracker Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/scripts/roundup_server.py", line 1109, in run name, home = arg.split('=') ^^^^^^^^^^ ValueError: not enough values to unpack (expected 2, got 1) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/roundup-server", line 33, in <module> sys.exit(load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-server')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/roundup-2.3.0-py3.11.egg/roundup/scripts/roundup_server.py", line 1111, in run raise ValueError(_("Instances must be name=home")) ValueError: Instances must be name=home |
|
From: Tonu M. <tm...@um...> - 2023-10-10 16:10:33
|
The addition of the detector worked perfectly. Thank you! On Tue, Oct 10, 2023 at 10:42 AM John P. Rouillard <ro...@cs...> wrote: > Hello Tonu: > > In message <CABDFm8gEASbHiyE1dEe3xfVnD= > T_8...@ma...> > , > Tonu Mikk via Roundup-users writes: > >I would like to configure my tracker to email me every time a new issue is > >created. I added my email address to the dispatcher line in the config.ini > >file, but that didn't work. I know it is documented and I searched, but I > >couldn't find the solution. > > I shared your expectation about dispatcher. Then I looked into it and > searched the code. The key part of the dispatcher is: > > # The 'dispatcher' is a role that can get notified > # of new items to the database. > # It is used by the ERROR_MESSAGES_TO config setting. > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > the same wording shows up in reference.txt (formerly part of > customizing.txt). > > In doc/whatsnew-0.7.txt > > A new config option has been added that specifies the email address of > a "dispatcher" role. This email address acts as a central sentinel for > issues coming into the system. You can configure it so that all e-mail > error messages get bounced to them, them and the user in question, or > just the user (default). > > which explains it a little better, but still confusing. "issue" in > this case is not an issue as in 'an issue tracked by Roundup'. Instead > issue here means an issue/failure in email delivery or other bounce > message. > > Indeed the only reference in the code to this setting is in > bounce_message() in mailer.py. > > I'll see what I can do to clarify the wording on that. > > None of this solves your "issue" (hmm, irony...). > > However there is a "newissuecopy" reactor provided in the source tree > in the detectors directory. It can also be retrieved from source > control at: > > > https://sourceforge.net/p/roundup/code/ci/default/tree/detectors/newissuecopy.py > > It should be as easy as putting the file in the detectors directory of > your tracker's home directory. Then change "te...@te..." to your > address. Finally restart the tracker. > > It looks like the file works under both python 2 and 3, so you should > be good. > > Have a great day. > > -- > -- rouilj > John Rouillard > =========================================================================== > My employers don't acknowledge my existence much less my opinions. > -- Tonu Mikk Developer | Disability Resource Center | disability.umn.edu University of Minnesota | umn.edu tm...@um... Pronouns: He/Him |
|
From: John P. R. <ro...@cs...> - 2023-10-10 15:37:05
|
Hello Tonu:
In message <CAB...@ma...>
,
Tonu Mikk via Roundup-users writes:
>I would like to configure my tracker to email me every time a new issue is
>created. I added my email address to the dispatcher line in the config.ini
>file, but that didn't work. I know it is documented and I searched, but I
>couldn't find the solution.
I shared your expectation about dispatcher. Then I looked into it and
searched the code. The key part of the dispatcher is:
# The 'dispatcher' is a role that can get notified
# of new items to the database.
# It is used by the ERROR_MESSAGES_TO config setting.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the same wording shows up in reference.txt (formerly part of
customizing.txt).
In doc/whatsnew-0.7.txt
A new config option has been added that specifies the email address of
a "dispatcher" role. This email address acts as a central sentinel for
issues coming into the system. You can configure it so that all e-mail
error messages get bounced to them, them and the user in question, or
just the user (default).
which explains it a little better, but still confusing. "issue" in
this case is not an issue as in 'an issue tracked by Roundup'. Instead
issue here means an issue/failure in email delivery or other bounce
message.
Indeed the only reference in the code to this setting is in
bounce_message() in mailer.py.
I'll see what I can do to clarify the wording on that.
None of this solves your "issue" (hmm, irony...).
However there is a "newissuecopy" reactor provided in the source tree
in the detectors directory. It can also be retrieved from source
control at:
https://sourceforge.net/p/roundup/code/ci/default/tree/detectors/newissuecopy.py
It should be as easy as putting the file in the detectors directory of
your tracker's home directory. Then change "te...@te..." to your
address. Finally restart the tracker.
It looks like the file works under both python 2 and 3, so you should
be good.
Have a great day.
--
-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.
|
|
From: Tonu M. <tm...@um...> - 2023-10-10 14:10:06
|
Hello, I would like to configure my tracker to email me every time a new issue is created. I added my email address to the dispatcher line in the config.ini file, but that didn't work. I know it is documented and I searched, but I couldn't find the solution. Thanks for any pointers! |
|
From: John P. R. <ro...@cs...> - 2023-10-09 19:56:10
|
Hi Norbert: In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >.) docker inspect <image id> > >"Architecture": "arm64", > >"Os": "linux", > >-> seems to be ok > > docker run -it -e SHELL_DEBUG=1 -p 127.0.0.1:8917:8080 --name \ > roundup_demo -v $PWD:/usr/src/app/tracker \ > rounduptracker/roundup-development:multi shell > > > >-> image started, logs below Logs look fine. >Which file are needed at $PWD ? [...] > >+ '[' true '=' false ] > >+ exec /bin/sh Normal startup and you had a shell. So it looks like it's a good image at least. >~ $ ls -lrt > >total 16 > >-rwxr-xr-x 1 root root 291 Jul 19 03:12 roundup_healthcheck > >-rwxr-xr-x 1 root root 5711 Sep 8 02:08 roundup_start > >drwxr-xr-x 2 roundup roundup 4096 Oct 9 14:58 tracker That's exactly what I expected. If the tracker directory is empty, can you cd to that directory and run roundup-demo using demo as the directory. See if it throws any errors. If that works, using the same docker command to run demo rather than shell and see what verbose output reports. Oh one other question, is your userid on the pi 1000? The docker container runs as uid 1000. I would expect it to complain somewhere your could see it, but maybe it just went to the bitbucket on your first failed attempt. Have a great day. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: John P. R. <ro...@cs...> - 2023-10-09 14:44:27
|
Hi Norbert: In message <DU2...@DU.... exchangelabs.com>, SCHLEMMER Norbert writes: >Used a Rpi4 with latest Rasoberry OS 64 bit to test your Roundup image > >Raspberry Pi OS with desktop >Release date: May 3rd 2023 >System: 64-bit >Kernel version: 6.1 >Debian version: 11 (bullseye) > >But the container didn't start. Any idea how to debug ? Let's make sure the image is sane. Do a: docker inspect <image id> and look for Arch. It should be arm64 or something like that. To get more info from the start script, add -e SHELL_DEBUG=1 to the docker command line and use shell rather than demo as the target. Also remove the --rm. docker run -it -e SHELL_DEBUG=1 -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi shell See what that does. If it exits, try: docker logs <id of the container> you can get the container id from 'docker container ls -a' which will show exited (but not deleted (hence the removal of --rm)) containers. Thanks for trying this out. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: SCHLEMMER N. <Nor...@pd...> - 2023-10-09 06:45:19
|
Hi John Used a Rpi4 with latest Rasoberry OS 64 bit to test your Roundup image Raspberry Pi OS with desktop Release date: May 3rd 2023 System: 64-bit Kernel version: 6.1 Debian version: 11 (bullseye) But the container didn't start. Any idea how to debug ? Br Norbert pi@hadersdorf:~ $ docker pull rounduptracker/roundup-development:multi multi: Pulling from rounduptracker/roundup-development 9fda8d8052c6: Already exists e7ae3e644d56: Pull complete 234827a61660: Pull complete 04317a6a9b5b: Pull complete abc293645a9f: Pull complete 68d02d060847: Pull complete 3498468736ac: Pull complete 420506e70a60: Pull complete dfc63ece3d66: Pull complete c59fad788ae0: Pull complete e83f024b65c8: Pull complete a64dbc00ce96: Pull complete 3a784c9e64ad: Pull complete Digest: sha256:10896876775959e0c8fc8e8dbf0f946c075cf327a929138d42587a0182f8a776 Status: Downloaded newer image for rounduptracker/roundup-development:multi docker.io/rounduptracker/roundup-development:multi pi@hadersdorf:~ $ docker run --rm -p 127.0.0.1:8917:8080 --name roundup_demo -v $PWD:/usr/src/app/tracker rounduptracker/roundup-development:multi demo pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pi@hadersdorf:~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
|
From: John P. R. <ro...@cs...> - 2023-10-08 23:49:39
|
Hi Chuck: In message <CAH...@ma...> , Chuck Cunningham writes: >>From trying to answer your questions I actually discovered the reason >for my problem - the tracker was actually working exactly as it >should, I just had messages_to_author set to "no" in config.ini, and >that made me erroneously think that email weren't being sent. I'm glad you found that. As I said I was baffled how your config wouldn't work. >Previously, I had been doing everything under the admin account, but >when I added my user_nosy_issue() check, I started using a regular >"User" account and mistakenly thought msg creation was broken. Got it. Is there something that would have helped you arrive at this conclusion earlier? >On Fri, Oct 6, 2023 at 8:44 AM Chuck Cunningham ><chu...@gm...> wrote: >> > It's Roundup 2.0.0 and it seems /usr/bin/python3 is being called in >> > roundup-server etc. >> thanks for any advice. perhaps I should migrate to the newest roundup >> for enhanced permission control? 2.3.0 does have a number of improvements, but I don't think there is any change to permissions for your use case. One thing I would suggest from a security perspective is to increase the number of password_pbkdf2_default_rounds. If you read the current upgrading guide on the web site it will talk you through some considerations. For your version you are using the SHA1 version of PBKDF. https://www.roundup-tracker.org/docs/upgrading.html#update-config-ini-s-password-pbkdf2-default-rounds-required >> > > >for cl in 'file', 'msg': >> > > > db.security.addPermissionToRole('User', 'View', cl) >> > > > db.security.addPermissionToRole('User', 'Edit', cl) >> > > > db.security.addPermissionToRole('User', 'Create', cl) >> > > >> > > This should allow every person with the User role to create/edit/view >> > > any msg or file. Note that this set of permissions doesn't restrict >> > > access to an individual msg or file. > >Yeah, I did this at the time of adding the user_issue() check because >I couldn't figure out how to do the equivalent for 'file' and 'msg' >and figured I didn't need super high security, so giving 'User' access >to all files and messsages seemed ok. That's a valid assessment. It's sort of like having an implicit: createdby me or assignedto me or I am nosy on their searches. It can help in keeping users from getting overwhelmed by issues when they search. If you are interested look at msg_access in https://rouilj.dynamic-dns.net/fossil/roundup_sysadmin/file?name=schema.py&ci=tip to see how I restrict msg access if an issue is restricted access. I think there is also a file_access as well. >> > > >This works great except people on the nosy list can't reply (and >> > > >create a 'msg')..I know there is something I need to do to the >> > > >permissions for messages, but can't figure it out. Any pointers much >> > > >appreciated. >> > > >> > > Your msg permissions look like you are allowing Create, so I am also >> > > bewildered. >> > > >> > > What does running: >> > > >> > > roundup-admin -i <tracker/home/dir> security user >> > > >> > > report? (note: internally role names are all lowercase hence 'user' >> > > not 'User'., This is also a bug and will be fixed to lowercase the >> > > role string.) I fixed the bug so 2.4.0 will accept User, user, UsER etc. and display the "user" role. >Role "user": >User may access the web interface (Web Access) >User may use the email interface (Email Access) >User may access the rest interface (Rest Access) >User may access the xmlrpc interface (Xmlrpc Access) >User is allowed to access this (View for "issue" only) >User is allowed to edit this (Edit for "issue" only) >User is allowed to create issue (Create for "issue" only) >User is allowed to access file (View for "file" only) >User is allowed to edit file (Edit for "file" only) >User is allowed to create file (Create for "file" only) >User is allowed to access msg (View for "msg" only) >User is allowed to edit msg (Edit for "msg" only) >User is allowed to create msg (Create for "msg" only) >User is allowed to access priority (View for "priority" only) >User is allowed to access status (View for "status" only) >Users is allowed to access issue Search (Search for "issue" only) >User is allowed to access this (on the nosy list) (View for "issue" only) >User is allowed to edit this (on the nosy list) (Edit for "issue" only) >User is allowed to access this (on the nosy list) (View for "msg" only) >User is allowed to edit this (on the nosy list) (Edit for "msg" only) >User is allowed to create this (on the nosy list) (Edit for "msg" only) >(View for "user": ('id', 'organisation', 'phone', 'realname', >'timezone', 'username') only) >User is allowed to view their own user details (View for "user" only) >User is allowed to edit their own user details (Edit for "user": >('username', 'password', 'address', 'realname', 'phone', >'organisation', 'alternate_addresses', 'queries', 'timezone') only) >User is allowed to view their own and public queries (View for "query" only) > (Search for "query" only) >User is allowed to edit their queries (Edit for "query" only) >User is allowed to retire their queries (Retire for "query" only) >User is allowed to restore their queries (Restore for "query" only) >User is allowed to create queries (Create for "query" only) Yup that looks like what I expected to see. So nothing to see here, let's move along 8-). >Thanks again, You're welcome. I hope you enjoy using Roundup. If you are on GitHub, I would apreciate it if you would star the repo. https://github.com/roundup-tracker/roundup Also if you don't mind, I would like to know how you intend to use Roundup? Is it a help desk/IT role or bug/development or some other role? Is it company wide or just for a local group? How many people are going to use it? How large is your company, < 50 employees, < 100, < 500, < 1000 > 1000 Is it internal or external facing at your company? Have a great week and I am glad your problem is solved. -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: Chuck C. <chu...@gm...> - 2023-10-08 22:56:16
|
Hi John, >From trying to answer your questions I actually discovered the reason for my problem - the tracker was actually working exactly as it should, I just had messages_to_author set to "no" in config.ini, and that made me erroneously think that email weren't being sent. Previously, I had been doing everything under the admin account, but when I added my user_nosy_issue() check, I started using a regular "User" account and mistakenly thought msg creation was broken. i still provided all the output requested below, for completeness and in case you have any other advice. Thanks again, Charles On Fri, Oct 6, 2023 at 8:44 AM Chuck Cunningham <chu...@gm...> wrote: > > PS - I checked /usr/bin/python3 and it's python 3.7.3 > > thanks for any advice. perhaps I should migrate to the newest roundup > for enhanced permission control? > > On Thu, Oct 5, 2023 at 8:58 PM Chuck Cunningham > <chu...@gm...> wrote: > > > > Thanks John, > > > > It's Roundup 2.0.0 and it seems /usr/bin/python3 is being called in > > roundup-server etc. > > > > On Thu, Oct 5, 2023 at 8:04 PM John P. Rouillard <ro...@cs...> wrote: > > > > > > Hi Chuck: > > > > > > What version of Roundup are you running? What version of Python? Roundup 2.0.0 and python 3.7.3 > > > > > > In message > > > <CAH...@ma...>, > > > Chuck Cunningham writes: > > > >I have my tracker set up so that users only see issues they create or > > > >assigned to them by doing this: > > > > > > > >def user_issue(db, userid, itemid): > > > > return userid == db.issue.get(itemid, 'assignedto') or userid == > > > >db.issue.get(itemid, 'creator') > > > > > > I don't think you need this check. It should be a subset of the nosy > > > list permission check. The creator and assignedto people should be on > > > the nosy list. Also depending on the ticket, you might want to exclude > > > the creator. In a tracker I built, I use the nosy list (and a > > > 'verynosy') as ACL's for access to the files and msg as well as the > > > issue. (See: > > > https://rouilj.dynamic-dns.net/fossil/roundup_sysadmin/file?name=schema.py&ci=tip > > > for the (messy) schema.) Thanks very much, I'll definitely check out your schema and maybe I can adapt. I added the user_issue() check so that users only see their own issues > > > > > > >p = db.security.addPermission(name='View', klass='issue', > > > > check=user_issue,description="User is allowed to access this") > > > >db.security.addPermissionToRole('User', p) > > > >p = db.security.addPermission(name='Edit', klass='issue', > > > > check=user_issue,description="User is allowed to edit this") > > > >db.security.addPermissionToRole('User', p) > > > >db.security.addPermissionToRole('User', 'Create', 'issue') > > > > > > > >for cl in 'file', 'msg': > > > > db.security.addPermissionToRole('User', 'View', cl) > > > > db.security.addPermissionToRole('User', 'Edit', cl) > > > > db.security.addPermissionToRole('User', 'Create', cl) > > > > > > This should allow every person with the User role to create/edit/view > > > any msg or file. Note that this set of permissions doesn't restrict > > > access to an individual msg or file. Yeah, I did this at the time of adding the user_issue() check because I couldn't figure out how to do the equivalent for 'file' and 'msg' and figured I didn't need super high security, so giving 'User' access to all files and messsages seemed ok. > > > > > > >I then wanted to make it so that users also see issues for which they > > > >are on the nosy list: > > > > > > > >def user_nosy_issue(db, userid, itemid): > > > > nosy = db.issue.get(itemid, 'nosy') > > > > # check if userid is in the list and return 1 if yes, 0 otherwise > > > > return nosy.count(userid) > > > > > > Although 'return userid in nosy' is more idiomatic, this should > > > work. Using count() is less efficient though. Count has to visit each > > > value in the nosy array to count all matching values. It doesn't stop > > > once it finds a match. > > > > > > I'm trying to remember if the nosy value is a list of strings or > > > integers. I think userid and the items in the nosy list are both > > > strings. So your code should work as expected. > > > > > > I raise this because: > > > > > > nosy = ['1', '2', '3'] > > > c = nosy.count(1) > > > > > > c will be 0. > > > > > > c = nosy.count('1') > > > > > > c will be 1. Also vice versa. > > > > > > ># add permission for issue view and edit for people on nosy list > > > >p = db.security.addPermission(name='View', klass='issue', > > > > check=user_nosy_issue, description="User is allowed to access this") > > > >db.security.addPermissionToRole('User', p) > > > >p = db.security.addPermission(name='Edit', klass='issue', > > > > check=user_nosy_issue,description="User is allowed to edit this") > > > >db.security.addPermissionToRole('User', p) > > > > > > I suggest changing your descriptions to include nosy somehow. E.G. > > > > > > description="User is allowed to access this (on nosy list)" > > > will do that now so that the output below is better > > > >This works great except people on the nosy list can't reply (and > > > >create a 'msg')..I know there is something I need to do to the > > > >permissions for messages, but can't figure it out. Any pointers much > > > >appreciated. > > > > > > Your msg permissions look like you are allowing Create, so I am also > > > bewildered. > > > > > > What does running: > > > > > > roundup-admin -i <tracker/home/dir> security user > > > > > > report? (note: internally role names are all lowercase hence 'user' > > > not 'User'., This is also a bug and will be fixed to lowercase the > > > role string.) Role "user": User may access the web interface (Web Access) User may use the email interface (Email Access) User may access the rest interface (Rest Access) User may access the xmlrpc interface (Xmlrpc Access) User is allowed to access this (View for "issue" only) User is allowed to edit this (Edit for "issue" only) User is allowed to create issue (Create for "issue" only) User is allowed to access file (View for "file" only) User is allowed to edit file (Edit for "file" only) User is allowed to create file (Create for "file" only) User is allowed to access msg (View for "msg" only) User is allowed to edit msg (Edit for "msg" only) User is allowed to create msg (Create for "msg" only) User is allowed to access priority (View for "priority" only) User is allowed to access status (View for "status" only) Users is allowed to access issue Search (Search for "issue" only) User is allowed to access this (on the nosy list) (View for "issue" only) User is allowed to edit this (on the nosy list) (Edit for "issue" only) User is allowed to access this (on the nosy list) (View for "msg" only) User is allowed to edit this (on the nosy list) (Edit for "msg" only) User is allowed to create this (on the nosy list) (Edit for "msg" only) (View for "user": ('id', 'organisation', 'phone', 'realname', 'timezone', 'username') only) User is allowed to view their own user details (View for "user" only) User is allowed to edit their own user details (Edit for "user": ('username', 'password', 'address', 'realname', 'phone', 'organisation', 'alternate_addresses', 'queries', 'timezone') only) User is allowed to view their own and public queries (View for "query" only) (Search for "query" only) User is allowed to edit their queries (Edit for "query" only) User is allowed to retire their queries (Retire for "query" only) User is allowed to restore their queries (Restore for "query" only) User is allowed to create queries (Create for "query" only) > > > > > > Have a great day. > > > -- > > > -- rouilj > > > John Rouillard > > > =========================================================================== > > > My employers don't acknowledge my existence much less my opinions. |
|
From: John P. R. <ro...@cs...> - 2023-10-07 19:11:04
|
Hi all: For those docker aficionados, I just built a multi-architecture docker image. It supports i386, amd64, and arm64. I am especially interested in how the arm64 image works or doesn't work. I only have a couple of old, small rasp-pi's so I can't really test the image. You can get it with: docker pull rounduptracker/roundup-development:multi and run a demo as documented in the installation doc: https://roundup-tracker.org/docs/installation.html#running-in-demo-mode-with-docker It is running version 91fad2d2c4b3 from the development tip. Have a great weekend. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |
|
From: John P. R. <ro...@cs...> - 2023-10-06 14:56:10
|
Hi Simon:
In message <a66...@ho...>,
Eigeldinger Simon writes:
>$ roundup-admin templates trace_search
>
>C:\roundup\lib\site-packages\share\roundup\templates
>C:\roundup\share\roundup\templates
>C:\share\roundup\templates
>C:\share\roundup\templates
>C:\roundup\lib\site-packages\:\roundup\share\roundup\templates
>C:\roundup\lib\site-packages\:\Python310\local\share\roundup\templates
>C:\roundup\lib\site-packages\:\Python310\share\roundup\templates
>C:\roundup/*
>C:\roundup
Yup that matches what I see on my local install. None of the paths
with a : in them will work, but it's doing the "expected thing by
trying to strip the leading '/' from the path to make it a relative
path. On Windows that just removes the 'C' 8-/.
>The installation has dropped the templates into
>C:\roundup\Lib\site-packages\roundup\share\roundup\templates
>
>So i copied the complete roundup dir from
>C:\roundup\Lib\site-packages\roundup\share\
>to
>c:\roundup\share
>
>So i tried creating a tracker again:
>
>$ roundup-admin install
>Enter tracker home: c:\roundup\trackers
>Templates:: classic, devel, jinja2, minimal, responsive
That looks much better.
>After doing some changes in the config file i did:
>
>$ roundup-admin initialise
>
>Enter tracker home: c:\roundup\trackers
>Admin Password:
> Confirm:
>
>So it seems it worked that time.
Hurrah success.
Now that I have a windows platform to work on I'll see if I can fix it
to install the docs, templates etc. in a better place.
Since it looks like you might want to use the tracker in the German
language, I tried testing in German by manually change the URL to add
the:
@language=de
query parameter. For example:
http://loclhost:8917/demo/?@language=de
(note adding @language=none should return you to the browser defaults.).
In testing the locale files are not being found. I have debugged it
and gotten something that shows the German trnslation in the web
interface. But I am not happy with the "fix". So to get a German
speaking tracker, you might need to wait a bit.
Have a great weekend and thanks for reporting back.
--
-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.
|
|
From: Chuck C. <chu...@gm...> - 2023-10-06 12:45:07
|
PS - I checked /usr/bin/python3 and it's python 3.7.3 thanks for any advice. perhaps I should migrate to the newest roundup for enhanced permission control? On Thu, Oct 5, 2023 at 8:58 PM Chuck Cunningham <chu...@gm...> wrote: > > Thanks John, > > It's Roundup 2.0.0 and it seems /usr/bin/python3 is being called in > roundup-server etc. > > On Thu, Oct 5, 2023 at 8:04 PM John P. Rouillard <ro...@cs...> wrote: > > > > Hi Chuck: > > > > What version of Roundup are you running? What version of Python? > > > > In message > > <CAH...@ma...>, > > Chuck Cunningham writes: > > >I have my tracker set up so that users only see issues they create or > > >assigned to them by doing this: > > > > > >def user_issue(db, userid, itemid): > > > return userid == db.issue.get(itemid, 'assignedto') or userid == > > >db.issue.get(itemid, 'creator') > > > > I don't think you need this check. It should be a subset of the nosy > > list permission check. The creator and assignedto people should be on > > the nosy list. Also depending on the ticket, you might want to exclude > > the creator. In a tracker I built, I use the nosy list (and a > > 'verynosy') as ACL's for access to the files and msg as well as the > > issue. (See: > > https://rouilj.dynamic-dns.net/fossil/roundup_sysadmin/file?name=schema.py&ci=tip > > for the (messy) schema.) > > > > >p = db.security.addPermission(name='View', klass='issue', > > > check=user_issue,description="User is allowed to access this") > > >db.security.addPermissionToRole('User', p) > > >p = db.security.addPermission(name='Edit', klass='issue', > > > check=user_issue,description="User is allowed to edit this") > > >db.security.addPermissionToRole('User', p) > > >db.security.addPermissionToRole('User', 'Create', 'issue') > > > > > >for cl in 'file', 'msg': > > > db.security.addPermissionToRole('User', 'View', cl) > > > db.security.addPermissionToRole('User', 'Edit', cl) > > > db.security.addPermissionToRole('User', 'Create', cl) > > > > This should allow every person with the User role to create/edit/view > > any msg or file. Note that this set of permissions doesn't restrict > > access to an individual msg or file. > > > > >I then wanted to make it so that users also see issues for which they > > >are on the nosy list: > > > > > >def user_nosy_issue(db, userid, itemid): > > > nosy = db.issue.get(itemid, 'nosy') > > > # check if userid is in the list and return 1 if yes, 0 otherwise > > > return nosy.count(userid) > > > > Although 'return userid in nosy' is more idiomatic, this should > > work. Using count() is less efficient though. Count has to visit each > > value in the nosy array to count all matching values. It doesn't stop > > once it finds a match. > > > > I'm trying to remember if the nosy value is a list of strings or > > integers. I think userid and the items in the nosy list are both > > strings. So your code should work as expected. > > > > I raise this because: > > > > nosy = ['1', '2', '3'] > > c = nosy.count(1) > > > > c will be 0. > > > > c = nosy.count('1') > > > > c will be 1. Also vice versa. > > > > ># add permission for issue view and edit for people on nosy list > > >p = db.security.addPermission(name='View', klass='issue', > > > check=user_nosy_issue, description="User is allowed to access this") > > >db.security.addPermissionToRole('User', p) > > >p = db.security.addPermission(name='Edit', klass='issue', > > > check=user_nosy_issue,description="User is allowed to edit this") > > >db.security.addPermissionToRole('User', p) > > > > I suggest changing your descriptions to include nosy somehow. E.G. > > > > description="User is allowed to access this (on nosy list)" > > > > >This works great except people on the nosy list can't reply (and > > >create a 'msg')..I know there is something I need to do to the > > >permissions for messages, but can't figure it out. Any pointers much > > >appreciated. > > > > Your msg permissions look like you are allowing Create, so I am also > > bewildered. > > > > What does running: > > > > roundup-admin -i <tracker/home/dir> security user > > > > report? (note: internally role names are all lowercase hence 'user' > > not 'User'., This is also a bug and will be fixed to lowercase the > > role string.) > > > > Have a great day. > > -- > > -- rouilj > > John Rouillard > > =========================================================================== > > My employers don't acknowledge my existence much less my opinions. |
|
From: Eigeldinger S. <sim...@ho...> - 2023-10-06 09:25:30
|
Hi,
Forgot to send that one:
$ roundup-admin templates trace_search
C:\roundup\lib\site-packages\share\roundup\templates
C:\roundup\share\roundup\templates
C:\share\roundup\templates
C:\share\roundup\templates
C:\roundup\lib\site-packages\:\roundup\share\roundup\templates
C:\roundup\lib\site-packages\:\Python310\local\share\roundup\templates
C:\roundup\lib\site-packages\:\Python310\share\roundup\templates
C:\roundup/*
C:\roundup
The installation has dropped the templates into
C:\roundup\Lib\site-packages\roundup\share\roundup\templates
So i copied the complete roundup dir from
C:\roundup\Lib\site-packages\roundup\share\
to
c:\roundup\share
So i tried creating a tracker again:
$ roundup-admin install
Enter tracker home: c:\roundup\trackers
Templates:: classic, devel, jinja2, minimal, responsive
Select template [classic]:
Back ends:: anydbm, sqlite
Select backend [anydbm]: sqlite
---------------------------------------------------------------------------
You should now edit the tracker configuration file:
c:\roundup\trackers\config.ini
... at a minimum, you must set following options:
[tracker]: web
[mail]: domain, host
If you wish to modify the database schema,
you should also edit the schema file:
c:\roundup\trackers\schema.py
You may also change the database initialisation file:
c:\roundup\trackers\initial_data.py
... see the documentation on customizing for more information.
You MUST run the "roundup-admin initialise" command once you've performed
the above steps.
---------------------------------------------------------------------------
After doing some changes in the config file i did:
$ roundup-admin initialise
Enter tracker home: c:\roundup\trackers
Admin Password:
Confirm:
So it seems it worked that time.
Greetings,
Simon
Mit freundlichen Grüßen
Simon Eigeldinger
Organisation, Prozessmanagement, Informatik
Nebengebäude 1, OG1
Stadt Hohenems
Kaiser-Franz-Josef-Straße 4
6845 Hohenems
T: +43 5576 7101-1143 | E: sim...@ho... | www.hohenems.at
Diese Nachricht und allfällige angehängte Dokumente sind vertraulich und nur für den/die Adressaten bestimmt.
-----Ursprüngliche Nachricht-----
Von: ro...@cs... <ro...@cs...>
Gesendet: Freitag, 6. Oktober 2023 10:26
An: Eigeldinger Simon <sim...@ho...>
Cc: rou...@li...
Betreff: Re: AW: AW: [Roundup-users] Installing Roundup on Windows
Hello Simon:
In message <404...@ho...>,
Eigeldinger Simon writes:
>Install worked.
>Though when i want to create a tracker i see no templates to choose from.
>It also shows an error mentioning templates.
Ugh.
Di you do a 'pip' or 'pip -e' install using the current development
version? Also do you remember if it built a wheel?
What does:
roundup-admin templates trace_search
It should tell you what directories it is searching for templates. If
it finds any templates it will tell you the name, directory and
description for each installed template.
As you might guess from the fact that there is a command to debug this
it has been a problem on Linux too. It's nice that we have parity on
Windows 8-/.
The templates and things should be in:
/venv/root/share/roundup/templates
but it looks like it is putting it into:
/venv/root/Lib/site-packages/venv/root/share/roundup/templates
So if your venv is in c:\Roundup\env please see if the directory
\Roundup\env\Lib\site-packages\Roundup\env\share
exists. If so please move it to:
\Roundup\env\share
and rerun:
roundup-admin templates trace_search
to make sure your templates are visible. Any share subdirectory listed
by the templates subcommand would work. Putting it at the top of the
venv just makes it easier to find. Usually there are HTML docs and man
pages. For some reason those aren't being installed correctly.
If you can fix your install using the directions above, I'll see about
fixing it later today or over the weekend.
Have a great day and thanks for helping me debug this.
--
-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.
|
|
From: Eigeldinger S. <sim...@ho...> - 2023-10-06 09:17:19
|
Hi John,
Here's the commands i used for the complete install process and the output:
$ python --version
Python 3.10.10
$ mkdir roundup
$ cd roundup
$ python -m venv .
$ scripts\activate
$ python -m pip install pip --upgrade
Requirement already satisfied: pip in c:\roundup\lib\site-packages (22.3.1)
Collecting pip
Using cached pip-23.2.1-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.3.1
Uninstalling pip-22.3.1:
Successfully uninstalled pip-22.3.1
Successfully installed pip-23.2.1
Then i downloaded the latest code snapshot, extracted it into the roundub/src dir.
$ cd src
$ pip install .
Processing c:\roundup\src
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: roundup
Building wheel for roundup (pyproject.toml) ... done
Created wheel for roundup: filename=roundup-2.3.0-py3-none-any.whl size=1374336 sha256=e3d7df155da3bc65d16ddd5c6ea190a3fe0cce29ae8522e5376f547d3073b95f
Stored in directory: C:\Users\simon.eigeldinger\AppData\Local\Temp\pip-ephem-wheel-cache-0sjh_ue2\wheels\88\63\af\359fbd9b3f8ee2ffd9ecc35a85a8170e4c9d5817f3cb9a46bb
Successfully built roundup
Installing collected packages: roundup
Successfully installed roundup-2.3.0
$ cd ..
$ mkdir trackers
$ roundup-admin install
Enter tracker home: c:\roundup\trackers
Templates::
Select template [classic]:
Back ends:: anydbm, sqlite
Select backend [anydbm]: sqlite
Traceback (most recent call last):
File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\roundup\Scripts\roundup-admin.exe\__main__.py", line 7, in <module>
File "C:\roundup\lib\site-packages\roundup\scripts\roundup_admin.py", line 50, in run
sys.exit(tool.main())
File "C:\roundup\lib\site-packages\roundup\admin.py", line 2212, in main
ret = self.run_command(args)
File "C:\roundup\lib\site-packages\roundup\admin.py", line 2066, in run_command
return self.do_install(self.tracker_home, args)
File "C:\roundup\lib\site-packages\roundup\admin.py", line 1246, in do_install
template_config = UserConfig(templates[template]['path'] +
KeyError: 'classic'
Greetings,
Simon
Mit freundlichen Grüßen
Simon Eigeldinger
Organisation, Prozessmanagement, Informatik
Nebengebäude 1, OG1
Stadt Hohenems
Kaiser-Franz-Josef-Straße 4
6845 Hohenems
T: +43 5576 7101-1143 | E: sim...@ho... | www.hohenems.at
Diese Nachricht und allfällige angehängte Dokumente sind vertraulich und nur für den/die Adressaten bestimmt.
-----Ursprüngliche Nachricht-----
Von: ro...@cs... <ro...@cs...>
Gesendet: Freitag, 6. Oktober 2023 10:26
An: Eigeldinger Simon <sim...@ho...>
Cc: rou...@li...
Betreff: Re: AW: AW: [Roundup-users] Installing Roundup on Windows
Hello Simon:
In message <404...@ho...>,
Eigeldinger Simon writes:
>Install worked.
>Though when i want to create a tracker i see no templates to choose from.
>It also shows an error mentioning templates.
Ugh.
Di you do a 'pip' or 'pip -e' install using the current development
version? Also do you remember if it built a wheel?
What does:
roundup-admin templates trace_search
It should tell you what directories it is searching for templates. If
it finds any templates it will tell you the name, directory and
description for each installed template.
As you might guess from the fact that there is a command to debug this
it has been a problem on Linux too. It's nice that we have parity on
Windows 8-/.
The templates and things should be in:
/venv/root/share/roundup/templates
but it looks like it is putting it into:
/venv/root/Lib/site-packages/venv/root/share/roundup/templates
So if your venv is in c:\Roundup\env please see if the directory
\Roundup\env\Lib\site-packages\Roundup\env\share
exists. If so please move it to:
\Roundup\env\share
and rerun:
roundup-admin templates trace_search
to make sure your templates are visible. Any share subdirectory listed
by the templates subcommand would work. Putting it at the top of the
venv just makes it easier to find. Usually there are HTML docs and man
pages. For some reason those aren't being installed correctly.
If you can fix your install using the directions above, I'll see about
fixing it later today or over the weekend.
Have a great day and thanks for helping me debug this.
--
-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.
|
|
From: John P. R. <ro...@cs...> - 2023-10-06 08:25:47
|
Hello Simon: In message <404...@ho...>, Eigeldinger Simon writes: >Install worked. >Though when i want to create a tracker i see no templates to choose from. >It also shows an error mentioning templates. Ugh. Di you do a 'pip' or 'pip -e' install using the current development version? Also do you remember if it built a wheel? What does: roundup-admin templates trace_search It should tell you what directories it is searching for templates. If it finds any templates it will tell you the name, directory and description for each installed template. As you might guess from the fact that there is a command to debug this it has been a problem on Linux too. It's nice that we have parity on Windows 8-/. The templates and things should be in: /venv/root/share/roundup/templates but it looks like it is putting it into: /venv/root/Lib/site-packages/venv/root/share/roundup/templates So if your venv is in c:\Roundup\env please see if the directory \Roundup\env\Lib\site-packages\Roundup\env\share exists. If so please move it to: \Roundup\env\share and rerun: roundup-admin templates trace_search to make sure your templates are visible. Any share subdirectory listed by the templates subcommand would work. Putting it at the top of the venv just makes it easier to find. Usually there are HTML docs and man pages. For some reason those aren't being installed correctly. If you can fix your install using the directions above, I'll see about fixing it later today or over the weekend. Have a great day and thanks for helping me debug this. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions. |