[CalendarServer-users] file attrs rebuild

Cyrus Daboo cdaboo at apple.com
Tue Jun 24 07:20:00 PDT 2008


Hi Steve,

--On June 24, 2008 9:14:59 AM -0500 Steve Roemen <stever at carlislefsp.com> 
wrote:

> Cyrus Daboo wrote:
>> Hi Steve,
>>
>> --On June 24, 2008 8:32:57 AM -0500 Steve Roemen
>> <stever at carlislefsp.com> wrote:
>>
>>> / Is there a tool that will rebuild the attrs for the calendar data
>>> directory in Linux?
>>
>> trunk/contrib/tools/fix_calendar
>>
>> You run that and pass in the path to directories that should be
>> "calendars" and it will reset the xattrs as appropriate.
>>
>
> I tried running that tool, here's the error:
>
> contrib/tools/fix_calendar /home/CalData
> [Errno 95] Operation not supported: '/home/CalData'

You should run it on individual calendar directories not on the document 
root". You may also need to use "sudo".

>
>
>
> also, here is what appears in the logs when a client tries to connect:
>
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]
> [PooledMemCacheProtocol,client] Exception rendering:
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]
> [PooledMemCacheProtocol,client] Unhandled Error
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]     Traceback (most recent
> call last):
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/Twisted/twisted/web2/server.py", line 314, in _getChild
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         result =
> res.locateChild(self, path)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/resource.py", line
> 64, in locateChild
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         d.addCallback(lambda
> _: super(AutoProvisioningResourceMixIn, self).locateChild(request,
> segments))
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/Twisted/twisted/internet/defer.py", line 191, in
> addCallback
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         callbackKeywords=kw)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/Twisted/twisted/internet/defer.py", line 182, in
> addCallbacks
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         self._runCallbacks()
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]     --- <exception caught
> here> ---
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/Twisted/twisted/internet/defer.py", line 316, in
> _runCallbacks
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         self.result =
> callback(self.result, *args, **kw)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/resource.py", line
> 64, in <lambda>
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         d.addCallback(lambda
> _: super(AutoProvisioningResourceMixIn, self).locateChild(request,
> segments))
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/Twisted/twisted/web2/dav/static.py", line 169, in
> locateChild
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         child =
> self.getChild(segments[0])
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line
> 163, in getChild
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         return
> self._parent.homeForDirectoryRecord(record)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line
> 121, in homeForDirectoryRecord
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         return
> uidResource.getChild(record.guid)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/calendar.py", line
> 218, in getChild
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         record =
> self.directory.recordWithGUID(name)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/aggregate.py",
> line 97, in recordWithGUID
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         return
> self._queryAll("recordWithGUID", guid)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/aggregate.py",
> line 117, in _queryAll
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         record =
> getattr(service, query)(*args)
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py",
> line 125, in recordWithGUID
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         for record in
> self.allRecords():
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py",
> line 138, in allRecords
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         for record in
> self.listRecords(recordType):
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/xmlfile.py", line
> 68, in listRecords
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         xmlPrincipal  =
> xmlPrincipal,
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/xmlfile.py", line
> 113, in __init__
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         enabledForCalendaring
> = xmlPrincipal.enabledForCalendaring,
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]       File
> "/home/Calendar/CalendarServer/twistedcaldav/directory/directory.py",
> line 170, in __init__
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]         assert
> len(calendarUserAddresses) == 0
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]     exceptions.AssertionError:
> 2008-06-24 09:10:34-0500 [-] [caldav-8009]

Check your accounts.xml file. I think you have a record with a 
<disable-calendar> element and also a non-empty <cuaddr> element. If your 
really want to disable calendaring for that user either comment out the 
entire <cuaddr> element or remove its content.

-- 
Cyrus Daboo



More information about the calendarserver-users mailing list