mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-08-30 17:13:08 +08:00
fix: 返回网卡所在的网络名称信息
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user