[Kolab-devel] [SOLVED] Re: Debian Wheezy Installation Attempt: subprocess.call issues in setup-kolab?
Johannes Graumann
johannes_graumann at web.de
Mon Oct 1 22:00:16 CEST 2012
Johannes Graumann wrote:
> Hi, this lates one really has me confused ...
>
> On wheezy I run "setup-kolab' and the error I am finally encountering is
>> 2012-09-29 20:30:13,418 pykolab.auth DEBUG [13534]: Attempting to use
>> LDAP
> URI ldap://localhost:389
>> *** <ldap.ldapobject.SimpleLDAPObject instance at 0x1bfb638>
> ldap://localhost:389 - SimpleLDAPObject.set_option
>> ((17, 3), {})
>> *** <ldap.ldapobject.SimpleLDAPObject instance at 0x1bfb638>
> ldap://localhost:389 - SimpleLDAPObject.set_option
>> ((17, 3), {})
>> *** <ldap.ldapobject.SimpleLDAPObject instance at 0x1bfb638>
> ldap://localhost:389 - SimpleLDAPObject.simple_bind
>> (('cn=Directory Manager', 'WCawmmQ4hpZURnk', None, None), {})
>> *** <ldap.ldapobject.SimpleLDAPObject instance at 0x1bfb638>
> ldap://localhost:389 - SimpleLDAPObject.add_ext
>> (('uid=cyrus-admin,ou=Special Users,dc=graumannschaft,dc=org',
>> [('surname', 'Administrator'),
>> ('uid', 'cyrus-admin'),
>> ('objectclass',
>> ['top', 'person', 'inetorgperson', 'organizationalperson']),
>> ('userPassword', 'zbBStCZKRhgHeCE'),
>> ('givenname', 'Cyrus'),
>> ('cn', 'Cyrus Administrator')],
>> None,
>> None),
>> {})
>> Traceback (most recent call last):
>> File "/usr/sbin/setup-kolab", line 42, in <module>
>> setup.run()
>> File "/usr/lib/python2.7/dist-packages/pykolab/setup/__init__.py", line
> 42, in run
>> components.execute('_'.join(to_execute))
>> File "/usr/lib/python2.7/dist-packages/pykolab/setup/components.py",
> line 170, in execute
>> execute(component)
>> File "/usr/lib/python2.7/dist-packages/pykolab/setup/components.py",
> line 202, in execute
>> components[component_name]['function'](conf.cli_args, kw)
>> File "/usr/lib/python2.7/dist-packages/pykolab/setup/setup_ldap.py",
> line 394, in execute
>> auth._auth.ldap.add_s(dn, ldif)
>> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 194,
>> in
> add_s
>> msgid = self.add(dn,modlist)
>> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 191,
>> in
> add
>> return self.add_ext(dn,modlist,None,None)
>> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 176,
>> in
> add_ext
>> return
>
self._ldap_call(self._l.add_ext,dn,modlist,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
>> File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 99, in
> _ldap_call
>> result = func(*args,**kwargs)
>> ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server"}
>
> So far so good - 'service dirsrv status' also says it's not running ...
> hmmm ...
>
> With the slapd-kolab now configured, I can use
> 'subprocess.call(['/usr/sbin/service', 'dirsrv', 'restart'])' from within
> a python shell to make disrv (389) run ... hm.
>
> I now started to pepper the attached version of setup_ldap.py with calls
> like this:
>> print 'Status -1'
>> subprocess.call(['/usr/sbin/service', 'dirsrv', 'status'])
> and to my dismay, that ALWAYS returns that dirsrv is NOT running (see
> attachment for the locations of the calls). What is going wrong here?
> Firing up the dirsrv works from within a python shell using the same
> commands !?
>
> Puzzled, Joh
This was a tough one ... turns out that dirsrv in debian has a bug: "service
dirsrv restart" will not work, as the 389 port has not yet been released
when the starting process tries to bind to it ... thus changing
> subprocess.call(['/usr/sbin/service','dirsrv','restart'])
to
> subprocess.call(['/usr/sbin/service','dirsrv','stop'])
> time.sleep(20)
> subprocess.call(['/usr/sbin/service','dirsrv','start'])
solves the problem.
See the attached setup_ldap.py ... patchset forthcomming ...
Sincerely, Joh
More information about the devel
mailing list