[CalendarServer-users] calendarserver_upgrade failing oddly

Joe Malcolm jmalcolm at uraeus.com
Tue Jan 3 13:24:38 PST 2017


Joe Malcolm writes:
>I am attempting to install calendarserver-9.0 as an upgrade to 5.x on FreeBSD. I am using the FreeBSD port.
>
>Starting caldavd gets me a string of output that includes:
>
>2016-12-23T22:03:34+0000 [twext.enterprise.adbapi2#debug] ConnectionPool: txn free 'UpgradeAcquireLockStep.stepWithResult': free=1, busy=0, waiting=0
>2016-12-23T22:03:34+0000 [txdav.common.datastore.upgrade.sql.upgrade.UpgradeDatabaseSchemaStep#warn] Beginning database schema check.
>2016-12-23T22:03:34+0000 [txdav.common.datastore.upgrade.sql.upgrade.UpgradeDatabaseSchemaStep#warn] Required database key VERSION: 63.
>2016-12-23T22:03:34+0000 [twext.enterprise.adbapi2#debug] ConnectionPool: txn busy 'UpgradeDatabaseCoreStep.getVersions': free=0, busy=1, waiting=0
>2016-12-23T22:03:34+0000 [twext.enterprise.adbapi2#debug] ConnectionPool: txn free 'UpgradeDatabaseCoreStep.getVersions': free=1, busy=0, waiting=0
>2016-12-23T22:03:34+0000 [txdav.common.datastore.upgrade.sql.upgrade.UpgradeDatabaseSchemaStep#warn] Actual database key VERSION: 24.
>2016-12-23T22:03:34+0000 [calendarserver.tap.caldav#error] Data store not available; shutting down
>
>So, fair enough. Then running calendarserver_upgrade gets me a traceback as follows:
>
>root at cal:/usr/local/etc/caldavd # calendarserver_upgrade -f /usr/local/etc/caldavd/caldavd.plist
>Traceback (most recent call last):
>  File "/usr/local/bin/calendarserver_upgrade", line 11, in <module>
>    load_entry_point('CalendarServer==9.0', 'console_scripts', 'calendarserver_upgrade')()
>  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
>    return get_distribution(dist).load_entry_point(group, name)
>  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
>    return ep.load()
>  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2291, in load
>    return self.resolve()
>  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2297, in resolve
>    module = __import__(self.module_name, fromlist=['__name__'], level=0)
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tools/upgrade.py", line 27, in <module>
>    from txdav.common.datastore.sql import CommonDataStore
>  File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql.py", line 85, in <module>
>    from calendarserver.tools.util import displayNameForCollection, getEventDetails, agoString
>  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 1854, 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 1478, 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
>  File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/util.py", line 38, in <module>
>    from calendarserver.tools.util import checkDirectory
>ImportError: cannot import name checkDirectory
>
>So, pardon my Python ineptitude, but as the file /usr/local/lib/python2.7/site-packages/calendarserver/tools/util.py is present and is identical to the distribution, this error is pretty confusing to me. Can anyone toss me a clue?

Looking into this a bit more, there seems to be a cyclic import of
calendarserver.tools.util in this traceback, which may be why this is
failing. Is there a way this can work?

Joe


More information about the calendarserver-users mailing list