[bug]pxe纳管物理机异常
在cloudpod平台使用pxe方式纳管物理机时,输入ipmi的IP地址时提示未创建,但是我已经在子网内创建了相应网段的pxe类型的子网和物理机类型的子网,求解答
@hjoisajdoijsaid 需要创建一个 IPMI 类型的子网,包含那个 ipmi 地址
纳管时报错: { "reason": "self.sendIpmiNicInfo: SendNicInfo: {"error":{"class":"BadRequestError","code":400,"details":"addNetif: {\"error\":{\"class\":\"BadRequestError\",\"code\":400,\"data\":{\"fields\":[\"0.0.0.0\"],\"id\":\"IP %!s(MISSING) not attach to any wire\"},\"details\":\"IP 0.0.0.0 not attach to any wire\"}}","request":{"body":"{\"host\":{\"ip_addr\":\"0.0.0.0\",\"link_up\":true,\"mac\":\"9c:c2:c4:20:14:b3\",\"mtu\":1500,\"nic_type\":\"ipmi\",\"...erve\":true,\"reset\":true}}","headers":{"Content-Length":"168","Content-Type":"application/json","User-Agent":"yunioncloud-go/201708","X-Auth-Token":"*","X-Yunion-Parent-Id":"","X-Yunion-Peer-Service-Name":"baremetal","X-Yunion-Remote-Addr":"default-region:30888","X-Yunion-Span-Id":"0","X-Yunion-Span-Name":"","X-Yunion-Strace-Debug":"true","X-Yunion-Strace-Id":"f253eb17"},"method":"POST","url":"https://default-region:30888/hosts/940d5bfd-ff38-4bd6-8fdc-4b152bc10aed/add-netif"}}}", "stage": "OnSyncConfigComplete", "status": "error" } 总是卡在ipmi配置验证这一步,点同步状态状态就会变成运行中,但是一点验证ipmi配置就会报错
@hjoisajdoijsaid 是不是物理机的 bmc 上没有配置这个 ip ?
| *名称 | *IPMI地址 | *IPMI用户名 | *IPMI密码 | 管理口MAC地址 | 管理口IP地址 |
|---|---|---|---|---|---|
| SYM206-CPU-B1211-Node098 | 10.64.31.98 | admin | xxxxxxx | 9c:c2:c4:4b:63:73 | 10.64.25.98 |
这个是bmc的配置 是少配置啥或者配置错了嘛
@hjoisajdoijsaid 应该是有张网卡设置了 0.0.0.0 的 ip 导致的,看下其他网卡的 ip 设置?
在bmc确实查看到有另一张网卡是0.0.0.0,但是我配置的时候指定了10.64.31.98,为何会找到0.0.0.0这个IP呢;这个有什么解决方案吗
在bmc确实查看到有另一张网卡是0.0.0.0,但是我配置的时候指定了10.64.31.98,为何会找到0.0.0.0这个IP呢;这个有什么解决方案吗
@hjoisajdoijsaid 请问部署的是 v3.11.5 版本吗?我记得好像处理过 0.0.0.0 这个 ip 的情况
版本如下:
ocadm version: version.Info{Major:"0", Minor:"0", GitVersion:"v3.11.3-20240423.1", GitBranch:"tags/v3.11.3-20240423.1", GitCommit:"f8d30d14", GitTreeState:"clean", BuildDate:"2024-04-23T10:57:25Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"}
我尝试修改bmc得配置将bmc原来的2张卡走单卡得情况该成走bond从而避免去找0.0.0.0,但是现在报mac地址无效
{
"reason": "self.sendIpmiNicInfo: SendNicInfo: {"error":{"class":"InputParameterError","code":400,"details":"validateHostNetif: Invaild mac address : InputParameterError","request":{"body":{"host":{"link_up":true,"mac":"","mtu":1500,"nic_type":"ipmi","rate":100,"reset":true}},"headers":{"Content-Length":"87","Content-Type":"application/json","User-Agent":"yunioncloud-go/201708","X-Auth-Token":"*","X-Yunion-Parent-Id":"","X-Yunion-Peer-Service-Name":"baremetal","X-Yunion-Remote-Addr":"default-region:30888","X-Yunion-Span-Id":"0","X-Yunion-Span-Name":"","X-Yunion-Strace-Debug":"true","X-Yunion-Strace-Id":"c3357a80"},"method":"POST","url":"https://default-region:30888/hosts/86a665a3-cbc6-4c7e-8149-16eb087ab83d/add-netif"}}}",
"stage": "OnSyncConfigComplete",
"status": "error"
}
机器得mac地址:
/ # /opt/yunion/bin/baremetal-agent -v [I 240718 06:59:01 loader.init.0(loader.go:28)] Redfish drivers loaded! [I 240718 06:59:01 procutils.WaitZombieLoop(zombie_others.go:36)] My pid is not 1 and no need to wait zombies Yunion cloud version: { "major": "0", "minor": "0", "gitVersion": "v3.11.3", "gitBranch": "release/3.11", "gitCommit": "3ffea07d31", "gitTreeState": "dirty", "buildDate": "2024-04-24T02:53:53Z", "goVersion": "go1.18.2", "compiler": "gc", "platform": "linux/amd64" baremetal调用栈信息.txt 上面是baremetal得堆栈信息
baremetal得log
@hjoisajdoijsaid 这个报错是 redfish 探测失败了,就需要在创建的时候把 pxe 启动的网卡 mac 填上,这样再试试?
*名称 *IPMI地址 *IPMI用户名 *IPMI密码 管理口MAC地址 管理口IP地址 SYM206-CPU-B1211-Node098 10.64.31.98 admin xxxxxxx 9c:c2:c4:4b:63:73 10.64.25.98
这个是导入的模板
填过了,就是上面这个 pxe启动的网卡mac是指控制节点的mac还是要纳管物理机的mac
@hjoisajdoijsaid 看报错还是创建 mac 地址为空,试试把这台机器删掉,然后不要用批量导入的模式,手动填表单试试。
@hjoisajdoijsaid 看报错还是创建 mac 地址为空,试试把这台机器删掉,然后不要用批量导入的模式,手动填表单试试。
都试过,都是同样的报错
界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值
界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值
感觉那个 0.0.0.0 的 ip 地址是通过 ipmitool lan print 获取的,可以通过执行下面的命令看下实际是多少:
@hjoisajdoijsaid 执行这个 ipmitool 命令看下配置:
# 其中 xxxx 是机器 bmc 登录的密码
ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin -P xxxx lan print
然后那个 mac 地址,在物理机不支持 redfish api 的情况下是要手动填写的。
界面上提示的这个获取IP地址0.0.0.0,以及非法的mac地址这2个问题; 针对这两个问题想问一下: baremetal是如何获取bmc 的mac地址和IP地址的,以及是如何获取服务器的mac地址的,为何我指定了bmc的IP他获取的是0.0.0.0,指定服务器的mac地址后他获取的却是空值
感觉那个 0.0.0.0 的 ip 地址是通过 ipmitool lan print 获取的,可以通过执行下面的命令看下实际是多少:
@hjoisajdoijsaid 执行这个 ipmitool 命令看下配置:
# 其中 xxxx 是机器 bmc 登录的密码 ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin -P xxxx lan print然后那个 mac 地址,在物理机不支持 redfish api 的情况下是要手动填写的。
[root@SYM206-CPU-B1211-Node095 ~]# ipmitool -I lanplus -H 10.64.31.98 -p 623 -U admin lan print
Password:
Set in Progress : Set Complete
Auth Type Support : MD5
Auth Type Enable : Callback : MD5
: User : MD5
: Operator : MD5
: Admin : MD5
: OEM : MD5
IP Address Source : Static Address
IP Address : 10.64.31.98
Subnet Mask : 255.255.255.0
MAC Address : 9c:c2:c4:20:14:b2
SNMP Community String : AMI
IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl : 0.0 seconds
Default Gateway IP : 10.64.31.254
Default Gateway MAC : d4:31:27:d0:a9:ae
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 0,1,2,3,6,7,8,11,12,15,16,17
Cipher Suite Priv Max : caaaaaaaaaaaXXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
Bad Password Threshold : 3
Invalid password disable: yes
Attempt Count Reset Int.: 200
User Lockout Interval : 300
这个是命令回显看起来是拿到eth0的网卡mac 9c:c2:c4:20:14:b2 和IP;
mac地址是手动填写了的,模板和手动填都试过都行不通,看浏览器f12的提交的请求我输入的mac也确实传递过去了
纳管时报错: { "reason": "self.sendIpmiNicInfo: SendNicInfo: {"error":{"class":"BadRequestError","code":400,"details":"addNetif: {\"error\":{\"class\":\"BadRequestError\",\"code\":400,\"data\":{\"fields\":[\"0.0.0.0\"],\"id\":\"IP %!s(MISSING) not attach to any wire\"},\"details\":\"IP 0.0.0.0 not attach to any wire\"}}","request":{"body":"{\"host\":{\"ip_addr\":\"0.0.0.0\",\"link_up\":true,\"mac\":\"9c:c2:c4:20:14:b3\",\"mtu\":1500,\"nic_type\":\"ipmi\",\"...erve\":true,\"reset\":true}}","headers":{"Content-Length":"168","Content-Type":"application/json","User-Agent":"yunioncloud-go/201708","X-Auth-Token":"*","X-Yunion-Parent-Id":"","X-Yunion-Peer-Service-Name":"baremetal","X-Yunion-Remote-Addr":"default-region:30888","X-Yunion-Span-Id":"0","X-Yunion-Span-Name":"","X-Yunion-Strace-Debug":"true","X-Yunion-Strace-Id":"f253eb17"},"method":"POST","url":"https://default-region:30888/hosts/940d5bfd-ff38-4bd6-8fdc-4b152bc10aed/add-netif"}}}", "stage": "OnSyncConfigComplete", "status": "error" } 总是卡在ipmi配置验证这一步,点同步状态状态就会变成运行中,但是一点验证ipmi配置就会报错
这个是bmc的配置 是少配置啥或者配置错了嘛
在bmc确实查看到有另一张网卡是0.0.0.0,但是我配置的时候指定了10.64.31.98,为何会找到0.0.0.0这个IP呢;这个有什么解决方案吗
baremetal得log