Opened 6 years ago

Closed 6 years ago

# TestManager is not installable on Trac 0.12.2

Reported by: Owned by: A.Stroppel@… Roberto Longobardi high TestManagerForTracPlugin blocker trac 0.12 TestManagerPlugin 0.12

### Description

When trying to install the TestManagerForTracPlugin, the installation hangs in the installation of the testmanager_plugin. I tried to go back in versions to install and found out that release 1.3.11 is the last one working.

The failure I get is, that trac always requests to upgrade the backend. But even after upgrading using the trac-admin command this error isn't solved. So I am unable to start my trac again.

Greetings Andreas

### comment:1 Changed 6 years ago by Roberto Longobardi

Hi Andreas, actually this is strange, since you are the first to report this issue. Also, the plugin installs correctly in my 0.12.2 environment.

Please, could you turn debug on in your trac and attach the errors you get during the upgrade?

Ciao, Roberto

### comment:3 Changed 6 years ago by anonymous

Hi there,

the installation is no upgrade its a fresh install. We also where a bit suprised, that no one else has this failure as we tracked down this behaviour till 1.3.12 of you're plugin. But we also recognized that all your bugs tracked since 1.3.12 are for trac 0.11 not for 0.12 so perhaps something is anyway strange there. Let's see...

So, hopefully here are all information you requested. If it's to less or if you miss something don't hesitate to give me a hint.

PreRequisits before installing your addon: Trac 12.2 installed completely from scratch TracXMLRPC 1.1.2-r9913

Installation procedure:

1. installed TracGenericClass-1.0.4-py2.6.egg

upgrade procedure it tells everything is fine.

The system trac is installed is: vmware maschine with debian (kernel 2.6.32-5-amd64 think it is a lenny) installed Python 2.6.6 Apache 2.2.16

According to the Logfiles Trac is missing some Libraries like: Pygments>=0.6 docutils>=0.3 SilverCity>=0.9.4 textile>=2.0

But as I couldn't find any documentation saying that are prerequisites I thought they are optional.

1. On installing Generic Class:
Mar 17 12:47:04 ## Trac[api] INFO: Synchronized '' repository in 0.01 seconds
Mar 17 12:47:04 ## Trac[web_ui] INFO: Installing plugin TracGenericClass-1.0.4-py2.6.egg
Mar 17 12:47:04 ## Trac[web_ui] INFO: Plugin TracGenericClass-1.0.4-py2.6.egg installed to /var/lib/trac/plugins/TracGenericClass-1.0.4-py2.6.egg
Mar 17 12:47:04 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:47:04 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:47:04 ## Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
Mar 17 12:47:04 ## Trac[api] INFO: Synchronized '' repository in 0.01 seconds
Mar 17 12:47:05 ## ï»¿<12>Trac[chrome] WARNING: File your_project_logo.png not found in any of ['/var/lib/trac/htdocs']

1. On installing Generic Workflow:
Mar 17 12:49:26 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:49:26 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:49:26 ## Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
Mar 17 12:49:26 ## Trac[api] INFO: Synchronized '' repository in 0.01 seconds
Mar 17 12:49:26 ## Trac[web_ui] INFO: Installing plugin TracGenericWorkflow-1.0.2-py2.6.egg
Mar 17 12:49:26 ## Trac[web_ui] INFO: Plugin TracGenericWorkflow-1.0.2-py2.6.egg installed to /var/lib/trac/plugins/TracGenericWorkflow-1.0.2-py2.6.egg
Mar 17 12:49:26 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:49:26 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:49:26 ## Trac[env] WARNING: Component <tracgenericworkflow.model.GenericWorkflowModelProvider object at 0x7fad54465510> requires environment upgrade


Mar 17 12:50:47 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:50:47 ## Trac[env] WARNING: Component <tracgenericworkflow.model.GenericWorkflowModelProvider object at 0x33bf110> requires environment upgrade
Mar 17 12:50:47 ## Trac[env] INFO: tracgenericworkflow.model.GenericWorkflowModelProvider upgrading...


3.2 On refreshing Trac after upgrade:

