[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Initializing cn=config from existing multi-master setup via syncrepl - "glue: no superior found for"
Hi all,
Same subject, but with a minor change :) For now, as I explain in a
previous mail, it seems we have a working N-Way multimaster
replication, still with some problems.
we use RE24, checked out 2 days ago.
But, even if cn=config seems to be correclty replicated, there is a
problem with gluing database declarations.
We have a primary provider. Its config backend has been initialized by
this command : slapd -f slapd.conf -F slapd.d. All work fine, no
errors. The configuration has multiple backends (8), and some are glued.
In the slapd.conf we have something like the following :
database ldap
suffix dc=example,o=test
subordinate
database bdb
suffix o=test
glue
So, in cn=config, we have :
olcDatabase={2}ldap,cn=config
olcSuffix dc=example,o=test
olcSubordinate TRUE
olcDatabase={3}bdb,cn=config
olcSuffix o=test
olcOverlay={0}glue,olcDatabase={4}bdb,cn=config
olcOverlay {0}glue
Fine. But when the new provider replicates the entire cn=config of the
primary provider, it can not replicate this kind of configuration :
8<--------
Feb 5 10:42:37 server2 slapd[5093]: => access_allowed: add access to
"olcDatabase={2}ldap,cn=config" "entry" requested
Feb 5 10:42:37 server2 slapd[5093]: <= root access granted
Feb 5 10:42:37 server2 slapd[5093]: => access_allowed: add access
granted by manage(=mwrscxd)
Feb 5 10:42:37 server2 slapd[5093]: <= acl_access_allowed: granted to
database root
Feb 5 10:42:37 server2 slapd[5093]: => access_allowed: add access to
"cn=config" "children" requested
Feb 5 10:42:37 server2 slapd[5093]: <= root access granted
Feb 5 10:42:37 server2 slapd[5093]: => access_allowed: add access
granted by manage(=mwrscxd)
Feb 5 10:42:37 server2 slapd[5093]: >>> dnPrettyNormal:
<dc=example,o=test>
Feb 5 10:42:37 server2 slapd[5093]: <<< dnPrettyNormal:
<dc=example,o=test>, <dc=example,o=test>
Feb 5 10:42:37 server2 slapd[5093]: >>> dnPrettyNormal:
<dc=example,o=test>
Feb 5 10:42:37 server2 slapd[5093]: <<< dnPrettyNormal:
<dc=example,o=test>, <dc=example,o=test>
Feb 5 10:42:37 server2 slapd[5093]: glue: no superior found for sub
dc=example,o=test!
Feb 5 10:42:37 server2 slapd[5093]: olcSubordinate: value #0:
<olcSubordinate> handler exited with 32!
Feb 5 10:42:37 server2 slapd[5093]: send_ldap_result: conn=-1 op=0 p=0
Feb 5 10:42:37 server2 slapd[5093]: send_ldap_result: err=80 matched=""
text="<olcSubordinate> handler exited with 32"
Feb 5 10:42:37 server2 slapd[5093]: null_callback : error code 0x50
Feb 5 10:42:37 server2 slapd[5093]: syncrepl_entry: rid=001 be_add
failed (80)
Feb 5 10:42:37 server2 slapd[5093]: connection_get(12)
Feb 5 10:42:37 server2 slapd[5093]: connection_get(12): got connid=0
Feb 5 10:42:37 server2 slapd[5093]: daemon: removing 12
Feb 5 10:42:37 server2 slapd[5093]: do_syncrepl: rid=001 retrying (4
retries left)
Feb 5 10:42:37 server2 slapd[5093]: daemon: epoll: listen=7
active_threads=0 tvp=zero
Feb 5 10:42:37 arv2b slapd[5093]: daemon: epoll: listen=8
active_threads=0 tvp=zero
Feb 5 10:42:37 arv2b slapd[5093]: daemon: epoll: listen=9
active_threads=0 tvp=zero
Feb 5 10:42:37 arv2b slapd[5093]: daemon: epoll: listen=10
active_threads=0 tvp=zero
8<--------
Is it a bug ?
I have an idea : reorder declarations into the cn=config to have
something like that :
olcDatabase={2}bdb,cn=config
olcSuffix o=test
olcOverlay={0}glue,olcDatabase={2}bdb,cn=config
olcOverlay {0}glue
olcDatabase={3}ldap,cn=config
olcSuffix dc=example,o=test
olcSubordinate TRUE
I have the first olcDatabase={2}bdb,cn=config replicated successfully.
But an other problem appears : the DN of
olcOverlay={0}glue,olcDatabase={4}bdb,cn=config is not correclty
renamed, because of a inexcepted "charset" ? I can reproduce this
problem for all types of database. OpenLDAP complains itself and
replication does not work. Hum... but I realized that even this "tips"
works, OpenLDAP could not be restarted correctly anymore because of the
configuration's test...
Any hints, or advice would be most appreciated.
Regards,
Thomas.