Kaynağa Gözat

better support for debugging node installation

tags/v0.2.0
Jonathan Cobb 5 yıl önce
ebeveyn
işleme
d9b4d1a55a
3 değiştirilmiş dosya ile 23 ekleme ve 5 silme
  1. +3
    -0
      bubble-server/src/main/java/bubble/server/BubbleConfiguration.java
  2. +16
    -2
      bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java
  3. +4
    -3
      bubble-server/src/main/resources/logback.xml

+ 3
- 0
bubble-server/src/main/java/bubble/server/BubbleConfiguration.java Dosyayı Görüntüle

@@ -65,6 +65,9 @@ public class BubbleConfiguration extends PgRestServerConfiguration

public static final String SPRING_DB_FILTER = "classpath:/spring-db-filter.xml";

public static final String ENV_DEBUG_NODE_INSTALL = "BUBBLE_DEBUG_NODE_INSTALL";
public static final File DEBUG_NODE_INSTALL_FILE = new File(HOME_DIR, ".debug_node_install");

public static final String TAG_SAGE_LAUNCHER = "sageLauncher";
public static final String TAG_NETWORK_UUID = "networkUuid";
public static final String TAG_PAYMENTS_ENABLED = "paymentsEnabled";


+ 16
- 2
bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java Dosyayı Görüntüle

@@ -47,10 +47,11 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;

import static bubble.ApiConstants.getRemoteHost;
import static bubble.ApiConstants.newNodeHostname;
import static bubble.ApiConstants.*;
import static bubble.dao.bill.AccountPlanDAO.PURCHASE_DELAY;
import static bubble.model.cloud.BubbleNode.TAG_ERROR;
import static bubble.server.BubbleConfiguration.DEBUG_NODE_INSTALL_FILE;
import static bubble.server.BubbleConfiguration.ENV_DEBUG_NODE_INSTALL;
import static bubble.service.boot.StandardSelfNodeService.*;
import static bubble.service.cloud.NodeProgressMeter.getProgressMeterKey;
import static bubble.service.cloud.NodeProgressMeter.getProgressMeterPrefix;
@@ -328,6 +329,8 @@ public class StandardNetworkService implements NetworkService {
boolean setupOk = false;
final String nodeUser = node.getUser();
final String script = getAnsibleSetupScript(automation, sshArgs, nodeUser, sshTarget);
waitForDebugger();

log.info("newNode: running script:\n"+script);
for (int i=0; i<MAX_ANSIBLE_TRIES; i++) {
sleep((i+1) * SECONDS.toMillis(5), "waiting to try ansible setup");
@@ -380,6 +383,17 @@ public class StandardNetworkService implements NetworkService {
return node;
}

public void waitForDebugger() {
if (Boolean.parseBoolean(configuration.getEnvironment().get(ENV_DEBUG_NODE_INSTALL))) {
final String msg = "waitForDebugger: debugging installation, waiting for " + abs(DEBUG_NODE_INSTALL_FILE) + " to exist";
log.info(msg);
while (!DEBUG_NODE_INSTALL_FILE.exists()) {
sleep(SECONDS.toMillis(10), msg);
}
log.info("waitForDebugger: "+abs(DEBUG_NODE_INSTALL_FILE)+" exists, continuing installation");
}
}

public CommandResult ansibleSetup(String script, OutputStream progressMeter) throws IOException {
return CommandShell.exec(new Command(new CommandLine("/bin/bash")
.addArgument("-c")


+ 4
- 3
bubble-server/src/main/resources/logback.xml Dosyayı Görüntüle

@@ -24,19 +24,20 @@
<logger name="org.cobbzilla.util.javascript" level="INFO" />
<logger name="org.cobbzilla.util.handlebars" level="INFO" />
<logger name="org.cobbzilla.util.yml" level="ERROR" />
<logger name="org.cobbzilla.util.daemon.ZillaRuntime" level="INFO" />
<logger name="org.cobbzilla.util.daemon.ZillaRuntime" level="WARN" />
<logger name="org.cobbzilla.wizard.server" level="WARN" />
<logger name="org.cobbzilla.wizard.client" level="INFO" />
<logger name="org.cobbzilla.wizard.client" level="WARN" />
<logger name="org.cobbzilla.wizard.model.entityconfig.ModelSetup" level="INFO" />
<logger name="org.cobbzilla.wizard.resources.AbstractEntityConfigsResource" level="ERROR" />
<logger name="org.cobbzilla.wizard.resources.ResourceUtil" level="ERROR" />
<!--<logger name="org.cobbzilla.wizardtest.resources.AbstractResourceIT" level="INFO" />-->
<logger name="org.cobbzilla.wizardtest.resources" level="INFO" />
<logger name="org.glassfish.jersey.grizzly" level="INFO" />
<logger name="org.glassfish.jersey.grizzly" level="WARN" />
<logger name="bubble.cloud.email.SmtpEmailDriver" level="WARN" />
<logger name="org.cobbzilla.wizard.dao.AbstractCRUDDAO" level="WARN" />
<logger name="org.cobbzilla.wizard.server.listener.BrowserLauncherListener" level="INFO" />
<logger name="bubble.service.notify.NotificationService" level="WARN" />
<logger name="bubble.service.cloud.StandardNetworkService" level="INFO" />
<logger name="bubble.resources.notify" level="WARN" />
<logger name="bubble.client" level="WARN" />
<logger name="bubble.main.rekey" level="INFO" />


Yükleniyor…
İptal
Kaydet