forked from JointCloud/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"
|
OpenstackVolumev2Url: "http://10.105.20.9:8776/v2/aa7366b7f0e9453a9ba8bc699aa97b1e"
|
||||||
OpenstackLimitsUrl: "http://10.105.20.9:8774"
|
OpenstackLimitsUrl: "http://10.105.20.9:8774"
|
||||||
OpenstackBareMetalUrl: ""
|
OpenstackBareMetalUrl: ""
|
||||||
Platform: "zhijiang"
|
Platform: "ZhiJiang"
|
||||||
Id: "default"
|
Id: "default"
|
||||||
Nudt:
|
Nudt:
|
||||||
USER: "admin"
|
USER: "admin"
|
||||||
|
|
|
@ -126,6 +126,9 @@ func SignClient(r *http.Request, Platform string) (*http.Client, error) {
|
||||||
var t Token
|
var t Token
|
||||||
|
|
||||||
result, _ := io.ReadAll(respUrl.Body)
|
result, _ := io.ReadAll(respUrl.Body)
|
||||||
|
respUrl.Header.Get(C.OpenstackConfig.TokenHeader)
|
||||||
|
fmt.Println("Token###########:", respUrl.Header.Get(C.OpenstackConfig.TokenHeader))
|
||||||
|
|
||||||
json.Unmarshal(result, &t)
|
json.Unmarshal(result, &t)
|
||||||
|
|
||||||
//设置client信任所有证书
|
//设置client信任所有证书
|
||||||
|
@ -186,3 +189,59 @@ func GetOpenstackConfWithPlatform(platform string) (*config.Conf, error) {
|
||||||
}
|
}
|
||||||
return &conf, nil
|
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
|
package logic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common"
|
"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/internal/svc"
|
||||||
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
|
"gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack"
|
||||||
|
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||||
"k8s.io/apimachinery/pkg/util/json"
|
"k8s.io/apimachinery/pkg/util/json"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
@ -33,26 +34,27 @@ func (l *ListServersLogic) ListServers(in *openstack.ListServersReq) (*openstack
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
reqByte, err := json.Marshal(in)
|
token := common.GetToken(in.Platform)
|
||||||
body, err := common.SendRequest("GET", openstackUrl+"/v2.0/security-groups", bytes.NewBuffer(reqByte), in.Platform)
|
//reqByte, err := json.Marshal(in)
|
||||||
|
/*body, err := common.SendRequest("GET", openstackUrl+"/servers", bytes.NewBuffer(reqByte), in.Platform)
|
||||||
json.Unmarshal(*body, &resp)
|
json.Unmarshal(*body, &resp)
|
||||||
return &resp, nil
|
return &resp, nil*/
|
||||||
/* token := common.GetToken()
|
|
||||||
statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, openstackUrl+"/servers", nil, token)
|
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 {
|
if err != nil {
|
||||||
return nil, err
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
if statusCode == 200 {
|
resp.Code = 200
|
||||||
err := json.Unmarshal(body, &resp)
|
resp.Msg = "Success"
|
||||||
if err != nil {
|
} else if statusCode != 200 {
|
||||||
fmt.Println(err)
|
json.Unmarshal(body, &resp)
|
||||||
}
|
resp.Code = 400
|
||||||
resp.Code = 200
|
resp.Msg = "Failure"
|
||||||
resp.Msg = "Success"
|
}
|
||||||
} else if statusCode != 200 {
|
return &resp, nil
|
||||||
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 ChangeAdministrativePassword(ChangeAdministrativePasswordReq) returns (ChangeAdministrativePasswordResp);//设置密码
|
||||||
rpc RescueServer(RescueServerReq) returns (RescueServerResp);//救援
|
rpc RescueServer(RescueServerReq) returns (RescueServerResp);//救援
|
||||||
rpc UnRescue(UnRescueServerReq) returns (UnRescueServerResp);//取消救援
|
rpc UnRescue(UnRescueServerReq) returns (UnRescueServerResp);//取消救援
|
||||||
rpc SuspendServer(SuspendServerReq) returns (SuspendServerResp);
|
rpc SuspendServer(SuspendServerReq) returns (SuspendServerResp); // 中止
|
||||||
rpc AddSecurityGroupToServer(AddSecurityGroupToServerReq) returns (AddSecurityGroupToServerResp);//将安全组添加到服务器
|
rpc AddSecurityGroupToServer(AddSecurityGroupToServerReq) returns (AddSecurityGroupToServerResp);//将安全组添加到服务器
|
||||||
rpc removeSecurityGroup(removeSecurityGroupReq) returns (removeSecurityGroupResp);//从服务器中删除安全
|
rpc removeSecurityGroup(removeSecurityGroupReq) returns (removeSecurityGroupResp);//从服务器中删除安全
|
||||||
//规格(Flavors)
|
//规格(Flavors)
|
||||||
|
@ -4205,7 +4205,6 @@ service Openstack {
|
||||||
rpc DeleteFirewallRule(DeleteFirewallRuleReq)returns(DeleteFirewallRuleResp);
|
rpc DeleteFirewallRule(DeleteFirewallRuleReq)returns(DeleteFirewallRuleResp);
|
||||||
rpc ListFirewallRules(ListFirewallRulesReq)returns(ListFirewallRulesResp);
|
rpc ListFirewallRules(ListFirewallRulesReq)returns(ListFirewallRulesResp);
|
||||||
rpc ShowFirewallRuleDetails(ShowFirewallRuleDetailsReq)returns(ShowFirewallRuleDetailsResp);
|
rpc ShowFirewallRuleDetails(ShowFirewallRuleDetailsReq)returns(ShowFirewallRuleDetailsResp);
|
||||||
|
|
||||||
//安全组
|
//安全组
|
||||||
rpc ListSecurityGroups(ListSecurityGroupsReq)returns(ListSecurityGroupsResp);
|
rpc ListSecurityGroups(ListSecurityGroupsReq)returns(ListSecurityGroupsResp);
|
||||||
rpc CreateSecurityGroup(CreateSecurityGroupReq)returns(CreateSecurityGroupResp);
|
rpc CreateSecurityGroup(CreateSecurityGroupReq)returns(CreateSecurityGroupResp);
|
||||||
|
@ -4217,12 +4216,12 @@ service Openstack {
|
||||||
rpc CreateSecurityGroupRule(CreateSecurityGroupRuleReq)returns(CreateSecurityGroupRuleResp);
|
rpc CreateSecurityGroupRule(CreateSecurityGroupRuleReq)returns(CreateSecurityGroupRuleResp);
|
||||||
rpc ShowSecurityGroupRule(ShowSecurityGroupRuleReq)returns(ShowSecurityGroupRuleResp);
|
rpc ShowSecurityGroupRule(ShowSecurityGroupRuleReq)returns(ShowSecurityGroupRuleResp);
|
||||||
rpc DeleteSecurityGroupRule(DeleteSecurityGroupRuleReq)returns(DeleteSecurityGroupRuleResp);
|
rpc DeleteSecurityGroupRule(DeleteSecurityGroupRuleReq)returns(DeleteSecurityGroupRuleResp);
|
||||||
|
|
||||||
// Images from glance
|
// Images from glance
|
||||||
rpc CreateImage(CreateImageReq) returns (CreateImageResp);
|
rpc CreateImage(CreateImageReq) returns (CreateImageResp);
|
||||||
rpc ListImages(ListImagesReq) returns (ListImagesResp);
|
rpc ListImages(ListImagesReq) returns (ListImagesResp);
|
||||||
rpc DeleteImage(DeleteImageReq) returns (DeleteImageResp);
|
rpc DeleteImage(DeleteImageReq) returns (DeleteImageResp);
|
||||||
rpc UploadImage(UploadOsImageReq) returns (UploadOsImageResp);
|
rpc UploadImage(UploadOsImageReq) returns (UploadOsImageResp);
|
||||||
|
|
||||||
// Bare Metal
|
// Bare Metal
|
||||||
rpc ListNodes(ListNodesReq) returns (ListNodesResp);
|
rpc ListNodes(ListNodesReq) returns (ListNodesResp);
|
||||||
rpc CreateNode(CreateNodeReq) returns (CreateNodeResp);
|
rpc CreateNode(CreateNodeReq) returns (CreateNodeResp);
|
||||||
|
|
Loading…
Reference in New Issue