[CalendarServer-dev] Migrating from 5.1 to 8.0 --was: Re: Circular reference in 8.0 (cannot import name GroupCacherPollingWork)

Andre LaBranche dre at apple.com
Tue Jun 7 17:29:03 PDT 2016

> On Jun 7, 2016, at 1:20 PM, Axel Rau <Axel.Rau at chaos1.de> wrote:
>> Am 02.06.2016 um 19:42 schrieb Axel Rau <Axel.Rau at chaos1.de>:
>> Now I’m faced with:
>> [twext.enterprise.adbapi2#debug] ConnectionPool: txn busy 'jobqueue.workCheck': free=0, busy=1, waiting=0
>> [twext.enterprise.adbapi2#debug] ConnectionPool: txn free 'jobqueue.workCheck': free=1, busy=0, waiting=0
>> [directoryproxy] Usage: twistd [options]
>> [directoryproxy] Options:
> This has been resolved by upgrading twisted. )-;

Great! If you're not already looking at our requirements.txt files and trying to follow their guidance, I would suggest doing that. If you resolved this by upgrading to a version newer than what is stated in our requirements files, that would be good to know also.

> After setting uid to guid, I could connect to my test server.
> This should be stressed in the README!

Noted, thanks.

> After putting the users e-mail address into short-name, everyone can configure his account by e-mail and pw. (-:


> What drives me mad is this:
> - - -
> [caldav3:local/etc/caldavd] root# python /usr/local/lib/python2.7/site-packages/calendarserver/tools/principals.py --help
> Traceback (most recent call last):
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tools/principals.py", line 33, in <module>
>    from calendarserver.tools.cmdline import utilityMain, WorkerService
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tools/cmdline.py", line 21, in <module>
>    from calendarserver.tap.util import checkDirectories, getRootResource
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/util.py", line 38, in <module>
>    from calendarserver.tools.util import checkDirectory
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tools/util.py", line 38, in <module>
>    from twistedcaldav.stdconfig import DEFAULT_CONFIG_FILE
>  File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1831, in <module>
>    config.update() 
>  File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update
>    hook(self._data, reloading=reloading)
>  File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1457, in _postUpdateResourceService
>    from twistedcaldav.upgrade import upgradeResourcesXML
>  File "/usr/local/lib/python2.7/site-packages/twistedcaldav/upgrade.py", line 67, in <module>
>    from calendarserver.tap.util import getRootResource, FakeRequest
> ImportError: cannot import name getRootResource
> - - -
> All tools have this problem!
> What can I do to help resolving this?

Do you have anything at /var/db/caldavd? If so, what is there? The default path for ServerRoot is /var/db/caldavd. I think (with help from Cyrus :) what's happening here is that the CLI argument processing ends up reaching into our config object at a time when it hasn't been initialized beyond the defaults values found in twistedcaldavd/stdconfig.py. This is likely a bug in the server, which seems to be brought to the fore by the combination of having stuff at /var/db/caldavd and also using a config file that defines a different ServerRoot.


More information about the calendarserver-dev mailing list