forked from jcce-pcm/pcm-openstack
openstack 修改兼容多集群热加载 bug
This commit is contained in:
parent
03456c9a57
commit
ed1cfbc87f
|
@ -30,7 +30,7 @@ openstackConfig:
|
|||
OpenstackVolumev2Url: "http://10.105.20.9:8776/v2/aa7366b7f0e9453a9ba8bc699aa97b1e"
|
||||
OpenstackLimitsUrl: "http://10.105.20.9:8774"
|
||||
OpenstackBareMetalUrl: ""
|
||||
Platform: "zhijiang"
|
||||
Platform: "ZhiJiang"
|
||||
Id: "default"
|
||||
Nudt:
|
||||
USER: "admin"
|
||||
|
|
|
@ -126,6 +126,9 @@ func SignClient(r *http.Request, Platform string) (*http.Client, error) {
|
|||
var t Token
|
||||
|
||||
result, _ := io.ReadAll(respUrl.Body)
|
||||
respUrl.Header.Get(C.OpenstackConfig.TokenHeader)
|
||||
fmt.Println("Token###########:", respUrl.Header.Get(C.OpenstackConfig.TokenHeader))
|
||||
|
||||
json.Unmarshal(result, &t)
|
||||
|
||||
//设置client信任所有证书
|
||||
|
@ -186,3 +189,59 @@ func GetOpenstackConfWithPlatform(platform string) (*config.Conf, error) {
|
|||
}
|
||||
return &conf, nil
|
||||
}
|
||||
|
||||
func GetToken(Platform string) (token string) {
|
||||
a := Auth{}
|
||||
var (
|
||||
TokenUrl string
|
||||
)
|
||||
switch Platform {
|
||||
case C.OpenstackConfig.ZhiJiang.Platform:
|
||||
a.Auth.Scope.Project.Name = C.OpenstackConfig.ZhiJiang.USER
|
||||
a.Auth.Scope.Project.Domain.Id = C.OpenstackConfig.ZhiJiang.Id
|
||||
a.Auth.Identity.Methods = append(a.Auth.Identity.Methods, C.OpenstackConfig.ZhiJiang.AuthMethod)
|
||||
a.Auth.Identity.Password.User.Name = C.OpenstackConfig.ZhiJiang.USER
|
||||
a.Auth.Identity.Password.User.Password = C.OpenstackConfig.ZhiJiang.PASSWORD
|
||||
a.Auth.Identity.Password.User.Domain.Name = C.OpenstackConfig.ZhiJiang.DOMAIN
|
||||
TokenUrl = C.OpenstackConfig.ZhiJiang.TokenUrl
|
||||
case C.OpenstackConfig.Nudt.Platform:
|
||||
a.Auth.Scope.Project.Name = C.OpenstackConfig.Nudt.USER
|
||||
a.Auth.Scope.Project.Domain.Id = C.OpenstackConfig.Nudt.Id
|
||||
a.Auth.Identity.Methods = append(a.Auth.Identity.Methods, C.OpenstackConfig.Nudt.AuthMethod)
|
||||
a.Auth.Identity.Password.User.Name = C.OpenstackConfig.Nudt.USER
|
||||
a.Auth.Identity.Password.User.Password = C.OpenstackConfig.Nudt.PASSWORD
|
||||
a.Auth.Identity.Password.User.Domain.Name = C.OpenstackConfig.Nudt.DOMAIN
|
||||
TokenUrl = C.OpenstackConfig.Nudt.TokenUrl
|
||||
default:
|
||||
|
||||
}
|
||||
jsonStr, _ := json.Marshal(a)
|
||||
req_url, err := http.NewRequest("POST", TokenUrl, bytes.NewBuffer(jsonStr))
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
c := http.Client{Timeout: time.Duration(3) * time.Second}
|
||||
|
||||
respUrl, err := c.Do(req_url)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
if respUrl.StatusCode != C.OpenstackConfig.Status_created {
|
||||
panic("获取token失败")
|
||||
}
|
||||
|
||||
defer respUrl.Body.Close()
|
||||
|
||||
var t Token
|
||||
|
||||
result, _ := io.ReadAll(respUrl.Body)
|
||||
respUrl.Header.Get(C.OpenstackConfig.TokenHeader)
|
||||
fmt.Println("Token###########:", respUrl.Header.Get(C.OpenstackConfig.TokenHeader))
|
||||
|
||||
json.Unmarshal(result, &t)
|
||||
|
||||
return respUrl.Header.Get(C.OpenstackConfig.TokenHeader)
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
|
@ -33,26 +34,27 @@ func (l *ListServersLogic) ListServers(in *openstack.ListServersReq) (*openstack
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reqByte, err := json.Marshal(in)
|
||||
body, err := common.SendRequest("GET", openstackUrl+"/v2.0/security-groups", bytes.NewBuffer(reqByte), in.Platform)
|
||||
token := common.GetToken(in.Platform)
|
||||
//reqByte, err := json.Marshal(in)
|
||||
/*body, err := common.SendRequest("GET", openstackUrl+"/servers", bytes.NewBuffer(reqByte), in.Platform)
|
||||
json.Unmarshal(*body, &resp)
|
||||
return &resp, nil
|
||||
/* token := common.GetToken()
|
||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, openstackUrl+"/servers", nil, token)
|
||||
return &resp, nil*/
|
||||
|
||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, openstackUrl+"/servers", nil, token)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if statusCode == 200 {
|
||||
err := json.Unmarshal(body, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
fmt.Println(err)
|
||||
}
|
||||
if statusCode == 200 {
|
||||
err := json.Unmarshal(body, &resp)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
resp.Code = 200
|
||||
resp.Msg = "Success"
|
||||
} else if statusCode != 200 {
|
||||
json.Unmarshal(body, &resp)
|
||||
resp.Code = 400
|
||||
resp.Msg = "Failure"
|
||||
}
|
||||
return &resp, nil*/
|
||||
resp.Code = 200
|
||||
resp.Msg = "Success"
|
||||
} else if statusCode != 200 {
|
||||
json.Unmarshal(body, &resp)
|
||||
resp.Code = 400
|
||||
resp.Msg = "Failure"
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
|
|
@ -4147,7 +4147,7 @@ service Openstack {
|
|||
rpc ChangeAdministrativePassword(ChangeAdministrativePasswordReq) returns (ChangeAdministrativePasswordResp);//设置密码
|
||||
rpc RescueServer(RescueServerReq) returns (RescueServerResp);//救援
|
||||
rpc UnRescue(UnRescueServerReq) returns (UnRescueServerResp);//取消救援
|
||||
rpc SuspendServer(SuspendServerReq) returns (SuspendServerResp);
|
||||
rpc SuspendServer(SuspendServerReq) returns (SuspendServerResp); // 中止
|
||||
rpc AddSecurityGroupToServer(AddSecurityGroupToServerReq) returns (AddSecurityGroupToServerResp);//将安全组添加到服务器
|
||||
rpc removeSecurityGroup(removeSecurityGroupReq) returns (removeSecurityGroupResp);//从服务器中删除安全
|
||||
//规格(Flavors)
|
||||
|
@ -4205,7 +4205,6 @@ service Openstack {
|
|||
rpc DeleteFirewallRule(DeleteFirewallRuleReq)returns(DeleteFirewallRuleResp);
|
||||
rpc ListFirewallRules(ListFirewallRulesReq)returns(ListFirewallRulesResp);
|
||||
rpc ShowFirewallRuleDetails(ShowFirewallRuleDetailsReq)returns(ShowFirewallRuleDetailsResp);
|
||||
|
||||
//安全组
|
||||
rpc ListSecurityGroups(ListSecurityGroupsReq)returns(ListSecurityGroupsResp);
|
||||
rpc CreateSecurityGroup(CreateSecurityGroupReq)returns(CreateSecurityGroupResp);
|
||||
|
@ -4217,12 +4216,12 @@ service Openstack {
|
|||
rpc CreateSecurityGroupRule(CreateSecurityGroupRuleReq)returns(CreateSecurityGroupRuleResp);
|
||||
rpc ShowSecurityGroupRule(ShowSecurityGroupRuleReq)returns(ShowSecurityGroupRuleResp);
|
||||
rpc DeleteSecurityGroupRule(DeleteSecurityGroupRuleReq)returns(DeleteSecurityGroupRuleResp);
|
||||
|
||||
// Images from glance
|
||||
rpc CreateImage(CreateImageReq) returns (CreateImageResp);
|
||||
rpc ListImages(ListImagesReq) returns (ListImagesResp);
|
||||
rpc DeleteImage(DeleteImageReq) returns (DeleteImageResp);
|
||||
rpc UploadImage(UploadOsImageReq) returns (UploadOsImageResp);
|
||||
|
||||
// Bare Metal
|
||||
rpc ListNodes(ListNodesReq) returns (ListNodesResp);
|
||||
rpc CreateNode(CreateNodeReq) returns (CreateNodeResp);
|
||||
|
|
Loading…
Reference in New Issue