Is it possible that the decision to create/update is made before the RDN
change?

Is changing the mainidentifier the right way to go about this, is the
concept possible?

-Joel

On Wed, Aug 22, 2012 at 12:31 AM, dunkan <[email protected]> wrote:

> I believe it is found.
>
> The logs show: > "cn=acme-dev,ou=group,dc=example,dc=com":  List of
> attributes considered for
> > writing in destination: [cn, memberUid, gidNumber, objectClass]
>
> That is what I expect the destination to be. My destination service is
> pretty generic and matches.
>
> The get one filter will be reading the dn on the destination right,  so
> the cn will already be the proper one.
>
>       <ldapDestinationService>
>         <name>openldapgroup-dst-service</name>
>         <connection reference="openLDAP" />
>         <baseDn>ou=group,dc=example,dc=com</baseDn>
>         <pivotAttributes><string>cn</string></pivotAttributes>
>         <fetchedAttributes>
>           <string>objectClass</string>
>           <string>cn</string>
>           <string>gidNumber</string>
>           <string>memberUid</string>
>         </fetchedAttributes>
>         <getAllFilter>(objectClass=posixGroup)</getAllFilter>
>
> <getOneFilter>(&amp;(objectClass=posixGroup)(cn={cn}))</getOneFilter>
>       </ldapDestinationService>
>
> Any suggestion on what I should change?
>
> On Tue, Aug 21, 2012 at 11:56 PM, Clément OUDOT <[email protected]>wrote:
>
>> 2012/8/21 dunkan <[email protected]>:
>> > 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'
>> >
>> >
>>
>> Are you sure the group in the destination is found by LSC? Don't you
>> have a destination filter problem?
>>
>> Clément.
>>
>
>
_______________________________________________________________
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