mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 14:19:49 +08:00
Merge pull request #11784 from zexi/fix-baremetal-iso-boot
fix(baremetal): inject mac to cmdline
This commit is contained in:
@@ -1102,23 +1102,28 @@ LABEL start
|
||||
bootmode := api.BOOT_MODE_PXE
|
||||
if !isTftp {
|
||||
adminNic := b.GetAdminNic()
|
||||
var mac string
|
||||
var addr string
|
||||
var mask string
|
||||
var gateway string
|
||||
if adminNic != nil {
|
||||
mac = adminNic.GetMac().String()
|
||||
addr = adminNic.IpAddr
|
||||
mask = adminNic.GetNetMask()
|
||||
gateway = adminNic.Gateway
|
||||
} else {
|
||||
accessIp := b.GetAccessIp()
|
||||
accessNet, _ := b.findAccessNetwork(accessIp)
|
||||
accessMac := b.GetAccessMac()
|
||||
if accessNet != nil {
|
||||
mac = accessMac
|
||||
addr = accessIp
|
||||
mask = netutils.Masklen2Mask(int8(accessNet.GuestIpMask)).String()
|
||||
gateway = accessNet.GuestGateway
|
||||
}
|
||||
}
|
||||
serverIP, _ := b.manager.Agent.GetDHCPServerIP()
|
||||
args = append(args, fmt.Sprintf("mac=%s", mac))
|
||||
args = append(args, fmt.Sprintf("dest=%s", serverIP))
|
||||
args = append(args, fmt.Sprintf("gateway=%s", gateway))
|
||||
args = append(args, fmt.Sprintf("addr=%s", addr))
|
||||
@@ -1325,6 +1330,11 @@ func (b *SBaremetalInstance) GetAccessIp() string {
|
||||
return accessIp
|
||||
}
|
||||
|
||||
func (b *SBaremetalInstance) GetAccessMac() string {
|
||||
accessMac, _ := b.desc.GetString("access_mac")
|
||||
return accessMac
|
||||
}
|
||||
|
||||
func (b *SBaremetalInstance) GetServer() baremetaltypes.IBaremetalServer {
|
||||
b.serverLock.Lock()
|
||||
defer b.serverLock.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user