Hey there,

The RDN for a group object has to change when going from AD to ldap, I see
how I can do this but everytime it tries to add a new entry instead of
update it.  Am I missing something that you can see?

Before forcing the RDN change the group does update members as expected.

Looking at my example I need to modify my cn attribute as well, but I don't
think that is triggering the add, it would just be another attribute to
update.

LSC: 2.0

AD object DN: role.ldap.groupname
LDAP object DN: groupname

Here is what my config looks like:

 <propertiesBasedSyncOptions>
        <mainIdentifier>var sname = srcBean.getDatasetFirstValueById("cn");
var tmpname = sname.replaceAll("role.ldap.", ""); "cn=" + tmpname +
",ou=group,dc=example,dc=com"</mainIdentifier>
        <defaultDelimiter>$</defaultDelimiter>
        <defaultPolicy>FORCE</defaultPolicy>
        <conditions>
          <create>true</create>
          <update>true</update>
          <delete>false</delete>
        </conditions>
        <dataset>
         <name>cn</name>
         <policy>KEEP</policy>
         <createValues>
          <string>srcBean.getDatasetFirstValueById("cn")</string>
         </createValues>
        </dataset>
        <dataset>
         <name>gidNumber</name>
         <createValues>
          <string>srcBean.getDatasetFirstValueById("gidNumber")</string>
         </createValues>
        </dataset>
        <dataset>
         <name>objectClass</name>
         <policy>FORCE</policy>
        <forceValues>
          <string>"posixGroup"</string>
          <string>"top"</string>
         </forceValues>
        </dataset>
        <dataset>
          <name>memberUid</name>
          <forceValues>
            <string>
var umembers = srcBean.getAttributeValuesById("member").toArray() ; for
(var i=0; i&#60;umembers.length; i++ ) { try { var tokens =
umembers[i].split(",");(umembers[i] = srcLdap.attribute(tokens[0] + "," +
tokens[1], 'sAMAccountName').get(0))  } catch (e) {umembers[i]=null} }
umembers.toString();  umembers
    </string>
          </forceValues>
        </dataset>
      </propertiesBasedSyncOptions>

The logs show what I expect, except for the add instead of update:

g 21 20:29:15 - DEBUG - Loading XML configuration from:
/usr/src/lsc-2.0/etc/lsc.xml
Aug 21 20:29:15 - INFO  - Reflections took 215 ms to scan 2 urls, producing
64 keys and 249 values
Aug 21 20:29:15 - DEBUG - Importing XML schema file:
schemas/lsc-core-2.0.xsd
Aug 21 20:29:15 - DEBUG - Importing XML schema file:
schemas/lsc-nis-plugin-1.0.xsd
Aug 21 20:29:15 - INFO  - Logging configuration successfully loaded from
/usr/src/lsc-2.0/etc/logback.xml
Aug 21 20:29:15 - INFO  - LSC configuration successfully loaded from
/usr/src/lsc-2.0/etc/
Aug 21 20:29:15 - INFO  - Connecting to LDAP server
ldap://localhost/dc=example,dc=com as cn=manager,dc=example,dc=com
Aug 21 20:29:15 - INFO  - Connecting to LDAP server ldap://
10.101.252.60/dc=itlab,dc=example,dc=com as jfoote@itlab
Aug 21 20:29:15 - INFO  - Starting async for adGroup
Aug 21 20:29:15 - DEBUG - Asynchronous synchronize adGroup
Aug 21 20:29:15 - DEBUG - Using pagedResults control for 1000 entries at a
time
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  List of attributes considered
for writing in destination: [cn, memberUid, gidNumber, objectClass]
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Attribute "cn" is in KEEP status
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Adding attribute "cn" with
values [role.ldap.acme-dev]
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Attribute "memberUid" is in
FORCE status
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Adding attribute "memberUid"
with values [newtest]
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Attribute "gidNumber" is in
FORCE status
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Adding attribute "gidNumber"
with values [10001]
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Attribute "objectClass" is in
FORCE status
Aug 21 20:29:15 - DEBUG - In object
"cn=acme-dev,ou=group,dc=example,dc=com":  Adding attribute "objectClass"
with values [posixGroup, top]
Aug 21 20:29:15 - ERROR - Error while adding entry
cn=acme-dev,ou=group,dc=example,dc=com in directory
:javax.naming.NameAlreadyBoundException: [LDAP: error code 68 - Entry
Already Exists]; remaining name 'cn=acme-dev,ou=group'


I appreciate any help!

-Joel
_______________________________________________________________
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