Multi-domain setup with Kolab 3.3 on CentOS 7

Urban Emanuel urban.emanuel.ml at gmail.com
Mon Oct 6 17:51:44 CEST 2014


Now I re-tested with the 3.1 solution (disabling ptloader).

Success varies, I can create some users in some domains, but not in
others. I found a new error though: When creating a user does not
succeed, I get the error message below in /var/log/kolab/pykolab.log.
When looking at the new LDAP entry for the user I also see that the
field "mailHost" is missing.

Here is the error:

2014-10-06 17:42:16,309 pykolab.auth ERROR An error occured using
_paged_search: OperationalError('(OperationalError) attempt to write a
readonly database',)
2014-10-06 17:42:16,309 pykolab.auth ERROR Traceback (most recent call
last):
  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py",
line 2725, in _search
    secondary_domains
  File "<string>", line 10, in <module>
  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py",
line 2509, in _paged_search
    callback(entry=_result_data)
  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py",
line 2332, in _synchronize_callback
    eval("self._change_none_%s(entry, None)" % (entry['type']))
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py",
line 1902, in _change_none_user
    cache.get_entry(self.domain, entry)
  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/cache.py",
line 150, in get_entry
    db.commit()
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 673, in commit
    self.transaction.commit()
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 378, in commit
    self._prepare_impl()
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 362, in _prepare_impl
    self.session.flush()
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 1354, in flush
    self._flush(objects)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/session.py",
line 1432, in _flush
    flush_context.execute()
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/unitofwork.py",
line 257, in execute
    UOWExecutor().execute(self, tasks)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/unitofwork.py",
line 720, in execute
    self.execute_save_steps(trans, task)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/unitofwork.py",
line 735, in execute_save_steps
    self.save_objects(trans, task)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/unitofwork.py",
line 726, in save_objects
    task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/orm/mapper.py", line
1376, in _save_obj
    c = connection.execute(statement.values(value_params), params)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py",
line 824, in execute
    return Connection.executors[c](self, object, multiparams, params)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py",
line 874, in _execute_clauseelement
    return self.__execute_context(context)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py",
line 896, in __execute_context
    self._cursor_execute(context.cursor, context.statement,
context.parameters[0], context=context)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py",
line 950, in _cursor_execute
    self._handle_dbapi_exception(e, statement, parameters, cursor, context)
  File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py",
line 931, in _handle_dbapi_exception
    raise exc.DBAPIError.instance(statement, parameters, e,
connection_invalidated=is_disconnect)
OperationalError: (OperationalError) attempt to write a readonly
database u'UPDATE entry SET last_change=? WHERE entry.id = ?'
['2014-09-25 14:12:08.000000', 1]

I am not sure which database is refered to here - any clues?

Thanks
Urban

On 09/30/2014 10:24 AM, Urban Emanuel wrote:
> On 09/29/2014 10:51 PM, Cornelius Hald wrote:
>> Well, at least I'm not alone :)
> [...]
> 
> That´s exactly what I thought when reading this thread.
> 
> I spend the better part of several weeks now with this (CentOS 6.5 &
> Kolab 3.3 & multi domain), and got very inconsistent results.
> 
> I found the solution with "ldap_domain_base_dn: cn=kolab,cn=config" as
> well (the documentation is slightly misleading there). However, I never
> got it to work in a robust way.
> 
> Using the old 3.1 solution (disabling ptloader) did not work for me
> either, but I will have another look at it.
> 
> Resulting problems varied for me: Sometimes users in the primary domain
> could not log in, sometimes users in the additional domains could not
> log in, sometimes mailboxes are created, sometimes not, sometimes the
> subfolders are missing and so on.
> 
> To be honest, I am not perfectly sure what the effect of disabling
> ptloader would be - does this just mean that people cannot log in using
> there mail aliases (which we could live with), or are there other
> ramifications?
> 
> Urban
> 


More information about the users mailing list