From caabd4668e13692c8ada7389dabd778d66457ee3 Mon Sep 17 00:00:00 2001 From: huabanyu8411 Date: Mon, 2 May 2022 14:53:23 +0800 Subject: [PATCH 1/2] add dhcp interface --- rackshift-web/src/common/validator/CommonValidator.js | 7 ++++++- rackshift-web/src/components/network/Network.vue | 9 ++++++++- rackshift-web/src/i18n/en-US.js | 2 ++ rackshift-web/src/i18n/zh-CN.js | 2 ++ rackshift-web/src/i18n/zh-TW.js | 2 ++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/rackshift-web/src/common/validator/CommonValidator.js b/rackshift-web/src/common/validator/CommonValidator.js index 0c78fabf..0c84d4c2 100644 --- a/rackshift-web/src/common/validator/CommonValidator.js +++ b/rackshift-web/src/common/validator/CommonValidator.js @@ -157,7 +157,12 @@ function ipValidator(rule, value, callback) { } callback(); } - +function interfaceValidator(rule,value,callback) { + if (value === '' || !value ) { + callback(new Error(rule.vue.$t('cannt_be_null'))) + } + callback() +} function vlanValidator(rule, value, callback) { if (rule.require) { if (value === '' || !value || value.length === 0) { diff --git a/rackshift-web/src/components/network/Network.vue b/rackshift-web/src/components/network/Network.vue index 7c51b726..8eed55b8 100644 --- a/rackshift-web/src/components/network/Network.vue +++ b/rackshift-web/src/components/network/Network.vue @@ -94,7 +94,10 @@ - + + + @@ -151,6 +154,7 @@ import HttpUtil from "../../common/utils/HttpUtil" import { ipValidator, + interfaceValidator, requiredSelectValidator, maskValidator, requiredValidator @@ -169,6 +173,9 @@ export default { endpointId: [ {validator: requiredSelectValidator, trigger: 'blur', vue: this}, ], + interFace: [ + {validator: interfaceValidator, trigger: 'blur', vue: this}, + ], startIp: [ {validator: ipValidator, trigger: 'blur', vue: this}, ], diff --git a/rackshift-web/src/i18n/en-US.js b/rackshift-web/src/i18n/en-US.js index 4387a042..7336b802 100644 --- a/rackshift-web/src/i18n/en-US.js +++ b/rackshift-web/src/i18n/en-US.js @@ -44,8 +44,10 @@ export default { "network_card": "Network Card", "endpoint": "Node", "pls_select_bare_metal": "Please select a bare metal server", + "interFace": "PXE interface name", "start_ip": "Start IP", "edit_execution_log": "Edit deployment log", + "pls_input_interface": "please enter you pxe interface name", "pls_input_start_ip": "Please enter the start ip", "disabled": "No", "sn": "Serial Number", diff --git a/rackshift-web/src/i18n/zh-CN.js b/rackshift-web/src/i18n/zh-CN.js index beb22b52..77d41f47 100644 --- a/rackshift-web/src/i18n/zh-CN.js +++ b/rackshift-web/src/i18n/zh-CN.js @@ -46,6 +46,7 @@ export default { "pls_select_bare_metal": "请选择将执行工作流的服务器", "start_ip": "起始 IP", "edit_execution_log": "编辑部署日志", + "pls_input_interface": "请输入pxe网卡名称", "pls_input_start_ip": "请输入开始ip", "disabled": "否", "sn": "序列号", @@ -235,6 +236,7 @@ export default { "proc_name": "处理器型号", "no_nessary_to_set": "无参数设置", "raid": "RAID级别", + "interFace": "PXE网卡名称", "startIp": "开始 IP", "User": "用户", "enclosure_id": "EnclosureId", diff --git a/rackshift-web/src/i18n/zh-TW.js b/rackshift-web/src/i18n/zh-TW.js index a8013236..7978db6e 100644 --- a/rackshift-web/src/i18n/zh-TW.js +++ b/rackshift-web/src/i18n/zh-TW.js @@ -44,8 +44,10 @@ export default { "network_card": "網卡", "endpoint": "代理節點", "pls_select_bare_metal": "請選擇將執行工作流的裸金屬服務器", + "interFace": "PXE網卡名稱", "start_ip": "起始 IP", "edit_execution_log": "編輯部署日誌", + "pls_input_interface": "請輸入pxe網卡名稱", "pls_input_start_ip": "請輸入開始ip", "disabled": "否", "sn": "序列號", From 4ece9430823a1cce516d5d3c69d9cf681c9d9260 Mon Sep 17 00:00:00 2001 From: huabanyu8411 Date: Mon, 2 May 2022 15:12:03 +0800 Subject: [PATCH 2/2] add dhcp interface --- .../java/io/rackshift/job/SyncNetworkJob.java | 1 + .../io/rackshift/job/model/DHCPConfig.java | 10 +++++++++- .../io/rackshift/mybatis/domain/Network.java | 2 ++ .../mybatis/mapper/NetworkMapper.xml | 19 +++++++++++++++++-- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/rackshift-server/src/main/java/io/rackshift/job/SyncNetworkJob.java b/rackshift-server/src/main/java/io/rackshift/job/SyncNetworkJob.java index 09d93e86..6c4ed4a8 100644 --- a/rackshift-server/src/main/java/io/rackshift/job/SyncNetworkJob.java +++ b/rackshift-server/src/main/java/io/rackshift/job/SyncNetworkJob.java @@ -57,6 +57,7 @@ private Collection convert(JSONArray dhcpconfigs, Endpoint en dhcpconfigs.forEach(c -> { DHCPConfig c1 = JSONObject.parseObject(c.toString(), DHCPConfig.class); Network network = new Network(); + network.setInterFace(c1.getinterFace()); network.setStartIp(c1.getStartIp()); network.setEndIp(c1.getEndIp()); network.setNetmask(c1.getNetmask()); diff --git a/rackshift-server/src/main/java/io/rackshift/job/model/DHCPConfig.java b/rackshift-server/src/main/java/io/rackshift/job/model/DHCPConfig.java index 7160239e..48a37a11 100644 --- a/rackshift-server/src/main/java/io/rackshift/job/model/DHCPConfig.java +++ b/rackshift-server/src/main/java/io/rackshift/job/model/DHCPConfig.java @@ -5,6 +5,7 @@ import java.util.Objects; public class DHCPConfig { + private String interFace; private String startIp; private String endIp; private String netmask; @@ -26,7 +27,13 @@ public String getNetSegment() { public String getStartIp() { return startIp; } + public String getinterFace() { + return interFace; + } + public void setinterFace(String interFace) { + this.interFace = interFace; + } public void setStartIp(String startIp) { this.startIp = startIp; } @@ -69,6 +76,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; DHCPConfig config = (DHCPConfig) o; return pxeEnabled == config.pxeEnabled && + Objects.equals(interFace,config.interFace) && Objects.equals(startIp, config.startIp) && Objects.equals(endIp, config.endIp) && Objects.equals(netmask, config.netmask) && @@ -77,6 +85,6 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(startIp, endIp, netmask, gateway, pxeEnabled); + return Objects.hash(interFace,startIp, endIp, netmask, gateway, pxeEnabled); } } diff --git a/rackshift-server/src/main/java/io/rackshift/mybatis/domain/Network.java b/rackshift-server/src/main/java/io/rackshift/mybatis/domain/Network.java index 49dcbbca..5db058c2 100644 --- a/rackshift-server/src/main/java/io/rackshift/mybatis/domain/Network.java +++ b/rackshift-server/src/main/java/io/rackshift/mybatis/domain/Network.java @@ -13,6 +13,8 @@ public class Network implements Serializable { private String name; private String vlanId; + + private String interFace; private String startIp; diff --git a/rackshift-server/src/main/java/io/rackshift/mybatis/mapper/NetworkMapper.xml b/rackshift-server/src/main/java/io/rackshift/mybatis/mapper/NetworkMapper.xml index d862f4d2..247956f3 100644 --- a/rackshift-server/src/main/java/io/rackshift/mybatis/mapper/NetworkMapper.xml +++ b/rackshift-server/src/main/java/io/rackshift/mybatis/mapper/NetworkMapper.xml @@ -6,6 +6,7 @@ + @@ -72,7 +73,7 @@ - id, endpoint_id, name, vlan_id, start_ip, end_ip, netmask, dhcp_enable, pxe_enable, + id, endpoint_id, name, vlan_id,interFace,start_ip, end_ip, netmask, dhcp_enable, pxe_enable, create_time