Author: rmeggins
Update of /cvs/dirsec/ldapserver/ldap/admin/src/scripts
In directory
cvs-int.fedora.redhat.com:/tmp/cvs-serv16379/ldapserver/ldap/admin/src/scripts
Modified Files:
DSMigration.pm.in
Log Message:
Resolves: bug 276741
Bug Description: 'Operation Error' encountered during DS6.21 to DS80
cross-platform migration
Reviewed by: nhosoi (Thanks!)
Fix Description: For cross platform migration, we should not migrate the
nsslapd-idl-switch setting, we should just use the new default value which is
"new".
Platforms tested: RHEL4
Flag Day: no
Doc impact: no
QA impact: should be covered by regular nightly and manual testing
New Tests integrated into TET: none
Index: DSMigration.pm.in
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/DSMigration.pm.in,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DSMigration.pm.in 30 Aug 2007 21:45:47 -0000 1.9
+++ DSMigration.pm.in 4 Sep 2007 17:50:49 -0000 1.10
@@ -101,7 +101,8 @@
'nsslapd-ldapiuidnumbertype' => 'nsslapd-ldapiuidnumbertype',
'nsslapd-ldapigidnumbertype' => 'nsslapd-ldapigidnumbertype',
'nsslapd-ldapientrysearchbase' => 'nsslapd-ldapientrysearchbase',
- 'nsslapd-ldapiautodnsuffix' => 'nsslapd-ldapiautodnsuffix'
+ 'nsslapd-ldapiautodnsuffix' => 'nsslapd-ldapiautodnsuffix',
+ 'numsubordinates' => 'numSubordinates'
);
# these are the obsolete entries we do not migrate
@@ -180,6 +181,21 @@
return $newval;
}
+sub migIdlSwitch {
+ my ($ent, $attr, $mig, $inst) = @_;
+ my $newval;
+
+ # if doing cross platform migration, just use the default value for
+ # nsslapd-idl-switch
+ # if not doing cross platform, meaning we just use the existing
+ # database binaries, we must preserve whatever the old value is
+ if (!$mig->{crossplatform}) {
+ $newval = $ent->getValues($attr);
+ }
+
+ return $newval;
+}
+
# these are attributes that we have to transform from
# the old value to the new value (e.g. a pathname)
# The key of this hash is the attribute name. The value
@@ -193,7 +209,8 @@
'nsslapd-changelogdir' => \&getNewDbDir,
'nsds5replicacredentials' => \&migrateCredentials,
'nsmultiplexorcredentials' => \&migrateCredentials,
- 'nsstate' => \&removensState
+ 'nsstate' => \&removensState,
+ 'nsslapd-idl-switch' => \&migIdlSwitch
);
sub copyDatabaseDirs {