aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rwxr-xr-xulri18
2 files changed, 19 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 72b6a88..a43391e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- ulri: when failing to send a build to a machine do not try sending all the
+ other pending builds there
+
0.6.25
- drop arcfour cipher usage (not enabled by default in latest openssh packages)
- iurt: force installing all translations whatever the host system locale is
diff --git a/ulri b/ulri
index b4230c9..4565582 100755
--- a/ulri
+++ b/ulri
@@ -306,6 +306,14 @@ sub done_func {
}
}
+sub exclude_machine {
+ my ($host) = @_;
+ plog('INFO', "Excluding build host $host");
+ foreach my $arch (keys %{$config->{bot}}) {
+ delete $config->{bot}{$arch}{$host};
+ }
+}
+
check_upload_tree($todo, \&todo_func);
# getting already compiled packages
@@ -626,7 +634,10 @@ foreach my $prefix (sort keys %pkg_tree) {
# Copy packages to build node
#
# create also the log dir for botcmd.log
- next if ssh($remote, "mkdir -p $prefix_dir/log");
+ if (ssh($remote, "mkdir -p $prefix_dir/log")) {
+ exclude_machine($host);
+ next;
+ }
my $pkgs;
my $ok = 1;
foreach my $srpm (@$srpms) {
@@ -635,7 +646,10 @@ foreach my $prefix (sort keys %pkg_tree) {
"$prefix_dir/$srpm");
$pkgs .= " $prefix_dir/$srpm";
}
- next unless $ok;
+ if (!$ok) {
+ exclude_machine($host);
+ next;
+ }
# Register that the package is building
$run{bot}{$host}{$bot} = $prefix;