Author: rhafer
Date: Tue Nov 24 17:53:59 2009
New Revision: 59747
URL: http://svn.opensuse.org/viewcvs/yast?rev=59747&view=rev
Log:
Fixed slave setup in install proposal (bnc#558019)
Moved slave initialization into ReadFromDefaults() to avoid overwriting in
during installation proposal and to be more consistent with
master/standalone setup.
Modified:
branches/SuSE-Code-11-SP1-Branch/ldap-server/src/LdapServer.pm
branches/SuSE-Code-11-SP1-Branch/ldap-server/src/dialogs.ycp
branches/SuSE-Code-11-SP1-Branch/ldap-server/src/ldap-server_proposal.ycp
Modified: branches/SuSE-Code-11-SP1-Branch/ldap-server/src/LdapServer.pm
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/ldap-server/src/LdapServer.pm?rev=59747&r1=59746&r2=59747&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/ldap-server/src/LdapServer.pm (original)
+++ branches/SuSE-Code-11-SP1-Branch/ldap-server/src/LdapServer.pm Tue Nov 24 17:53:59 2009
@@ -1672,121 +1672,132 @@
my $frontenddb = { 'type' => 'frontend' };
$self->InitGlobals();
- SCR->Execute('.ldapserver.initSchema' );
- my $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/core.ldif" );
- if ( ! $rc ) {
- my $err = SCR->Error(".ldapserver");
- y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
- $self->SetError( $err->{'summary'}, $err->{'description'} );
- return $rc;
- }
- $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/cosine.ldif" );
- if ( ! $rc ) {
- my $err = SCR->Error(".ldapserver");
- y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
- $self->SetError( $err->{'summary'}, $err->{'description'} );
- return $rc;
- }
- $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/inetorgperson.ldif" );
- if ( ! $rc ) {
- my $err = SCR->Error(".ldapserver");
- y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
- $self->SetError( $err->{'summary'}, $err->{'description'} );
- return $rc;
- }
- $rc = SCR->Write(".ldapserver.schema.addFromSchemafile", "/etc/openldap/schema/rfc2307bis.schema" );
- if ( ! $rc ) {
- my $err = SCR->Error(".ldapserver");
- y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
- $self->SetError( $err->{'summary'}, $err->{'description'} );
- return $rc;
- }
- $rc = SCR->Write(".ldapserver.schema.addFromSchemafile", "/etc/openldap/schema/yast.schema" );
- if ( ! $rc ) {
- my $err = SCR->Error(".ldapserver");
- y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
- $self->SetError( $err->{'summary'}, $err->{'description'} );
- return $rc;
- }
-
- SCR->Execute('.ldapserver.initDatabases', [ $frontenddb, $cfgdatabase, $database ] );
- if ( $dbDefaults{'defaultIndex'} == 1 ||
- ( ref($dbDefaults{'defaultIndex'}) eq "YaST::YCP::Boolean" &&
- $dbDefaults{'defaultIndex'}->value == 1 )
- )
+
+ if ( $self->ReadSetupSlave() )
{
- foreach my $idx ( @$defaultIndexes )
+ SCR->Execute('.ldapserver.initDatabases', [ $frontenddb, $cfgdatabase ] );
+ SCR->Write(".ldapserver.database.{0}.syncrepl", $syncreplbaseconfig );
+ my $ldif = SCR->Read('.ldapserver.configAsLdif' );
+ y2debug($ldif);
+ }
+ else #master or standalone
+ {
+ SCR->Execute('.ldapserver.initSchema' );
+ my $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/core.ldif" );
+ if ( ! $rc ) {
+ my $err = SCR->Error(".ldapserver");
+ y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return $rc;
+ }
+ $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/cosine.ldif" );
+ if ( ! $rc ) {
+ my $err = SCR->Error(".ldapserver");
+ y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return $rc;
+ }
+ $rc = SCR->Write(".ldapserver.schema.addFromLdif", "/etc/openldap/schema/inetorgperson.ldif" );
+ if ( ! $rc ) {
+ my $err = SCR->Error(".ldapserver");
+ y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return $rc;
+ }
+ $rc = SCR->Write(".ldapserver.schema.addFromSchemafile", "/etc/openldap/schema/rfc2307bis.schema" );
+ if ( ! $rc ) {
+ my $err = SCR->Error(".ldapserver");
+ y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return $rc;
+ }
+ $rc = SCR->Write(".ldapserver.schema.addFromSchemafile", "/etc/openldap/schema/yast.schema" );
+ if ( ! $rc ) {
+ my $err = SCR->Error(".ldapserver");
+ y2error("Adding Schema failed: ".$err->{'summary'}." ".$err->{'description'});
+ $self->SetError( $err->{'summary'}, $err->{'description'} );
+ return $rc;
+ }
+
+ SCR->Execute('.ldapserver.initDatabases', [ $frontenddb, $cfgdatabase, $database ] );
+ if ( $dbDefaults{'defaultIndex'} == 1 ||
+ ( ref($dbDefaults{'defaultIndex'}) eq "YaST::YCP::Boolean" &&
+ $dbDefaults{'defaultIndex'}->value == 1 )
+ )
{
- $self->ChangeDatabaseIndex(1, $idx );
+ foreach my $idx ( @$defaultIndexes )
+ {
+ $self->ChangeDatabaseIndex(1, $idx );
+ }
}
- }
- if ( defined $dbDefaults{'configpw'} && $dbDefaults{'configpw'} ne "" )
- {
- my $confPwHash = $self->HashPassword($dbDefaults{'pwenctype'}, $dbDefaults{'configpw'} );
- my $changes = { "secure_only" => 1, "rootpw" => $confPwHash };
- $self->UpdateDatabase(0 ,$changes);
- if ( $self->ReadSetupMaster() )
+ if ( defined $dbDefaults{'configpw'} && $dbDefaults{'configpw'} ne "" )
{
- my $syncprov = { 'enabled' => 1,
- 'checkpoint' => { 'ops' => YaST::YCP::Integer(100),
- 'min' => YaST::YCP::Integer(10) }
- };
-
- SCR->Write( ".ldapserver.database.{0}.syncprov", $syncprov );
- SCR->Write( ".ldapserver.database.{1}.syncprov", $syncprov );
-
- my $syncpw = GenerateRandPassword();
- my $syncdn = "uid=syncrepl,ou=system,".$dbDefaults{'suffix'};
- my $rc = SCR->Execute( '.target.bash_output', "/bin/hostname -f" );
- my $fqdn = $rc->{"stdout"};
- chomp($fqdn);
- my $syncrepl = {
- "provider" => {
- "protocol" => "ldap",
- "target" => $fqdn,
- "port" => YaST::YCP::Integer(389)
- },
- "type" => "refreshAndPersist",
- "binddn" => $syncdn,
- "credentials" => $syncpw,
- "basedn" => "cn=config",
- "starttls" => YaST::YCP::Boolean(1),
- "updateref" => {}
- };
- SCR->Write(".ldapserver.database.{0}.syncrepl", $syncrepl );
- $syncrepl->{'basedn'} = $dbDefaults{'suffix'};
- SCR->Write(".ldapserver.database.{1}.syncrepl", $syncrepl );
- $syncreplaccount->{'syncdn'} = $syncdn;
- $syncreplaccount->{'syncpw'} = $syncpw;
- $syncreplaccount->{'syncpw_hash'} = $self->HashPassword($dbDefaults{'pwenctype'}, $syncpw );
- $syncreplaccount->{'basedn'} = $dbDefaults{'suffix'};
- my @syncacl = ({
- 'target' => {},
- 'access' => [
- { 'type' => "dn.base",
- 'value' => $syncdn,
- 'level' => "read",
- 'control' => "" },
- { 'type' => "*",
- 'value' => "",
- 'level' => "",
- 'control' => "break" }
- ]
- });
- $rc = SCR->Write(".ldapserver.database.{0}.acl", \@syncacl );
- push @syncacl, @$defaultDbAcls;
- $defaultDbAcls = \@syncacl;
+ my $confPwHash = $self->HashPassword($dbDefaults{'pwenctype'}, $dbDefaults{'configpw'} );
+ my $changes = { "secure_only" => 1, "rootpw" => $confPwHash };
+ $self->UpdateDatabase(0 ,$changes);
+ if ( $self->ReadSetupMaster() )
+ {
+ my $syncprov = { 'enabled' => 1,
+ 'checkpoint' => { 'ops' => YaST::YCP::Integer(100),
+ 'min' => YaST::YCP::Integer(10) }
+ };
+
+ SCR->Write( ".ldapserver.database.{0}.syncprov", $syncprov );
+ SCR->Write( ".ldapserver.database.{1}.syncprov", $syncprov );
+
+ my $syncpw = GenerateRandPassword();
+ my $syncdn = "uid=syncrepl,ou=system,".$dbDefaults{'suffix'};
+ my $rc = SCR->Execute( '.target.bash_output', "/bin/hostname -f" );
+ my $fqdn = $rc->{"stdout"};
+ chomp($fqdn);
+ my $syncrepl = {
+ "provider" => {
+ "protocol" => "ldap",
+ "target" => $fqdn,
+ "port" => YaST::YCP::Integer(389)
+ },
+ "type" => "refreshAndPersist",
+ "binddn" => $syncdn,
+ "credentials" => $syncpw,
+ "basedn" => "cn=config",
+ "starttls" => YaST::YCP::Boolean(1),
+ "updateref" => {}
+ };
+ SCR->Write(".ldapserver.database.{0}.syncrepl", $syncrepl );
+ $syncrepl->{'basedn'} = $dbDefaults{'suffix'};
+ SCR->Write(".ldapserver.database.{1}.syncrepl", $syncrepl );
+ $syncreplaccount->{'syncdn'} = $syncdn;
+ $syncreplaccount->{'syncpw'} = $syncpw;
+ $syncreplaccount->{'syncpw_hash'} = $self->HashPassword($dbDefaults{'pwenctype'}, $syncpw );
+ $syncreplaccount->{'basedn'} = $dbDefaults{'suffix'};
+ my @syncacl = ({
+ 'target' => {},
+ 'access' => [
+ { 'type' => "dn.base",
+ 'value' => $syncdn,
+ 'level' => "read",
+ 'control' => "" },
+ { 'type' => "*",
+ 'value' => "",
+ 'level' => "",
+ 'control' => "break" }
+ ]
+ });
+ $rc = SCR->Write(".ldapserver.database.{0}.acl", \@syncacl );
+ push @syncacl, @$defaultDbAcls;
+ $defaultDbAcls = \@syncacl;
+ }
}
+
+ # add default ACLs
+ $rc = SCR->Write(".ldapserver.database.{-1}.acl", $defaultGlobalAcls );
+ $rc = SCR->Write(".ldapserver.database.{1}.acl", $defaultDbAcls );
+ push @added_databases, $dbDefaults{'suffix'};
+ $self->WriteAuthInfo( $dbDefaults{'suffix'},
+ { bind_dn => $dbDefaults{'rootdn'},
+ bind_pw => $dbDefaults{'rootpw_clear'} } );
}
-
- # add default ACLs
- $rc = SCR->Write(".ldapserver.database.{-1}.acl", $defaultGlobalAcls );
- $rc = SCR->Write(".ldapserver.database.{1}.acl", $defaultDbAcls );
- push @added_databases, $dbDefaults{'suffix'};
- $self->WriteAuthInfo( $dbDefaults{'suffix'},
- { bind_dn => $dbDefaults{'rootdn'},
- bind_pw => $dbDefaults{'rootpw_clear'} } );
$usingDefaults = 0;
$readConfig = 1;
return 1;
@@ -2826,22 +2837,10 @@
SCR->Execute(".ldapserver.reset" );
$self->CreateSyncReplAccount();
- SCR->Execute(".ldapserver.initGlobals" );
- my $cfgdatabase = { 'type' => 'config',
- 'rootdn' => 'cn=config' };
- my $frontenddb = { 'type' => 'frontend' };
- SCR->Execute('.ldapserver.initDatabases', [ $frontenddb, $cfgdatabase ] );
$syncreplbaseconfig->{'binddn'} = "cn=config";
$syncreplbaseconfig->{'credentials'} = $auth_info->{'cn=config'}->{'bind_pw'};
$syncreplbaseconfig->{'basedn'} = "cn=config";
- SCR->Write(".ldapserver.database.{0}.syncrepl", $syncreplbaseconfig );
- my $ldif = SCR->Read('.ldapserver.configAsLdif' );
- y2milestone($ldif);
- $overwriteConfig = 1;
-# $self->Write( {resetCsn => 1} );
-# SCR->Execute(".ldapserver.reset" );
-
return 1;
}
Modified: branches/SuSE-Code-11-SP1-Branch/ldap-server/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/ldap-server/src/dialogs.ycp?rev=59747&r1=59746&r2=59747&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/ldap-server/src/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/ldap-server/src/dialogs.ycp Tue Nov 24 17:53:59 2009
@@ -1011,6 +1011,7 @@
any ret = nil;
LdapServer::SetupRemoteForReplication();
+ LdapServer::ReadFromDefaults();
ret = `next;
return ret;
}
Modified: branches/SuSE-Code-11-SP1-Branch/ldap-server/src/ldap-server_proposal.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/ldap-server/src/ldap-server_proposal.ycp?rev=59747&r1=59746&r2=59747&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/ldap-server/src/ldap-server_proposal.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/ldap-server/src/ldap-server_proposal.ycp Tue Nov 24 17:53:59 2009
@@ -213,6 +213,7 @@
return ret;
}
+
if ( LdapServer::ReadSetupSlave() )
{
Wizard::CreateDialog();
@@ -221,7 +222,7 @@
Wizard::CloseDialog();
if ( slave_ret == `next )
{
- LdapServer::SetupRemoteForReplication();
+ LdapServer::SetupRemoteForReplication();
}
else
{
@@ -229,7 +230,6 @@
return ret;
}
}
-
LdapServer::ReadFromDefaults();
map