ソースを参照

wait longer before polling new vultr server, avoid spurious ok status

cobbzilla/introduce_packer
Jonathan Cobb 4年前
コミット
ff6f057212
2個のファイルの変更4行の追加2行の削除
  1. +3
    -1
      bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java
  2. +1
    -1
      bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java

+ 3
- 1
bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java ファイルの表示

@@ -76,6 +76,7 @@ public class VultrDriver extends ComputeServiceDriverBase {
return snapshot == null ? die("initSnapshotOsId: no snapshot OS found") : snapshot.getId().intValue();
}

public static final long SERVER_START_INITIAL_INTERVAL = SECONDS.toMillis(30);
public static final long SERVER_START_POLL_INTERVAL = SECONDS.toMillis(5);
public static final long SERVER_START_TIMEOUT = MINUTES.toMillis(10);
public static final long SERVER_STOP_TIMEOUT = SECONDS.toMillis(60);
@@ -157,6 +158,7 @@ public class VultrDriver extends ComputeServiceDriverBase {
final long start = now();
boolean startedOk = false;
final HttpRequestBean poll = auth(new HttpRequestBean(POLL_SERVER_URL+subId));
sleep(SERVER_START_INITIAL_INTERVAL);
while (now() - start < SERVER_START_TIMEOUT) {
sleep(SERVER_START_POLL_INTERVAL);
final HttpResponseBean pollResponse = getResponse(poll);
@@ -173,7 +175,7 @@ public class VultrDriver extends ComputeServiceDriverBase {
&& serverNode.has(VULTR_V4_IP)) {

final String serverState = serverNode.get("server_state").textValue();
if (serverState.equals("none") || serverState.equals("locked")) continue;
if (!serverState.equals("ok")) continue;

final String status = serverNode.get("status").textValue();
final String ip4 = serverNode.get(VULTR_V4_IP).textValue();


+ 1
- 1
bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java ファイルの表示

@@ -322,7 +322,7 @@ public class StandardNetworkService implements NetworkService {
final CommandResult result = ansibleSetup(script, progressMeter);
// .... wait for ansible ...
if (!result.isZeroExitStatus()) {
if (result.getStderr().contains("Connection timed out")) {
if (result.getStderr().contains("Connection timed out") || result.getStderr().contains("SSH connection timeout")) {
log.warn("newNode: SSH connection timeout");
continue;
}


読み込み中…
キャンセル
保存