in services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandExecutorMockAsync.java [116:186]
public void run() {
log.debug("Run OS command for user {} with UUID {}: {}", user, uuid, SecurityUtils.hideCreds(command));
responseFileName = null;
parser = new CommandParserMock(command, uuid);
log.debug("Parser is {}", SecurityUtils.hideCreds(parser.toString()));
DockerAction action = DockerAction.of(parser.getAction());
log.debug("Action is {}", action);
if (parser.isDockerCommand()) {
if (action == null) {
throw new DatalabException("Docker action not defined");
}
sleep(500);
try {
switch (action) {
case DESCRIBE:
describe();
break;
case CREATE:
case RECREATE:
case START:
case STOP:
case TERMINATE:
case GIT_CREDS:
case CREATE_IMAGE:
case RECONFIGURE_SPARK:
case CHECK_INACTIVITY:
action(user, action);
break;
case CONFIGURE:
case REUPLOAD_KEY:
sleep(1000);
action(user, action);
break;
case STATUS:
parser.getVariables().put("list_resources", getResponseStatus(true));
action(user, action);
break;
case LIB_LIST:
action(user, action);
copyFile(String.format("mock_response/%s/notebook_lib_list_pkgs.json",
cloudProvider.getName()),
String.join("_", "notebook", uuid, "all_pkgs") +
JSON_FILE_ENDING, parser.getResponsePath());
break;
case LIB_INSTALL:
parser.getVariables().put("lib_install", getResponseLibInstall(true));
action(user, action);
break;
default:
break;
}
} catch (Exception e) {
String msg = "Cannot execute command for user " + user + " with UUID " + uuid + ". " +
e.getLocalizedMessage();
log.error(msg, e);
throw new DatalabException(msg, e);
}
} else {
final String scriptName = StringUtils.substringBefore(Paths.get(parser.getCommand()).getFileName()
.toString(), ".");
String templateFileName = "mock_response/" + cloudProvider.getName() + '/' + scriptName + JSON_FILE_ENDING;
responseFileName = getAbsolutePath(parser.getResponsePath(), scriptName + user + "_" +
parser.getRequestId() + JSON_FILE_ENDING);
setResponse(templateFileName, responseFileName);
}
}