Hi.

I'm using LSC to sync data between 389DS (1.3.0.3 ubuntu 12.04) as
source and OpenLDAP (2.4.28 ubuntu 12.04) as destination.
For LSC I'm using openjdk-6-jre.

I have no problem synchronizing adds and updates with users and
groups, but deletes are not working.

So if I remove an usen in 389ds, it's not deleted in OpenLDAP.

Attached is a simplfied copy of lsc.xml I'm using with the sync_users task only.

I will appreciate very much if someone in the list would tell me where
is the error o how can I debug the source of the problem.

Many thanks in advance

Norberto
<?xml version="1.0" ?>
<lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd"; revision="0">

<connections>
        <ldapConnection>
                <name>tres89</name>
                <url>ldap://10.80.60.97:389/dc=example,dc=com</url>
                <username>uid=ldapread,ou=Special Users,dc=example,dc=com</username>     
                <password>xxxx</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>

        <ldapConnection>
                <name>ldaptesta</name>
                <url>ldap://10.80.20.96:389/dc=example,dc=com</url>
                <username>cn=admin,dc=example,dc=com</username>
                <password>xxxx</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>
</connections>

<audits>
        <csvAudit>
                <name>csv</name>
                <append>true</append>
                <operations>create, delete</operations>
                <file>/tmp/dump.csv</file>
                <datasets>cn, dn</datasets>
                <separator>,</separator>
        </csvAudit>
</audits>

<tasks>
        <task>
                <name>AA_sync_usuarios</name>
                <bean>org.lsc.beans.SimpleBean</bean>

                <ldapSourceService>
                        <name>ldapsource01</name>
                        <connection reference="tres89" />
                        <baseDn>ou=people,dc=example,dc=com</baseDn>
                        <pivotAttributes>
                                <string>uid</string>
                        </pivotAttributes>
                        <fetchedAttributes>
                                <string>cn</string>
                                <string>sn</string>
                                <string>uid</string>
                                <string>userPassword</string>
                                <string>mail</string>
                                <string>passwordMustChange</string>
                                <string>mobile</string>
                                <string>telephoneNumber</string>
                                <string>dni</string>
                                <string>externo</string>
                                <string>legajo</string>
                                <string>sector</string>
                                <string>ubicacion</string>
                                <string>garbaResponseSetOptional</string>
                                <string>garbaResponseSet</string>
                                <string>emailNoRequerido</string>
                                <string>passwordExpirationTime</string>
                        </fetchedAttributes>
                        <getAllFilter>(objectClass=inetorgperson)</getAllFilter>
                        <getOneFilter>(&amp;(objectClass=inetorgperson) (uid={uid}))</getOneFilter>
                        <cleanFilter>(&amp;(objectClass=inetorgperson) (uid={uid}))</cleanFilter>
                </ldapSourceService>

                <ldapDestinationService>
                        <name>ldapdestination01</name>
                        <connection reference="ldaptesta" />
                        <baseDn>ou=people,dc=example,dc=com</baseDn>
                        <pivotAttributes>
                                <string>uid</string>
                        </pivotAttributes>
                        <fetchedAttributes>
                                <string>objectClass</string>
                                <string>cn</string>
                                <string>sn</string>
                                <string>uid</string>
                                <string>userPassword</string>
                                <string>mail</string>
                                <string>pwdReset</string>
                                <string>mobile</string>
                                <string>telephoneNumber</string>
                                <string>dni</string>
                                <string>externo</string>
                                <string>legajo</string>
                                <string>sector</string>
                                <string>ubicacion</string>
                                <string>ResponseSetOptional</string>
                                <string>ResponseSet</string>
                                <string>emailNoRequerido</string>
                                <string>pwdPolicySubentry</string>
                        </fetchedAttributes>
                        <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
                        <getOneFilter>(&amp;(objectClass=inetOrgPerson)(uid={uid}))</getOneFilter>
                </ldapDestinationService>

                <propertiesBasedSyncOptions>
                        <mainIdentifier>"uid=" + srcBean.getDatasetFirstValueById("uid") + ",ou=people,dc=example,dc=com"</mainIdentifier> 
                        <defaultDelimiter>;</defaultDelimiter>
                        <defaultPolicy>FORCE</defaultPolicy>
                        <conditions>
                                <create>true</create>
                                <update>true</update>
                                <delete>true</delete>
                                <changeId>false</changeId>
                        </conditions>

                        <dataset>
                                <name>objectclass</name>
                                <policy>FORCE</policy>
                                <createValues>
                                        <string>"garbaPerson"</string>
                                        <string>"inetOrgPerson"</string>
                                        <string>"organizationalPerson"</string>
                                        <string>"person"</string>
                                        <string>"top"</string>
                                </createValues>
                        </dataset>

                        <dataset>
                                <name>userPassword</name>
                                <policy>FORCE</policy>
                                <createValues>
                                        <string>srcBean.getDatasetFirstValueById("userPassword")</string>
                                </createValues>
                        </dataset>

                        <dataset>
                                <name>responseSet</name>
                                <policy>FORCE</policy>
                                <createValues>
                                        <string>srcBean.getDatasetFirstValueById("garbaResponseSet")</string>
                                </createValues>
                        </dataset>

                        <dataset>
                                <name>responseSetOptional</name>
                                <policy>FORCE</policy>
                                <createValues>
                                        <string>srcBean.getDatasetFirstValueById("garbaResponseSetOptional")</string>
                                </createValues>
                        </dataset>

                        <dataset>
                                <name>emailNoRequerido</name>
                                <policy>FORCE</policy>
                                <createValues>
                                        <string>srcBean.getDatasetFirstValueById("garbaEmailNoRequerido")</string>
                                </createValues>
                        </dataset>

                        <dataset>
                                <name>pwdReset</name>
                                <policy>FORCE</policy>
                                <forceValues>
                                        <string>srcBean.getDatasetFirstValueById("passwordMustChange")</string>
                                </forceValues>
                        </dataset>

                        <dataset>
                                <name>pwdPolicySubentry</name>
                                <policy>FORCE</policy>
                                <forceValues>
                                        <string><![CDATA[js:
                                        var passwordExpirationTime = srcBean.getDatasetFirstValueById("passwordExpirationTime");
                                        var pwd_policy = "cn=pwd_not_expire,ou=policies,dc=example,dc=com";
                                        if (passwordExpirationTime == "21380119031407Z")
                                        {
                                                pwd_policy;
                                        }
                                        ]]> 
                                        </string> 
                                </forceValues>
                        </dataset>
                </propertiesBasedSyncOptions>
        </task>
</tasks>

<security>
        <encryption>
                <keyfile>etc/lsc.key</keyfile>
                <algorithm>AES</algorithm>
                <strength>128</strength>
        </encryption>
</security>

</lsc>

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

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to