Overall this looks pretty clean, nice straight forward setup. Your LDAP
getonefilter is wrong though, could that be your snag?
<getOneFilter>(objectclass=*)(cn={cn})</getOneFilter>
should be
<getOneFilter>(& (objectclass=*)(cn={cn}))</getOneFilter>
-Joel
On Fri, Oct 19, 2012 at 5:43 PM, Mike Svoboda <[email protected]> wrote:
> I'm trying to get a sync of active directory to dump into OpenLDAP. I
> can see Active Directory being queried, and it looks like LSC is querying
> OpenLDAP at the destination saying that entries don't exist, but, LSC isn't
> creating them.
>
> Can someone please help? I'm going nuts here trying to figure this out.
> I'm 3x days into this and haven't figured it out yet. Here's my lsc.xml
>
> 1 <?xml version="1.0" ?>
> 2 <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.0.xsd" id="1"
> xmlns:nis="http://lsc-project.org/XSD/lsc-nis-plugin-1.0" revision="0">
> 3 <connections>
> 4 <ldapConnection>
> 5 <name>Active_Directory</name>
> 6 <url>xxxxxxx</url>
> 7 <username>xxxxxxxx</username>
> 8 <password>xxxxxxxxx</password>
> 9 <authentication>SIMPLE</authentication>
> 10 <referral>IGNORE</referral>
> 11 <derefAliases>NEVER</derefAliases>
> 12 <version>VERSION_3</version>
> 13 <pageSize>1000</pageSize>
> 14 <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
> 15 <tlsActivated>false</tlsActivated>
> 16 </ldapConnection>
> 17
> 18 <ldapConnection>
> 19 <name>OpenLDAP</name>
> 20 <url>xxxxxxxxx</url>
> 21 <username>xxxxxxxxxx</username>
> 22 <password>xxxxxxxx</password>
> 23 <authentication>SIMPLE</authentication>
> 24 <referral>IGNORE</referral>
> 25 <derefAliases>NEVER</derefAliases>
> 26 <version>VERSION_3</version>
> 27 <pageSize>-1</pageSize>
> 28 <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
> 29 <tlsActivated>false</tlsActivated>
> 30 </ldapConnection>
> 31 </connections>
> 32
> 33 <tasks>
> 34 <task>
> 35 <name>Sync_Active_Directory_Users</name>
> 36 <bean>org.lsc.beans.SimpleBean</bean>
> 37
> 38 <ldapSourceService>
> 39 <name>ad-src-service</name>
> 40 <connection reference="Active_Directory" />
> 41 <baseDn>ou=staff users,dc=linkedin,dc=biz</baseDn>
> 42 <pivotAttributes><string>cn</string></pivotAttributes>
> 43 <fetchedAttributes>
> 44 <string>cn</string>
> 45 <string>description</string>
> 46 <string>name</string>
> 47 <string>objectclass</string>
> 48 </fetchedAttributes>
> 49 <getAllFilter>(objectClass=organizationalPerson)</getAllFilter>
> 50
> <getOneFilter>(&(objectClass=organizationalPerson)(cn={cn}))</getOneFilter>
> 51 </ldapSourceService>
> 52
> 53 <ldapDestinationService>
> 54 <name>openldap-dst-service</name>
> 55 <connection reference="OpenLDAP" />
> 56 <baseDn>ou=staff users,dc=linkedin,dc=biz</baseDn>
> 57 <pivotAttributes><string>cn</string></pivotAttributes>
> 58 <fetchedAttributes>
> 59 <string>cn</string>
> 60 <string>description</string>
> 61 <string>objectclass</string>
> 62 <string>gidNumber</string>
> 63 </fetchedAttributes>
> 64 <getAllFilter>(objectclass=*)</getAllFilter>
> 65 <getOneFilter>(objectclass=*)(cn={cn})</getOneFilter>
> 66 </ldapDestinationService>
> 67
> 68 <propertiesBasedSyncOptions>
> 69 <mainIdentifier>"cn=" +
> srcBean.getDatasetFirstValueById("cn") + ",ou=Staff
> Users,dc=linkedin,dc=biz"</mainIdentifier>
> 70 <defaultDelimiter>;</defaultDelimiter>
> 71 <defaultPolicy>FORCE</defaultPolicy>
> 72 <dataset>
> 73 <name>objectclass</name>
> 74 <policy>FORCE</policy>
> 75 <forceValues>
> 76 <string>"cn"</string>
> 77 </forceValues>
> 78 </dataset>
> 79 </propertiesBasedSyncOptions>
> 80
> 81 </task>
> 82 </tasks>
> 83 </lsc>
>
>
>
>
> When I execute, I get this:
>
> Oct 20 00:34:17 - INFO - Reflections took 149 ms to scan 1 urls,
> producing 60 keys and 226 values
> Oct 20 00:34:17 - INFO - Logging configuration successfully loaded from
> /etc/lsc/logback.xml
> Oct 20 00:34:17 - INFO - LSC configuration successfully loaded from
> /etc/lsc/
> Oct 20 00:34:17 - INFO - Connecting to LDAP server xxxxxxx
> Oct 20 00:34:17 - INFO - Connecting to LDAP server xxxxxxxx
> Oct 20 00:34:17 - WARN - No clean filter has been specified for
> task=Sync_Active_Directory_Users. During the clean phase, LSC wouldn't be
> able to get the right entries and may delete all destination entries !
> Oct 20 00:34:17 - INFO - Starting sync for Sync_Active_Directory_Users
> Oct 20 00:38:45 - ERROR - Error while looking for
> (objectclass=*)(cn=Heather Wright) in ou=staffu users,dc=linkedin,dc=biz:
> javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
> remaining name 'ou=staffu users'
> Oct 20 00:38:45 - ERROR - Error while looking for (objectclass=*)(cn=Anita
> Akemi) in ou=staffu users,dc=linkedin,dc=biz:
> javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
> remaining name 'ou=staffu users'
> Oct 20 00:38:45 - ERROR - Error while synchronizing ID {cn=Heather
> Wright}: org.lsc.exception.LscServiceException:
> javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
> remaining name 'ou=staffu users'
> …
> …..
> Oct 20 00:38:53 - ERROR - All entries: 4000, to modify entries: 0,
> successfully modified entries: 0, errors: 4000
>
>
>
> From the OpenLDAP server, I see it complaining about not being able to
> find the entries, which I expect, because the OpenLDAP server is empty at
> this point. I'm wanting LSC to populate the OpenLDAP server from
> information that its discovered from Active Directory.
>
> Here's some of the syslog messages from the OpenLDAP server
>
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=1 SRCH base="ou=staffu
> users,dc=linkedin,dc=biz" scope=2 deref=0 filter="(objectClass=*)"
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=1 SRCH attr=cn Heather Wright
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=1 SEARCH RESULT tag=101 err=32
> nentries=0 text=
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=2 SRCH base="ou=staffu
> users,dc=linkedin,dc=biz" scope=2 deref=0 filter="(objectClass=*)"
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=2 SRCH attr=cn Anita Akemi
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=3 SRCH base="ou=staffu
> users,dc=linkedin,dc=biz" scope=2 deref=0 filter="(objectClass=*)"
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=3 SRCH attr=cn Viktor Stanchev
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=2 SEARCH RESULT tag=101 err=32
> nentries=0 text=
> Oct 20 00:38:45 slapd[22055]: conn=1038 op=3 SEARCH RESULT tag=101 err=32
> nentries=0 text=
>
>
> Can someone help point me in the right direction to get LSC to create
> and update these objects as needed?
>
> Thanks
> Mike
>
> _______________________________________________________________
> Ldap Synchronization Connector (LSC) - http://lsc-project.org
>
> lsc-users mailing list
> [email protected]
> http://lists.lsc-project.org/listinfo/lsc-users
>
>
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users