the bug detail is the gofish will auto merege some field of the request. this is beacuse
func (bios *Bios) UpdateBiosAttributesApplyAt(attrs BiosAttributes, applyTime common.ApplyTime) error {
payload := make(map[string]interface{})
// Get a representation of the object's original state so we can find what
// to update.
original := new(Bios)
err := original.UnmarshalJSON(bios.rawData)
if err != nil {
return err
}
for key := range attrs {
if original.Attributes[key] != attrs[key] { // here
payload[key] = attrs[key]
}
}
so in some cases, if the user want set a boot order with["Others", "PXE", "DVDROMDrive", "HardDiskDrive"], the following request will gernated when current system BootTypeOrder3 is HardDiskDrive
the huawei server is different with Dell/HP . and the boot order is show in Bios attribute.
for example
the bug detail is the gofish will auto merege some field of the request. this is beacuse
so in some cases, if the user want set a boot order with
["Others", "PXE", "DVDROMDrive", "HardDiskDrive"]
, the following request will gernated when current systemBootTypeOrder3
isHardDiskDrive
loss
BootTypeOrder3
attribute.the correct behavior should as follow. whatever BootTypeOrder* as same with the original or not.
@stmcginnis can you assign this issues to me ? I will fix it later.