Merge pull request #14227 from swordqiu/hotfix/qj-fix-host-sync-wire-class-metadata

fix: host sync wire class metadata
This commit is contained in:
Zexi Li
2022-05-10 09:17:37 +08:00
committed by GitHub
2 changed files with 8 additions and 0 deletions
+2
View File
@@ -4350,6 +4350,7 @@ func (self *SHost) addNetif(ctx context.Context, userCred mcclient.TokenCredenti
if err != nil {
return err
}
hw.syncClassMetadata(ctx)
} else {
db.Update(hw, func() error {
hw.Bridge = bridge
@@ -4359,6 +4360,7 @@ func (self *SHost) addNetif(ctx context.Context, userCred mcclient.TokenCredenti
hw.IsMaster = isMaster
return nil
})
hw.syncClassMetadata(ctx)
}
}
}
+6
View File
@@ -299,10 +299,16 @@ func (hw *SHostwire) PostCreate(
data jsonutils.JSONObject,
) {
hw.SHostJointsBase.PostCreate(ctx, userCred, ownerId, query, data)
hw.syncClassMetadata(ctx)
}
func (hw *SHostwire) syncClassMetadata(ctx context.Context) error {
host := hw.GetHost()
wire := hw.GetWire()
err := db.InheritFromTo(ctx, wire, host)
if err != nil {
log.Errorf("Inherit class metadata from host to wire fail: %s", err)
return errors.Wrap(err, "InheritFromTo")
}
return nil
}