|
|
@@ -8,6 +8,7 @@ import cn.reghao.autodop.common.dagent.app.api.data.AppIdArgs;
|
|
|
import cn.reghao.autodop.common.dagent.app.api.data.log.AppLogArgs;
|
|
|
import cn.reghao.autodop.common.dagent.app.api.data.log.LogLevel;
|
|
|
import cn.reghao.autodop.common.dagent.app.api.data.log.LogType;
|
|
|
+import cn.reghao.autodop.common.utils.serializer.JsonArrayDeserializer;
|
|
|
import cn.reghao.autodop.common.utils.serializer.JsonConverter;
|
|
|
import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
|
|
|
import cn.reghao.autodop.dmaster.app.entity.config.orchestration.AppOrchestration;
|
|
|
@@ -20,6 +21,7 @@ import cn.reghao.autodop.dmaster.common.db.PageList;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -71,76 +73,96 @@ public class AppStatusService {
|
|
|
Map<String, RpcResult> rpcResultMap = callService.call(mqMessages);
|
|
|
rpcResultMap.forEach((machineId, rpcResult) -> {
|
|
|
if (rpcResult.getStatusCode() == 0) {
|
|
|
-
|
|
|
+ String result = rpcResult.getResult();
|
|
|
+ System.out.println();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- public List<String> logContent(String appId) {
|
|
|
+ public List<String> logContent(String appId, String logType, String logLevel) {
|
|
|
AppOrchestration app = cache.findByAppId(appId);
|
|
|
+ List<LogConfig> logs = app.getRunningConfig().getLogs();
|
|
|
|
|
|
List<MqMessage> mqMessages = new ArrayList<>();
|
|
|
for (DeployConfig deployConfig : app.getDeployConfigs()) {
|
|
|
- AppIdArgs appIdArgs = new AppIdArgs(app.getBuildConfig().getPackerConfig().getType(), appId);
|
|
|
+ AppLogArgs appLogArgs = new AppLogArgs();
|
|
|
+ appLogArgs.setPackerType(deployConfig.getPackerType());
|
|
|
+ appLogArgs.setAppId(appId);
|
|
|
+ appLogArgs.setLogType(LogType.console.name());
|
|
|
+ appLogArgs.setLogLevel(LogLevel.info.name());
|
|
|
|
|
|
MqMessage mqMessage = new MqMessage();
|
|
|
mqMessage.setMachineId(deployConfig.getMachineId());
|
|
|
mqMessage.setSendTime(System.currentTimeMillis());
|
|
|
mqMessage.setRpc(true);
|
|
|
mqMessage.setType(MessageType.appType.name());
|
|
|
- mqMessage.setOps(AppOps.appStatusOps.name());
|
|
|
- mqMessage.setPayload(JsonConverter.objectToJson(appIdArgs));
|
|
|
+ mqMessage.setOps(AppOps.appLogOps.name());
|
|
|
+ mqMessage.setPayload(JsonConverter.objectToJson(appLogArgs));
|
|
|
mqMessages.add(mqMessage);
|
|
|
}
|
|
|
|
|
|
Map<String, RpcResult> rpcResultMap = callService.call(mqMessages);
|
|
|
rpcResultMap.forEach((machineId, rpcResult) -> {
|
|
|
if (rpcResult.getStatusCode() == 0) {
|
|
|
-
|
|
|
+ String result = rpcResult.getResult();
|
|
|
+ JsonArrayDeserializer<String> deserializer = new JsonArrayDeserializer<>();
|
|
|
+ List<String> list = deserializer.fromJsonArray(result, String.class);
|
|
|
+ System.out.println();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- public AppStatus appStatus(String appId) {
|
|
|
+ public Map<String, AppStatus> appStatus(String appId) {
|
|
|
+ AppOrchestration app = cache.findByAppId(appId);
|
|
|
+ return getAppStatusMap(app, AppOps.appStatusOps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String, AppStatus> restart(String appId) {
|
|
|
+ AppOrchestration app = cache.findByAppId(appId);
|
|
|
+ return getAppStatusMap(app, AppOps.appRestartOps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String, AppStatus> stop(String appId) {
|
|
|
+ AppOrchestration app = cache.findByAppId(appId);
|
|
|
+ return getAppStatusMap(app, AppOps.appStopOps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String, AppStatus> start(String appId) {
|
|
|
AppOrchestration app = cache.findByAppId(appId);
|
|
|
+ return getAppStatusMap(app, AppOps.appStartOps);
|
|
|
+ }
|
|
|
|
|
|
+ private Map<String, AppStatus> getAppStatusMap(AppOrchestration app, AppOps appOps) {
|
|
|
List<MqMessage> mqMessages = new ArrayList<>();
|
|
|
for (DeployConfig deployConfig : app.getDeployConfigs()) {
|
|
|
- AppIdArgs appIdArgs = new AppIdArgs(app.getBuildConfig().getPackerConfig().getType(), appId);
|
|
|
+ AppIdArgs appIdArgs = new AppIdArgs(app.getBuildConfig().getPackerConfig().getType(), app.getAppId());
|
|
|
|
|
|
MqMessage mqMessage = new MqMessage();
|
|
|
mqMessage.setMachineId(deployConfig.getMachineId());
|
|
|
mqMessage.setSendTime(System.currentTimeMillis());
|
|
|
mqMessage.setRpc(true);
|
|
|
mqMessage.setType(MessageType.appType.name());
|
|
|
- mqMessage.setOps(AppOps.appStatusOps.name());
|
|
|
+ mqMessage.setOps(appOps.name());
|
|
|
mqMessage.setPayload(JsonConverter.objectToJson(appIdArgs));
|
|
|
mqMessages.add(mqMessage);
|
|
|
}
|
|
|
|
|
|
+ Map<String, AppStatus> map = new HashMap<>();
|
|
|
Map<String, RpcResult> rpcResultMap = callService.call(mqMessages);
|
|
|
- rpcResultMap.forEach((machineId, rpcResult) -> {
|
|
|
+ for (Map.Entry<String, RpcResult> entry : rpcResultMap.entrySet()) {
|
|
|
+ String machineId = entry.getKey();
|
|
|
+ RpcResult rpcResult = entry.getValue();
|
|
|
if (rpcResult.getStatusCode() == 0) {
|
|
|
-
|
|
|
+ AppStatus appStatus =
|
|
|
+ (AppStatus) JsonConverter.jsonToObject(rpcResult.getResult(), AppStatus.class);
|
|
|
+ appStatus.setEnv(app.getEnv());
|
|
|
+ map.put(machineId, appStatus);
|
|
|
}
|
|
|
- });
|
|
|
-
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public AppStatus restart(String appId) {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public AppStatus stop(String appId) {
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public AppStatus start(String appId) {
|
|
|
- return null;
|
|
|
+ }
|
|
|
+ return map;
|
|
|
}
|
|
|
}
|