[CalendarServer-changes] [15342] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Thu Nov 19 17:57:34 PST 2015
Revision: 15342
http://trac.calendarserver.org//changeset/15342
Author: cdaboo at apple.com
Date: 2015-11-19 17:57:34 -0800 (Thu, 19 Nov 2015)
Log Message:
-----------
v5/v8 podding fixes.
Modified Paths:
--------------
CalendarServer/trunk/requirements-cs.txt
CalendarServer/trunk/twistedcaldav/sharing.py
CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/localservers.py
CalendarServer/trunk/txdav/common/datastore/sql.py
CalendarServer/trunk/txdav/who/delegates.py
CalendarServer/trunk/txdav/who/groups.py
Modified: CalendarServer/trunk/requirements-cs.txt
===================================================================
--- CalendarServer/trunk/requirements-cs.txt 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/requirements-cs.txt 2015-11-20 01:57:34 UTC (rev 15342)
@@ -7,7 +7,7 @@
zope.interface==4.1.3
setuptools==18.5
- --editable svn+http://svn.calendarserver.org/repository/calendarserver/twext/trunk@15335#egg=twextpy
+ --editable svn+http://svn.calendarserver.org/repository/calendarserver/twext/trunk@15341#egg=twextpy
cffi==1.3.0
pycparser==2.14
#twisted
Modified: CalendarServer/trunk/twistedcaldav/sharing.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/sharing.py 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/twistedcaldav/sharing.py 2015-11-20 01:57:34 UTC (rev 15342)
@@ -554,11 +554,15 @@
if sharee is None:
returnValue(False)
- result = (yield self._newStoreObject.inviteUIDToShare(
- sharee.principalUID(),
- invitationBindModeFromXMLMap[type(ace)],
- summary,
- ))
+ try:
+ result = (yield self._newStoreObject.inviteUIDToShare(
+ sharee.principalUID(),
+ invitationBindModeFromXMLMap[type(ace)],
+ summary,
+ ))
+ except Exception as e:
+ self.log.error("Could not send sharing invite '{userid}': {ex}", userid=userid, ex=e)
+ result = None
returnValue(result)
@@ -577,7 +581,11 @@
else:
returnValue(False)
- result = (yield self._newStoreObject.uninviteUIDFromShare(uid))
+ try:
+ result = (yield self._newStoreObject.uninviteUIDFromShare(uid))
+ except Exception as e:
+ self.log.error("Could not send sharing uninvite '{userid}': {ex}", userid=userid, ex=e)
+ result = None
returnValue(result)
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/localservers.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/localservers.py 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/ischedule/localservers.py 2015-11-20 01:57:34 UTC (rev 15342)
@@ -105,8 +105,8 @@
return self._thisServer
- def allServersExceptThis(self):
- return filter(lambda x: x != self._thisServer, self._servers.values())
+ def allServersExceptThis(self, filter_v5=False):
+ return filter(lambda x: x != self._thisServer and not (filter_v5 and x.v5), self._servers.values())
def installReverseProxies(self, maxClients):
Modified: CalendarServer/trunk/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/sql.py 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/txdav/common/datastore/sql.py 2015-11-20 01:57:34 UTC (rev 15342)
@@ -1951,9 +1951,11 @@
if status is None:
createStatus = _HOME_STATUS_NORMAL if record.thisServer() else _HOME_STATUS_EXTERNAL
+ if record.server() is not None and record.server().v5:
+ raise RecordNotAllowedError("Cannot create external home for user on v5 pod: {}".format(uid))
elif status == _HOME_STATUS_MIGRATING:
if record.thisServer():
- raise RecordNotAllowedError("Cannot migrate a user data for a user already hosted on this server")
+ raise RecordNotAllowedError("Cannot migrate user data for a user already hosted on this server")
createStatus = status
elif status in (_HOME_STATUS_NORMAL, _HOME_STATUS_EXTERNAL,):
createStatus = status
Modified: CalendarServer/trunk/txdav/who/delegates.py
===================================================================
--- CalendarServer/trunk/txdav/who/delegates.py 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/txdav/who/delegates.py 2015-11-20 01:57:34 UTC (rev 15342)
@@ -568,7 +568,10 @@
@param readWrite: if True, read and write access is granted; read-only
access otherwise
"""
- return txn.store().conduit.send_set_delegates(txn, delegator, delegates, readWrite)
+ if delegator.server().v5:
+ return succeed(None)
+ else:
+ return txn.store().conduit.send_set_delegates(txn, delegator, delegates, readWrite)
def _podDelegates(self, txn, delegator, readWrite, expanded=False):
@@ -584,7 +587,10 @@
"""
log.debug("_podDelegates for: {uid} and read-write = {rw} and expanded = {expanded}", uid=delegator.uid, rw=readWrite, expanded=expanded)
- return txn.store().conduit.send_get_delegates(txn, delegator, readWrite, expanded)
+ if delegator.server().v5:
+ return succeed(set())
+ else:
+ return txn.store().conduit.send_get_delegates(txn, delegator, readWrite, expanded)
@inlineCallbacks
@@ -602,10 +608,14 @@
"""
log.debug("_podDelegators for: {uid} and read-write = {rw}", uid=delegate.uid, rw=readWrite)
- results = yield DeferredList([
- txn.store().conduit.send_get_delegators(txn, server, delegate, readWrite) for
- server in txn.directoryService().serversDB().allServersExceptThis()
- ], consumeErrors=True)
+ otherServers = txn.directoryService().serversDB().allServersExceptThis(filter_v5=True)
+ if len(otherServers) != 0:
+ results = yield DeferredList([
+ txn.store().conduit.send_get_delegators(txn, server, delegate, readWrite) for
+ server in txn.directoryService().serversDB().allServersExceptThis()
+ ], consumeErrors=True)
+ else:
+ results = []
delegators = set()
for result in results:
if result and result[0]:
Modified: CalendarServer/trunk/txdav/who/groups.py
===================================================================
--- CalendarServer/trunk/txdav/who/groups.py 2015-11-20 01:55:39 UTC (rev 15341)
+++ CalendarServer/trunk/txdav/who/groups.py 2015-11-20 01:57:34 UTC (rev 15342)
@@ -513,10 +513,13 @@
)
# Also get group delegates from other pods
- if txn.directoryService().serversDB() is not None and len(txn.directoryService().serversDB().allServersExceptThis()) != 0:
+ if (
+ txn.directoryService().serversDB() is not None and
+ len(txn.directoryService().serversDB().allServersExceptThis(filter_v5=True)) != 0
+ ):
results = yield DeferredList([
txn.store().conduit.send_all_group_delegates(txn, server) for
- server in txn.directoryService().serversDB().allServersExceptThis()
+ server in txn.directoryService().serversDB().allServersExceptThis(filter_v5=True)
], consumeErrors=True)
for result in results:
if result and result[0]:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20151119/aacd3427/attachment.html>
More information about the calendarserver-changes
mailing list