Mar 17 12:52:46 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:52:46 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:52:46 ## Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
Mar 17 12:52:46 ## Trac[api] INFO: Synchronized '' repository in 0.01 seconds
Mar 17 12:52:47 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:52:47 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:52:47 ## Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
Mar 17 12:52:47 ## Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
Mar 17 12:52:47 ## ï»¿<12>Trac[chrome] WARNING: File your_project_logo.png not found in any of ['/var/lib/trac/htdocs']
Mar 17 12:52:47 ## ï»¿<12>Trac[chrome] WARNING: File your_project_logo.png not found in any of ['/var/lib/trac/htdocs']

1. on installing TestManager:
Mar 17 12:53:35 ## Trac[api] INFO: Synchronized '' repository in 0.01 seconds
Mar 17 12:53:35 ## Trac[web_ui] INFO: Installing plugin TestManager-1.4.4-py2.6.egg
Mar 17 12:53:35 ## Trac[web_ui] INFO: Plugin TestManager-1.4.4-py2.6.egg installed to /var/lib/trac/plugins/TestManager-1.4.4-py2.6.egg
Mar 17 12:53:35 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:53:35 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:53:35 ## Trac[env] WARNING: Component <testmanager.model.TestManagerModelProvider object at 0x7fad53d18710> requires environment upgrade


3.1 On upgrading after TestManager install:

Mar 17 12:54:23 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:54:24 ## Trac[env] WARNING: Component <testmanager.model.TestManagerModelProvider object at 0x1c7d110> requires environment upgrade
Mar 17 12:54:24 ## Trac[env] INFO: testmanager.model.TestManagerModelProvider upgrading...


Mar 17 12:54:51 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:54:51 ## Trac[env] INFO: Reloading environment due to configuration change
Mar 17 12:54:51 ## Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.2] --------------------------------
Mar 17 12:54:51 ## Trac[env] WARNING: Component <trac.ticket.default_workflow.ConfigurableTicketWorkflow object at 0x7fad54218c90> requires environment upgrade


### comment:4 Changed 6 years ago by anonymous

Ok,

should read the manual for the trac wiki. The format got lost in my last Response. Sorry on that. If I have to format it better give me an information. But i can't change the last one as it was written anonymous.. :(

### comment:5 Changed 6 years ago by anonymous

OK, installed the missing tools except SilverCity. Nothing changed...

Greetings Andreas

### comment:6 Changed 6 years ago by anonymous

grml sorry.. missed the used Database: we use the sqlite DB.

### comment:7 Changed 6 years ago by Roberto Longobardi

Hi Andreas, from the log you attached it looks like the ticket workflow engine (not test manager) keeps asking for upgrade in the end:

Mar 17 12:54:51 ## Trac[env] WARNING: Component <trac.ticket.default_workflow.ConfigurableTicketWorkflow? object at 0x7fad54218c90> requires environment upgrade


This may be a side effect of the test manager installation??? Let's try to understand why.

I don't see anything in the your last log file about the test manager plugins starting... Did you remove the section from the log?

• attach (as a file to this ticket) the complete trac log file after a full restart and after issuing the database upgrade command
• attach your trac.ini file (there may be conflicts between test manager workflow and ticket workflow??)

BTW, I too don't have silvercity and the other mising plugins in place, and everything still works fine.

Also, I am aware of people using test manager with 0.12.1 successfully. So let's track down your issue! :-)

Ciao, Roberto

### comment:8 Changed 6 years ago by anonymous

Hi Roberto,

"Also, I am aware of people using test manager with 0.12.1 successfully. So let's track down your issue! :-) "

-> Just to be correct .. we use 0.12.2

"Did you remove the section from the log?"

-> No definitly not but this time i attach the hole log File at once

Hopefully we find the reason for this. As I really like your tool. Just for another question, is it possible to version the Testcases themself? As the testcases change for other releases this would be really cool... Couldn't find anything on this yet.

Greetings Andreas

### comment:9 Changed 6 years ago by Roberto Longobardi

Hi Andreas, I looked at the log files and it looks like the test manager plugin database upgrade was successful... No errors and the next trac restart does not fail.

