mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #11784 from zexi/fix-baremetal-iso-boot
fix(baremetal): inject mac to cmdline
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.1
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.2
|
||||
|
||||
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
FROM --platform=linux/amd64 registry.cn-beijing.aliyuncs.com/yunionio/centos-build:1.1-4 as build
|
||||
RUN yum install -y https://iso.yunion.cn/vm-images/baremetal-pxerom-1.1.0-21060506.x86_64.rpm
|
||||
RUN yum install -y https://iso.yunion.cn/vm-images/baremetal-pxerom-1.1.0-21080303.x86_64.rpm
|
||||
#RUN yum install -y http://192.168.122.112:8083/baremetal-pxerom-1.1.0-21080303.x86_64.rpm
|
||||
|
||||
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.2
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ climc-base:
|
||||
docker buildx build --platform linux/arm64,linux/amd64 --push \
|
||||
-t registry.cn-beijing.aliyuncs.com/yunionio/climc-base:$(CLIMC_BASE_VERSION) -f ./Dockerfile.climc-base .
|
||||
|
||||
BAREMETAL_BASE_VERSION = v0.3.1
|
||||
BAREMETAL_BASE_VERSION = v0.3.2
|
||||
|
||||
baremetal-base:
|
||||
$(DOCKER_BUILDX)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base .
|
||||
|
||||
@@ -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