Bug of modifying IP to be empty

This commit is contained in:
qiwang 2024-04-02 15:41:48 +08:00
parent 51419f13ef
commit 410dad4477
3 changed files with 6323 additions and 6279 deletions

View File

@ -56,7 +56,7 @@ type ServersData struct {
Id string `json:"id"`
Image Image `json:"image"`
Key_name string `json:"key_name"`
Links Links1 `json:"links"`
Links []Links `json:"links"`
Locked bool `json:"locked"`
Locked_reason string `json:"locked_reason"`
Metadata Metadata `json:"metadata"`
@ -82,16 +82,21 @@ type Address struct {
}
type Flavor struct {
Id string `json:"id"`
Links []Links1 `json:"links"`
Id string `json:"id"`
Links []Links `json:"links"`
}
type Image struct {
Id string `json:"id"`
Links []Links1 `json:"links"`
Id string `json:"id"`
Links []Link `json:"links"`
}
type Links1 struct {
type Links struct {
Href string `json:"href"`
Rel string `json:"rel"`
}
type Link struct {
Href string `json:"href"`
Rel string `json:"rel"`
}
@ -126,6 +131,7 @@ type ServersDetailed struct {
Flavor string `json:"Flavor"`
Id string `json:"Id"`
Name string `json:"Name"`
Key_name string `json:"Key_name"`
// 其他字段...
}
@ -134,44 +140,72 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
var response ServersDetailedResp
var resp openstack.ListServersDetailedResp
platform, err := common.GetOpenstackConfWithPlatform(in.Platform)
fmt.Println("集群名", platform)
openstackUrl := platform.OpenstackComputeUrl
if err != nil {
return nil, err
}
token := common.GetToken(in.Platform)
statusCode, body, err := httputils.HttpClientWithBodyAndCode(httputils.GET, openstackUrl+"/servers/detail", nil, token)
fmt.Println("返回openstack结果", body)
if err != nil {
return nil, err
}
if statusCode == 200 {
err := json.Unmarshal(body, &response)
fmt.Println("返回结果", response)
if err != nil {
fmt.Println(err)
fmt.Println("错误结果", err)
}
fmt.Println("错误结果1", "aaaaaaaaaaaa")
var newList []interface{}
fmt.Println("错误结果2", "bbbbbbbbbb")
for _, server := range response.Servers {
for _, network := range server.Addresses {
for _, addr := range network {
ip := addr.Addr
fmt.Println("addr:", addr.Addr)
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
"Status": server.Status,
"VmState": server.VmState,
"OS_EXT_SRV_ATTR_Instance_Name": server.InstanceName,
"Created": server.Created,
"Updated": server.Updated,
"HostId": server.HostId,
"Ip": ip,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
})
fmt.Println("错误结果3", response.Servers)
if len(server.Addresses) > 0 {
for _, network := range server.Addresses {
fmt.Println("错误结果4", server.Addresses)
for _, addr := range network {
fmt.Println("错误结果5", addr.Addr)
ip := addr.Addr
fmt.Println("addr:", addr.Addr)
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
"Status": server.Status,
"VmState": server.VmState,
"OS_EXT_SRV_ATTR_Instance_Name": server.InstanceName,
"Created": server.Created,
"Updated": server.Updated,
"HostId": server.HostId,
"Ip": ip,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
"Key_name": server.Key_name,
})
}
}
} else {
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
"Status": server.Status,
"VmState": server.VmState,
"OS_EXT_SRV_ATTR_Instance_Name": server.InstanceName,
"Created": server.Created,
"Updated": server.Updated,
"HostId": server.HostId,
//"Ip": ip,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
"Key_name": server.Key_name,
})
}
}
jsonData, err := json.Marshal(newList)
var serversDetailed []ServersDetailed

File diff suppressed because it is too large Load Diff

View File

@ -126,6 +126,7 @@ message ListServersDetailedResp {
string Flavor =10;
string Id =11;
string Name =12;
string Key_name =13;
}
repeated ServersDetailed servers = 1; // @gotags: copier:"ServersDetailed"