I noticed that sometimes the errors will only be shown when, after the next restart, you try to access any trac web page. So please, could you try to open the trac site with your browser and attach the log file again?

The trac.ini file seems correct...

Yes, I know you are on 0.12.2, but as I said I tried with that without any problem...

So, summarizing, there is no error in your log file or ini file, and I don't understand what's going wrong...

Please, could you try to reproduce the condition when trac keeps asking for an upgrade and attach the log file?

Ciao, Roberto

### comment:10 Changed 6 years ago by anonymous

Reproduction is no problem as this always happens when I try to install.

In the attached File Trac.ini.zip you can find the requested log. I refreshed the Browser for 3-4 Times always after doing an upgrade and before doing an upgrade.

Perhaps another thing that can help. When I try to upgrade not doing a full install, it seems that everything worked. The installation runs full. But at the end there still is the old version listed. This behaviour stays till i restart my apache ... then I again run in the admin upgrade failure.

So perhaps something is wrong with some cashing of Apache. Just to clearify this I did an installation keeping apache restarting after every try with the same results...

Greetings Andreas

### comment:11 Changed 6 years ago by Roberto Longobardi

Hi Andreas, I spent some time setting up the apache with wsgi environment and used the prolog you attached here as my project.

Then installed the generic class and workflow plugins, did the database upgrade command and finally installed the test manager plugin, again with a database upgrade command.

Everything works fine.

Let me give you some info about my environment:

I'm running Ubuntu and I have Trac 0.12.2 installed inside a virtual python environment, so I can have 0.11, 0.12.1 and 0.12.2 coexisting in my machine.

I usually run everything with my user, never with root privileges. Anyway, in the new Apache with mod wsgi environment I had to run the "trac-admin ... upgrade" commands as root, otherwise they kept failing and scratched my trac.ini file. After that, the ConfigurableTicketWorkflow plugin kept asking for an upgrade. This was just because, with an empty trac.ini file, that plugin thinks it has to do an upgrade.

Ciao, Roberto

### comment:12 Changed 6 years ago by anonymous

Hi Roberto,

for this test installation we installed the whole trac and your plugin completely under root. So this should work for sure shouldn't it ?

The already attached trac.ini was the trac.ini after installation of all *.egg files. So you could use that one.

I checked again and can tell now we use a debian squeeze installation. with this wsgi installation and python without virtual ;)

So as you found out, there could be a problem with user rights, but I'm not sure how this can solve to us as we have done all with root.

The only thing i can assume is, that we switched the whole directory after installation to the webserver user. But we did the trac-admin with root.

Im getting slowly confused ;)

If I understood right, it seems we have a unvalid trac.ini. So if you attach the trac.ini after your installation it will run for us, but it wont give you hints about the problem.

In the next step we will try to setup a new vmware session with a new linux and try the whole installation from scratch, just to see if something with the environment got screwed up...

Greetings Andreas

### comment:13 Changed 6 years ago by Roberto Longobardi

Hi Andreas, I am confused too...

Looking at the log file, it looks like you have installed TracXMLRPC under: /usr/local/lib/python2.6/dist-packages/TracXMLRPC-1.1.2_r9913-py2.6.egg

and TestManager under your project environment: /var/lib/trac/prolog/plugins/TestManager-1.4.4-py2.6.egg

One thing that comes into my mind is to try and install TestManager under the root python dir.

Looking at the trac.ini file after the installation it looks like the Test Manager part is missing. You should find the following sections:

{{ [test-outcomes] default = TO_BE_TESTED green.successful = Successful red.failed = Failed yellow.to_be_tested = Untested

[ticket-custom] planid = text planid.label = Test Plan testcaseid = text testcaseid.label = Test Case }}}

The part related to ConfigurableTicketWorkflow instead is there:

[ticket-workflow]
accept = new,assigned,accepted,reopened -> accepted
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> closed
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY


so I'm wondering why this plugin keeps asking for an upgrade (which it does when it doesn't find this section in the trac.ini file).

I really think there is something wrong with your apache/trac installation that's preventing the upgrade to be successful. Unfortunately I'm not very expert with that...

