feat(cli): 增加主机是否启用的能力

This commit is contained in:
v-zhangjc9
2024-10-22 08:59:13 +08:00
parent 9fd46b3a20
commit 1338e6458c
3 changed files with 26 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ package com.lanyuanxiaoyao.service.cli.core;
*/ */
public class HostInfo { public class HostInfo {
private String ip; private String ip;
private Boolean enabled = true;
private Boolean useAuthority = false; private Boolean useAuthority = false;
private String username; private String username;
private String password; private String password;
@@ -20,6 +21,14 @@ public class HostInfo {
this.ip = ip; this.ip = ip;
} }
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public Boolean getUseAuthority() { public Boolean getUseAuthority() {
return useAuthority; return useAuthority;
} }
@@ -47,7 +56,8 @@ public class HostInfo {
@Override @Override
public String toString() { public String toString() {
return "HostInfo{" + return "HostInfo{" +
"ip='" + ip + '\'' + "enabled=" + enabled +
", ip='" + ip + '\'' +
", useAuthority=" + useAuthority + ", useAuthority=" + useAuthority +
", username='" + username + '\'' + ", username='" + username + '\'' +
", password='" + password + '\'' + ", password='" + password + '\'' +

View File

@@ -26,6 +26,10 @@ public class HostInfoWrapper {
return hostInfo.getIp(); return hostInfo.getIp();
} }
public Boolean getEnabled() {
return hostInfo.getEnabled();
}
public Boolean getUseAuthority() { public Boolean getUseAuthority() {
return hostInfo.getUseAuthority(); return hostInfo.getUseAuthority();
} }

View File

@@ -82,6 +82,7 @@ public class RunnerApplication implements ApplicationRunner {
return serviceInfo.getReplicas() == 0 return serviceInfo.getReplicas() == 0
? hostInfoList ? hostInfoList
.stream() .stream()
.filter(HostInfoWrapper::getEnabled)
.map(HostInfoWrapper::getIp) .map(HostInfoWrapper::getIp)
.sorted(Comparator.naturalOrder()) .sorted(Comparator.naturalOrder())
.collect(Collectors.toList()) .collect(Collectors.toList())
@@ -89,6 +90,7 @@ public class RunnerApplication implements ApplicationRunner {
RandomUtil.randomEleList( RandomUtil.randomEleList(
hostInfoList hostInfoList
.stream() .stream()
.filter(HostInfoWrapper::getEnabled)
.map(HostInfoWrapper::getIp) .map(HostInfoWrapper::getIp)
.collect(Collectors.toList() .collect(Collectors.toList()
), serviceInfo.getReplicas() ), serviceInfo.getReplicas()
@@ -148,6 +150,15 @@ public class RunnerApplication implements ApplicationRunner {
selectedHosts = selectHosts(serviceInfo); selectedHosts = selectHosts(serviceInfo);
deployPlans.put(serviceInfo.getName(), selectedHosts); deployPlans.put(serviceInfo.getName(), selectedHosts);
} }
// 排除不可用的主机
List<String> validIps = hostInfoList.stream()
.filter(HostInfoWrapper::getEnabled)
.map(HostInfoWrapper::getIp)
.collect(Collectors.toList());
selectedHosts = selectedHosts
.stream()
.filter(validIps::contains)
.collect(Collectors.toList());
} else { } else {
selectedHosts = selectHosts(serviceInfo); selectedHosts = selectHosts(serviceInfo);
deployPlans.put(serviceInfo.getName(), selectedHosts); deployPlans.put(serviceInfo.getName(), selectedHosts);