fix: 返回网卡所在的网络名称信息

This commit is contained in:
ioito
2019-10-12 19:16:11 +08:00
parent ad3e845527
commit c741f028a1
3 changed files with 37 additions and 2 deletions
+5 -1
View File
@@ -5,6 +5,10 @@ NetworkinterfaceNetwork:
type: string
example: "192.168.0.240"
description: 弹性网卡IP地址
network:
type: string
example: test-network
description: 子网名称
network_id:
type: string
example: 19b09a31-1884-4b3f-84cd-ac03827c567d
@@ -38,4 +42,4 @@ NetworkinterfaceResponse:
properties:
networkinterfacenetwork:
type: object
$ref: '#/NetworkinterfaceNetwork'
$ref: '#/NetworkinterfaceNetwork'
@@ -207,3 +207,25 @@ func (manager *SNetworkinterfacenetworkManager) newFromCloudInterfaceAddress(ctx
db.OpsLog.LogEvent(&address, db.ACT_CREATE, address.GetShortDesc(ctx), userCred)
return nil
}
func (self *SNetworkinterfacenetwork) GetNetwork() (*SNetwork, error) {
network, err := NetworkManager.FetchById(self.NetworkId)
if err != nil {
return nil, err
}
return network.(*SNetwork), nil
}
func (self *SNetworkinterfacenetwork) GetDetailJson() (jsonutils.JSONObject, error) {
network, err := self.GetNetwork()
if err != nil {
return nil, err
}
return jsonutils.Marshal(map[string]interface{}{
"network_id": self.NetworkId,
"ip_addr": self.IpAddr,
"primary": self.Primary,
"networkinterface_id": self.NetworkinterfaceId,
"network": network.Name,
}), nil
}
+10 -1
View File
@@ -117,7 +117,16 @@ func (self *SNetworkInterface) GetCustomizeColumns(ctx context.Context, userCred
log.Errorf("failed to get network for networkinterface %s(%s) error: %v", self.Name, self.Id, err)
return extra
}
extra.Add(jsonutils.Marshal(networks), "networks")
networkArray := jsonutils.NewArray()
for _, network := range networks {
detail, err := network.GetDetailJson()
if err != nil {
log.Errorf("failed to get networkinterface network %s detail error: %v", network.IpAddr, err)
return extra
}
networkArray.Add(detail)
}
extra.Add(networkArray, "networks")
return extra
}