Discussion:
[lsc-users] Postgres to Openldap synchronization issue
Евгений Подберезкин
2018-11-19 04:14:00 UTC
Permalink
Hi.
I configured my server according to official documentation. Creating
entries in ldap works fine. But updating or deleting do not. When i trу to
update an existing entry, this error occures

Nov 16 10:17:28 - ERROR - Error while adding entry
cn=wifimon,dc=localhost,dc=localdomain in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=wifimon'
Nov 16 10:17:28 - ERROR - Error while synchronizing ID
cn=wifimon,dc=localhost,dc=localdomain: java.lang.Exception: Technical
problem while applying modifications to the destination

i think it is just a configuration issue, can anybody help me to correct
this.

This is my lsc.xml

<?xml version="1.0" ?> <lsc xmlns="
http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="1">
<connections>
<ldapConnection>
<name>openldap</name>
<url>ldap://localhost:389/dc=localhost,dc=localdomain</url>
<username>cn=Manager,dc=localhost,dc=localdomain</username>
<password>***</password>
<authentication>SIMPLE</authentication>
<referral>IGNORE</referral>
<derefAliases>NEVER</derefAliases>
<version>VERSION_3</version>
<pageSize>-1</pageSize>
<factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
<tlsActivated>false</tlsActivated>
</ldapConnection>
<databaseConnection>
<name>jdbc-dst-conn</name>
<url>jdbc:postgresql://127.0.0.1:5432/lsc</url>
<username>lsc</username>
<password>***</password>
<driver>org.postgresql.Driver</driver>
</databaseConnection>
</connections>
<tasks>
<task>
<name>People</name>
<bean>org.lsc.beans.SimpleBean</bean>
<databaseSourceService>
<name>postgresql-src-service</name>
<connection reference="jdbc-dst-conn" />
<requestNameForList>getInetOrgPersonList</requestNameForList>
<requestNameForObject>getInetOrgPerson</requestNameForObject>
<requestNameForNextId>getNextInetOrgPersonId</requestNameForNextId>
<requestNameForClean>getInetOrgPersonClean</requestNameForClean>
</databaseSourceService>
<ldapDestinationService>
<name>ldap-dst-service</name>
<connection reference="openldap" />
<baseDn>dc=localhost,dc=localdomain</baseDn>
<pivotAttributes>
<string>uid</string>
</pivotAttributes>
<fetchedAttributes>
<string>cn</string>
<string>givenName</string>
<string>mail</string>
<string>objectClass</string>
<string>uid</string>
<string>sn</string>
<string>telephoneNumber</string>
<string>departmentNumber</string>
<string>userPassword</string>
</fetchedAttributes>
<getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>

<getOneFilter>(&amp;(objectClass=inetOrgPerson)(uid={uid}))</getOneFilter>
</ldapDestinationService>
<propertiesBasedSyncOptions>
<mainIdentifier>"cn=" + srcBean.getDatasetFirstValueById("cn") +
",dc=localhost,dc=localdomain"</mainIdentifier>
<defaultDelimiter>;</defaultDelimiter>
<defaultPolicy>FORCE</defaultPolicy>
<conditions>
<create>true</create>
<update>true</update>
<delete>true</delete>
<changeId>true</changeId>
</conditions>
<dataset>
<!-- uid = userPrincipalName = uid + domain -->
<name>uid</name>
<policy>FORCE</policy>
<forceValues>

<string>srcBean.getDatasetFirstValueById("uid") + "@" +
srcBean.getDatasetFirstValueById("domain")</string>
</forceValues>
</dataset>
<dataset>
<!-- userPassword = {SASL} + uid + domain -->
<name>userPassword</name>
<policy>FORCE</policy>
<forceValues>
<string>"{SASL}" +
srcBean.getDatasetFirstValueById("uid") + "@" +
srcBean.getDatasetFirstValueById("domain")</string>
</forceValues>
</dataset>
<dataset>
<name>objectClass</name>
<policy>FORCE</policy>
<forceValues>
<string>"inetOrgPerson"</string>
<string>"organizationalPerson"</string>
<string>"person"</string>
<string>"top"</string>
</forceValues>
</dataset>
</propertiesBasedSyncOptions>
</task>
</tasks>
</lsc>
Clément OUDOT
2018-11-19 08:31:22 UTC
Permalink
Post by Евгений Подберезкин
Hi.
I configured my server according to official documentation. Creating
entries in ldap works fine. But updating or deleting do not. When i
trу to update an existing entry, this error occures
Nov 16 10:17:28 - ERROR - Error while adding entry
cn=wifimon,dc=localhost,dc=localdomain in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=wifimon'
Nov 16 10:17:28 - ERROR - Error while synchronizing ID
cn=wifimon,dc=localhost,dc=localdomain: java.lang.Exception: Technical
problem while applying modifications to the destination
Hello,

it means the getOneFilter of the destination dos not match the entry, so
LSC tries to recreate it.

You need to write the source SQL query to return the pivot value.

See also https://lsc-project.org/documentation/latest/basics
--
Clément Oudot | Identity Solutions Manager

***@worteks.com

Worteks | https://www.worteks.com

_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
lsc-***@lists.lsc-project.org
https://lists.lsc-project.or
Евгений Подберезкин
2018-11-19 12:16:56 UTC
Permalink
Ok.Thanks for pointing.
Post by Clément OUDOT
Post by Евгений Подберезкин
Hi.
I configured my server according to official documentation. Creating
entries in ldap works fine. But updating or deleting do not. When i
trу to update an existing entry, this error occures
Nov 16 10:17:28 - ERROR - Error while adding entry
cn=wifimon,dc=localhost,dc=localdomain in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=wifimon'
Nov 16 10:17:28 - ERROR - Error while synchronizing ID
cn=wifimon,dc=localhost,dc=localdomain: java.lang.Exception: Technical
problem while applying modifications to the destination
Hello,
it means the getOneFilter of the destination dos not match the entry, so
LSC tries to recreate it.
You need to write the source SQL query to return the pivot value.
See also https://lsc-project.org/documentation/latest/basics
--
Clément Oudot | Identity Solutions Manager
Worteks | https://www.worteks.com
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users
Loading...