I would suggest you to try to use virtualenv to install trac and the plugin, and run tracd as the server. When that works, you may try to switch to Apache.

I did it (with some exceptions) and came out with a perfectly working apache+wsgi+trac+test manager environment.

If you need, as soon as I come home tonight I can try to recap all the commands and configurations I made and write them down here.

Let me know. Ciao, Roberto

### comment:14 Changed 6 years ago by Roberto Longobardi

[test-outcomes]
default = TO_BE_TESTED
green.successful = Successful
red.failed = Failed
yellow.to_be_tested = Untested

[ticket-custom]
planid = text
planid.label = Test Plan
testcaseid = text
testcaseid.label = Test Case


### Changed 6 years ago by Roberto Longobardi

My working configuration files

### comment:15 Changed 6 years ago by Roberto Longobardi

Hi Andreas, I've added an attachment to this ticket with some of my working configuration files.

Please, note that Trac has been installed using virtualenv, under /home/roberto/trac0122. You find it referenced in wsgi.conf which resides in /etc/apache2/mods-available and is linked under mods-enabled.

The sample project environment is under /home/roberto/projects/prova_012_2_lang_01. You find it referenced in several places.

The apache mod_wsgi configuration file for trac is found under the project environment, specifically in /home/roberto/projects/prova_012_2_lang_01/apache/wsgi_trac_conf.wsgi. You find it referenced in httpd.conf.

I didn't touch apache2.conf at all.

Note that I had to manually create the /home/roberto/projects/prova_012_2_lang_01/eggs directory (the PYTHON_EGG_CACHE), and give it 777 permissions, otherwise I got an error.

Generally speaking, I didn't quite paid attention to the security stuff. So I simply gave 777 to all the trac project environment tree, to let the apache user access it.

Hope this helps. Ciao, Roberto

### comment:16 Changed 6 years ago by anonymous

Hello Roberto,

thanks for your help till now. I will try to setup a new system. Perhaps this solves the error.

What looks the strangest to me is the fact, that I can install 1.3.11 Version but no version since 1.4.x. I also tried to give 777 rights to all my files it didn't worked.

even copying the trac.ini File of my 1.3.11 installation in the 1.4.11 installation didn't worked. It also asks for an upgrade and again hangs after that.

Would have been interesting whats the reason for this ...

Greetings Andreas

### comment:17 Changed 6 years ago by stefan.voelkel@…

Hi,

I narrowed it down to version 12.1 of trac. I can install TestManager on Debian Squeeze with Trac 12.0.

Trac 12.1, 12.2, 13dev does not work.

HTH

Stefan

### comment:18 Changed 6 years ago by Roberto Longobardi

Hi Stefan, I can run the plugin with no flaws on Ubuntu 10.10 and Trac 0.12.2, with apache and mod_wsgi, and with the configuration I attached to this ticket.

So the problem seems related to other distributions.

In order to reproduce it I installed a virtual machine with Debian Squeeze last night (literally :-)), apache and mod_wsgi, but have some problems configuring the security (I'm, no apache expert I'm afraid...).

I'm trying basic authentication, to keep it simple, but I keep getting "unauthorized" errors on my /trac and /trac/login pages. I followed the instructions on TracModWSGI, but with no luck.

Would you help me by attaching a set of config files for apache (i.e. apache2.conf, httpd.conf, mod_wsgi.conf, ...) that work on a clean Debian, even without any security in place?

Thanks, ciao.

Roberto

### comment:19 Changed 6 years ago by stefan.voelkel@…

The "interesting" appache part:

        WSGIScriptAlias /trac /var/lib/trac/foo/foo.wsgi
<Directory /var/lib/trac/foo/apache>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
<Location /trac>
AuthType Basic
AuthName "trac"
AuthUserFile /var/lib/trac/foo/conf/passwd
Require valid-user
</Location>


foo.wsgi

import os

os.environ['TRAC_ENV'] = '/var/lib/trac/foo'
os.environ['PYTHON_EGG_CACHE'] = '/var/lib/trac/foo/eggs'

import trac.web.main
application = trac.web.main.dispatch_request


