Le 06/06/2016 12:35, Cazanaru, Florin a écrit :
Hi all,
I install an lsc and I want to sync with an openldap
Config file is ok, my problem is on update
If I do a “service lsc start” I see in openldap what I have in AD (2
users)
What I do not know is lsc will update openldap if I modify something
in AD. I try “service lsc restart” I wait more than 6 seconds and is
not updating.
lsc.xml
---------------------------------
<propertiesBasedSyncOptions>
<mainIdentifier><![CDATA["cn=" +
srcBean.getDatasetFirstValueById("cn") +
",ou=test,ou=Users,dc=Games,dc=com"]]></mainIdentifier>
<defaultDelimiter>;</defaultDelimiter>
<defaultPolicy>FORCE</defaultPolicy>
<conditions>
<create>true</create>
<update>true</update>
<delete>true</delete>
<changeId>true</changeId>
</conditions>
<dataset>
<name>objectClass</name>
<policy>FORCE</policy>
<forceValues>
<string>"inetOrgPerson"</string>
<string>"organizationalPerson"</string>
<string>"person"</string>
<string>"top"</string>
</forceValues>
<delimiter>,</delimiter>
</dataset>
<dataset>
<name>sAMAccountName</name>
<policy>FORCE</policy>
<forceValues>
<string>srcBean.getDatasetFirstValueById("uid")</string>
</forceValues>
</dataset>
<dataset>
<name>uid</name>
<policy>FORCE</policy>
<forceValues>
<string>srcBean.getDatasetFirstValueById("cn")</string>
</forceValues>
</dataset>
<dataset>
<name>sn</name>
<policy>FORCE</policy>
<forceValues>
<string>srcBean.getDatasetFirstValueById("cn")</string>
</forceValues>
</dataset>
<dataset>
<name>default</name>
<policy>FORCE</policy>
</dataset>
</propertiesBasedSyncOptions>
------------------------------------
On “/usr/bin/lsc -a all” I have
Jun 06 11:08:40 - ERROR - Error while adding entry
cn=test111,ou=test,ou=Users,dc=Games,dc=com in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=test111,ou=test'
Jun 06 11:08:40 - ERROR - Error while adding entry
cn=test222,ou=test,ou=Users,dc=Games,dc=com in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=test222,ou=test'
Jun 06 11:08:40 - ERROR - Error while synchronizing ID
cn=test111,ou=test,ou=Users,dc=Games,dc=com: java.lang.Exception:
Technical problem while applying modifications to the destination
Jun 06 11:08:40 - ERROR - Error while synchronizing ID
cn=test222,ou=test,ou=Users,dc=ITGames,dc=com: java.lang.Exception:
Technical problem while applying modifications to the destination
*Jun 06 11:08:40 - DEBUG - java.lang.Exception: Technical problem
while applying modifications to the destination*
*java.lang.Exception: Technical problem while applying modifications
to the destination*
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:801)
[lsc-core-2.1.3.jar:na]
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:707)
[lsc-core-2.1.3.jar:na]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_72]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
Jun 06 11:08:40 - DEBUG - java.lang.Exception: Technical problem while
applying modifications to the destination
java.lang.Exception: Technical problem while applying modifications to
the destination
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:801)
[lsc-core-2.1.3.jar:na]
at org.lsc.SynchronizeTask.run(AbstractSynchronize.java:707)
[lsc-core-2.1.3.jar:na]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_72]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
Jun 06 11:08:45 - DEBUG - Using pagedResults control for 1000 entries
at a time
Jun 06 11:08:51 - DEBUG - Using pagedResults control for 1000 entries
at a time
Jun 06 11:08:57 - DEBUG - Using pagedResults control for 1000 entries
at a time
Jun 06 11:09:03 - DEBUG - Using pagedResults control for 1000 entries
at a time
Hello,
first thing: to use LSC as a daemon/service, you need an asynchronous
source service (for example
http://lsc-project.org/wiki/documentation/latest/configuration/service/sourceasyncldap)
or define an interval in your source service.
second thing: you get the following error: LDAP: error code 68 - Entry
Already Exists. It means LSC did not found entry in destination and
tries to create it, but it already exists. You need to check the
getOneFilter in your destination filter so that your entry is found.
--
Clément OUDOT
Consultant en logiciels libres, Expert infrastructure et sécurité
Savoir-faire Linux
87, rue de Turbigo - 75003 PARIS
Blog: http://sflx.ca/coudot
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users