Parcourir la source

avoid closing progress meter prematurely

cobbzilla/introduce_packer
Jonathan Cobb il y a 4 ans
Parent
révision
68cbb82358
2 fichiers modifiés avec 17 ajouts et 3 suppressions
  1. +12
    -0
      bubble-server/src/main/java/bubble/service/cloud/NodeProgressMeter.java
  2. +5
    -3
      bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java

+ 12
- 0
bubble-server/src/main/java/bubble/service/cloud/NodeProgressMeter.java Voir le fichier

@@ -173,4 +173,16 @@ public class NodeProgressMeter extends PipedOutputStream implements Runnable {
.setPercent(100));
}

public NodeProgressMeter uncloseable() throws IOException {
return new UncloseableNodeProgressMeter(this);
}

private class UncloseableNodeProgressMeter extends NodeProgressMeter {
private NodeProgressMeter meter;
public UncloseableNodeProgressMeter(NodeProgressMeter meter) throws IOException {
super(meter.nn, meter.redis);
this.meter = meter;
}
@Override public void close() {}
}
}

+ 5
- 3
bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java Voir le fichier

@@ -319,11 +319,13 @@ public class StandardNetworkService implements NetworkService {
for (int i=0; i<MAX_ANSIBLE_TRIES; i++) {
sleep((i+1) * SECONDS.toMillis(5), "waiting to try ansible setup");
try {
final CommandResult result = ansibleSetup(script, progressMeter);
final CommandResult result = ansibleSetup(script, progressMeter.uncloseable());
// .... wait for ansible ...
if (!result.isZeroExitStatus()) {
if (result.getStderr().contains("Connection timed out") || result.getStderr().contains("SSH connection timeout")) {
log.warn("newNode: SSH connection timeout");
if (result.getStderr().contains("Connection timed out")
|| result.getStderr().contains("SSH connection timeout")
|| result.getStderr().contains("Connection refused")) {
log.warn("newNode: SSH connection error: "+result.getStderr());
continue;
}
return die("newNode: error in setup:\nstdout=" + result.getStdout() + "\nstderr=" + result.getStderr());


Chargement…
Annuler
Enregistrer