admserv/newinst/src/AdminMigration.pm.in | 49 ++++++++++++++++--------------- 1 file changed, 26 insertions(+), 23 deletions(-)
New commits: commit fb92728c2e0ff34b86001863d96e2b8a24b1f3e8 Author: Endi S. Dewata edewata@redhat.com Date: Tue Oct 12 01:39:17 2010 -0400
Bug 573889 - Migration does not remove deprecated schema
The AdminMigration.pm has been modified such that it executes the update scripts for the Admin Server.
The migratePset() and updateConsoleInfo() have been modified to use the LDAP connection created in migrateAdminServer().
diff --git a/admserv/newinst/src/AdminMigration.pm.in b/admserv/newinst/src/AdminMigration.pm.in index b8f0fbd..40ba860 100644 --- a/admserv/newinst/src/AdminMigration.pm.in +++ b/admserv/newinst/src/AdminMigration.pm.in @@ -31,6 +31,7 @@ use Migration; use AdminServer; use AdminUtil; use DSUtil; +use DSUpdate; use SetupLog;
use File::Path; @@ -169,15 +170,7 @@ sub migratePset { my $inf = $mig->{inf}; my @errs;
- my $conn = getConfigDSConn($inf->{General}->{ConfigDirectoryLdapURL}, - $inf->{General}->{ConfigDirectoryAdminID}, - $inf->{General}->{ConfigDirectoryAdminPwd}, - $configdir, @errs); - - if (@errs) { - $mig->msg($FATAL, @errs); - return 0; - } + my $conn = $mig->{inf}->{configdsconn};
# add the Admin Server configuration entries my @ldiffiles = ("@ldifdir@/asmigrate.ldif.tmpl", @@ -191,7 +184,6 @@ sub migratePset {
$mapper = process_maptbl($mapper, @errs, $inf, $admininf, $setupinf); if (!$mapper) { - $conn->close(); $mig->msg(@errs); $mig->msg($FATAL, 'error_creating_asmigration_maptbl'); return 0; @@ -200,7 +192,6 @@ sub migratePset { # update isie and sie getMappedEntries($mapper, @ldiffiles, @errs, &migratecb, $conn); if (@errs) { - $conn->close(); $mig->msg(@errs); return 0; } @@ -211,7 +202,6 @@ sub migratePset { $isnew = 1; } if (!open(LOCALCONF, ">$localconf")) { - $conn->close(); $mig->msg($FATAL, 'error_updating_localconf', $localconf, $!); return 0; } @@ -220,7 +210,6 @@ sub migratePset { if (!$entry || $conn->getErrorCode()) { $mig->msg($FATAL, 'error_no_localconf_entries', $inf->{admin}->{sie}, $localconf, $conn->getErrorString()); - $conn->close(); close(LOCALCONF); return 0; } @@ -229,7 +218,6 @@ sub migratePset { updateLocalConf($entry, $inf->{admin}->{sie}, *LOCALCONF); $entry = $conn->nextEntry(); } - $conn->close(); close(LOCALCONF);
if ($isnew) { @@ -265,10 +253,7 @@ sub updateConsoleInfo { my $inf = $mig->{inf}; my @errs;
- my $conn = getConfigDSConn($inf->{General}->{ConfigDirectoryLdapURL}, - $inf->{General}->{ConfigDirectoryAdminID}, - $inf->{General}->{ConfigDirectoryAdminPwd}, - $configdir, @errs); + my $conn = $mig->{inf}->{configdsconn};
if (@errs) { $mig->msg($FATAL, @errs); @@ -286,7 +271,6 @@ sub updateConsoleInfo {
$mapper = process_maptbl($mapper, @errs, $inf, $admininf, $dsinf, $setupinf); if (!$mapper) { - $conn->close(); $mig->msg(@errs); $mig->msg($FATAL, 'error_creating_updateconsole_maptbl'); return 0; @@ -295,7 +279,6 @@ sub updateConsoleInfo { # update isie and sie getMappedEntries($mapper, @ldiffiles, @errs, &updateconinfocb, $conn); if (@errs) { - $conn->close(); $mig->msg(@errs); return 0; } @@ -306,7 +289,6 @@ sub updateConsoleInfo { my $versents = $conn->search($basedn, "sub", "(objectclass=*)", 0, qw(* aci)); if (!$versents) { $mig->msg($FATAL, 'error_migrating_console_entries', $basedn, $conn->getErrorString()); - $conn->close(); return 0; }
@@ -329,7 +311,6 @@ sub updateConsoleInfo { debug(3, "Console customization entry $newdn already exists, skipping\n"); } else { $mig->msg($FATAL, 'error_adding_console_entries', $newdn, $conn->getErrorString()); - $conn->close(); return 0; } } else { @@ -337,7 +318,6 @@ sub updateConsoleInfo { } }
- $conn->close(); return 1; }
@@ -453,6 +433,7 @@ sub migrateAdmpw {
sub migrateAdminServer { my $mig = shift; + my @errs;
my $configdir = $mig->{inf}->{admin}->{config_dir} || $ENV{ADMSERV_CONF_DIR} || @@ -509,14 +490,36 @@ sub migrateAdminServer { return 0; }
+ my $conn = getConfigDSConn($mig->{inf}->{General}->{ConfigDirectoryLdapURL}, + $mig->{inf}->{General}->{ConfigDirectoryAdminID}, + $mig->{inf}->{General}->{ConfigDirectoryAdminPwd}, + $configdir, @errs); + + if (@errs) { + $mig->msg($FATAL, @errs); + return 0; + } + + $mig->{inf}->{configdsconn} = $conn; + $mig->{inf}->{slapd}->{updatedir} = "@updatedir@"; + + if (updateDS($mig)) { + $conn->close(); + return 0; + } + if (!migratePset($mig, $configdir)) { + $conn->close(); return 0; }
if (!updateConsoleInfo($mig, $configdir)) { + $conn->close(); return 0; }
+ $conn->close(); + if (!migrateAdmpw($mig, $configdir)) { return 0; }
389-commits@lists.fedoraproject.org