[LON-CAPA-cvs] cvs: loncom /interface domainprefs.pm
raeburn
raeburn at source.lon-capa.org
Sun Oct 5 09:34:02 EDT 2014
raeburn Sun Oct 5 13:34:02 2014 EDT
Modified files:
/loncom/interface domainprefs.pm
Log:
Bug 6675
- Add domain configuration setting on balancer server for non-SSO users
with IP mismatch during offload for case where balancer server's default
domain is not domain being configured.
- If loadbalancing configuration change affects behavior of servers
which host offloaded sessions (e.g., ip change detected in migration)
expire cached loadbalancing config on load balancer, and servers which
might be set as "specific" offloaded session recipient.
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.252 loncom/interface/domainprefs.pm:1.253
--- loncom/interface/domainprefs.pm:1.252 Sat Oct 4 02:41:44 2014
+++ loncom/interface/domainprefs.pm Sun Oct 5 13:34:01 2014
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.252 2014/10/04 02:41:44 raeburn Exp $
+# $Id: domainprefs.pm,v 1.253 2014/10/05 13:34:01 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3661,9 +3661,10 @@
$disabled = ' disabled="disabled"';
}
$targettable .=
- '<td><label><input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'.
+ '<td><span class="LC_nobreak"><label>'.
+ '<input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'.
$checked.$disabled.' value="'.$chkboxval.'" id="loadbalancing_target_'.$balnum.'_'.$sparetype.'_'.$i.'" onclick="checkOffloads('."this,'$balnum','$sparetype'".');" /><span id="loadbalancing_targettxt_'.$balnum.'_'.$sparetype.'_'.$i.'"> '.$chkboxval.
- '</span></label></td>';
+ '</span></label></span></td>';
my $rem = $i%($numinrow);
if ($rem == 0) {
if (($i > 0) && ($i < $numspares-1)) {
@@ -3753,7 +3754,7 @@
if (ref($currrules) eq 'HASH') {
$current = $currrules->{$type};
}
- if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) {
+ if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) {
if ($dom ne &Apache::lonnet::host_domain($lonhost)) {
$current = '';
}
@@ -3816,7 +3817,7 @@
push(@rulenames,'none');
}
my $style = $targets_div_style;
- if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) {
+ if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) {
$style = $homedom_div_style;
}
my $space;
@@ -10680,6 +10681,7 @@
my ($othertitle,$usertypes,$types) =
&Apache::loncommon::sorted_inst_types($dom);
my %servers = &Apache::lonnet::internet_dom_servers($dom);
+ my %libraryservers = &Apache::lonnet::get_servers($dom,'library');
my @sparestypes = ('primary','default');
my %typetitles = &sparestype_titles();
my $resulttext;
@@ -10808,6 +10810,7 @@
}
if (ref($changes{'curr'}) eq 'HASH') {
foreach my $balancer (sort(keys(%{$changes{'curr'}}))) {
+ $toupdate{$balancer} = 1;
if (ref($changes{'curr'}{$balancer}) eq 'HASH') {
if ($changes{'curr'}{$balancer}{'targets'}) {
my %offloadstr;
@@ -10852,6 +10855,19 @@
map { $toupdate{$_} = 1; } (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}});
}
}
+ foreach my $item (@{$alltypes}) {
+ next if ($item =~ /^_LC_ipchange/);
+ my $hasrule = $defaultshash{'loadbalancing'}{$balancer}{'rules'}{$item};
+ if ($hasrule eq 'homeserver') {
+ map { $toupdate{$_} = 1; } (keys(%libraryservers));
+ } else {
+ unless (($hasrule eq 'default') || ($hasrule eq 'none') || ($hasrule eq 'externalbalancer')) {
+ if ($servers{$hasrule}) {
+ $toupdate{$hasrule} = 1;
+ }
+ }
+ }
+ }
}
} else {
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type});
More information about the LON-CAPA-cvs
mailing list