wsgi.conf is unchanged, but I'll attach it.

However I don't think wsgi is needed, "normal" cgi should also reproduce the problem.

### comment:20 Changed 6 years ago by Roberto Longobardi

Actually I have a working environment with TestManager 1.4.4 in Debian Squeeze.

Take a look at the attached screenshots.

Installation or database did not give me any error...

Let me recap what I did, everything as root, on a freshly installed Debian:

1. Compiled and installed it:
tar xvzf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11/
python setup.py install

1. Installed Trac 0.12.2 using the now available easy_install:
easy_install Trac

1. Created needed directories to host the foo project:
mkdir -p /var/lib/trac

1. Created a foo trac project environment:
trac-admin /var/lib/trac/foo initenv

1. Created a password file for apache authentication:
htpasswd -c /var/lib/trac/foo/conf/passwd admin
htpasswd /var/lib/trac/foo/conf/passwd roberto

trac-admin /var/lib/trac/foo permission add anonymous TRAC_ADMIN

1. Run trac through tracd just to see everything worked:
tracd --port 8000 /var/lib/trac/foo

1. Set trace level to DEBUG in trac, and log to file, using the admin panel.
1. Configured apache and wsgi using exactly the info and paths Stefan provided.
1. Granted everyone 777 on /var/lib/trac:
chmod -R 777 /var/lib/trac

1. Started apache:
/etc/init.d/apache2 restart

1. Verified trac was up and running, with basic authentication working, using the browser.
1. Downloaded egg files for the TestManager plugin, 1.4.4, from sourceforge, and extracted archive.
1. Opened browser to the foo trac project, on the admin panel, and installed TracGenericClass plugin from the egg file.
1. Installed TracGenericWorkflow plugin the same way. This asks for database upgrade.
1. Opened shell as root and fired the command on screen:
trac-admin /var/lib/trac/foo upgrade

1. Restarted apache, just to be sure cache was updated:
/etc/init.d/apache2 restart

1. Refreshed browser. The trac admin page shows correctly.
1. Installed TestManager plugin the same way. This asks for another database upgrade.
1. Opened shell as root and fired the command on screen:
trac-admin /var/lib/trac/foo upgrade

1. Restarted apache. I think this time is required:
/etc/init.d/apache2 restart

1. Refreshed browser. The trac admin page shows correctly.
1. Went to test manager home page and created a test catalog. See screenshot.

I really don't understand what went wrong in your environments.

Please, double check the steps above with what you did so we can find what's different.

Hope this helps. Ciao, Roberto

### Changed 6 years ago by Roberto Longobardi

Admin page after plugins installed on Debian

### Changed 6 years ago by Roberto Longobardi

A working test catalog on Debian

### comment:21 Changed 6 years ago by Roberto Longobardi

Hi all, did you have any chance to verify the environment setup steps above?

Ciao, Roberto

### comment:22 Changed 6 years ago by Roberto Longobardi

Notice that I didn't install XmlRpc Plugin.

### comment:23 Changed 6 years ago by Roberto Longobardi

Resolution: → worksforme new → closed

Please, let me know if you keep having problems.

### comment:24 Changed 6 years ago by Russ Tyndall

Some users of my plugin are experiencing similar problems, that I also could not trac down in my plugin (TimingAndEstimationPlugin). Please see http://trac-hacks.org/ticket/8575#comment:19 for more information. If I can trac down what the problem is and get it reproduceable I will report this upstream

### comment:25 Changed 6 years ago by Russ Tyndall

My bug ended up being bad permissions on the config file, which manifested as need to upgrade in apache, but sudo trac-admin ... was working (because root had access to the conf, but apache didnt).

### comment:26 Changed 6 years ago by Roberto Longobardi

Thanks a lot Bobby for this info.

I just had a similar ticket closed that was tracked down to the same problem: write permission needed on the trac.ini file for the PostgreSQL database user.

Thanks, ciao! Roberto

### comment:27 Changed 6 years ago by Russ Tyndall

This problem has been addressed in the version 13 dev branches of trac.

Just for other's reference:

### Modify Ticket

Change Properties