Skip to content

Commit

Permalink
fix(region): cloudpods baremetal (#20133)
Browse files Browse the repository at this point in the history
  • Loading branch information
ioito authored May 7, 2024
1 parent c38f980 commit d4900e7
Show file tree
Hide file tree
Showing 162 changed files with 3,636 additions and 849 deletions.
2 changes: 1 addition & 1 deletion cmd/raidcli/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ type BaseOptions struct {
Host string `help:"SSH Host IP" default:"$RAID_HOST" metavar:"RAID_HOST"`
Username string `help:"Username, usually root" default:"$RAID_USERNAME" metavar:"RAID_USERNAME"`
Password string `help:"Password" default:"$RAID_PASSWORD" metavar:"RAID_PASSWORD"`
Driver string `help:"Raid dirver" default:"$RAID_DRIVER" metavar:"RAID_DRIVER" choices:"MegaRaid|HPSARaid|Mpt2SAS|MarvelRaid"`
Driver string `help:"Raid driver" default:"$RAID_DRIVER" metavar:"RAID_DRIVER" choices:"MegaRaid|HPSARaid|Mpt2SAS|MarvelRaid"`
LocalHost bool `help:"Run raidcli in localhost"`
SUBCOMMAND string `help:"s3cli subcommand" subcommand:"true"`
}
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ require (
k8s.io/cri-api v0.22.17
k8s.io/klog/v2 v2.2.0
moul.io/http2curl/v2 v2.3.0
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240428085659-1415194185cf
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240429100059-f7a31bba5e42
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32
yunion.io/x/jsonutils v1.0.1-0.20240203102553-4096f103b401
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1225,8 +1225,8 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240428085659-1415194185cf h1:6fJNf4K5NfCHr2WgcPzaF8jfw/YsNw9TilpEO8MeyZI=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240428085659-1415194185cf/go.mod h1:PkfAKJcu5mic7jyJpT4GxZ8BKIVMa+6eyOP2G94VKAs=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240429100059-f7a31bba5e42 h1:rtPLQInqDukZELOGosWtx0+Ffl3rSBW3JKpyr5C77E4=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240429100059-f7a31bba5e42/go.mod h1:PkfAKJcu5mic7jyJpT4GxZ8BKIVMa+6eyOP2G94VKAs=
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32 h1:v7POYkQwo1XzOxBoIoRVr/k0V9Y5JyjpshlIFa9raug=
yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
Expand Down
20 changes: 0 additions & 20 deletions pkg/apigateway/handler/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import (
"yunion.io/x/onecloud/pkg/apigateway/options"
policytool "yunion.io/x/onecloud/pkg/apigateway/policy"
agapi "yunion.io/x/onecloud/pkg/apis/apigateway"
"yunion.io/x/onecloud/pkg/apis/compute"
"yunion.io/x/onecloud/pkg/appsrv"
"yunion.io/x/onecloud/pkg/cloudcommon/policy"
"yunion.io/x/onecloud/pkg/httperrors"
Expand Down Expand Up @@ -1070,25 +1069,6 @@ func getUserInfo2(s *mcclient.ClientSession, uid string, pid string, loginIp str
menus.Add(item)
}

log.Infof("getUserInfo modules.Hosts.Get")
// s2 := auth.GetSession(ctx, token, FetchRegion(req), "v2")
params := jsonutils.NewDict()
params.Add(jsonutils.NewString("host_type"), "field")
params.Add(jsonutils.NewString("system"), "scope")
params.Add(jsonutils.JSONTrue, "usable")
params.Add(jsonutils.JSONTrue, "show_emulated")
cap, err := compute_modules.Hosts.Get(s, "distinct-field", params)
if err != nil {
log.Errorf("modules.Servers.Get distinct-field fail %s", err)
} else {
hostTypes, _ := jsonutils.GetStringArray(cap, "host_type")
hypervisors := make([]string, len(hostTypes))
for i, hostType := range hostTypes {
hypervisors[i] = compute.HOSTTYPE_HYPERVISOR[hostType]
}
data.Add(jsonutils.NewStringArray(hypervisors), "hypervisors")
}

data.Add(menus, "menus")
data.Add(k8s, "k8sdashboard")
data.Add(services, "services")
Expand Down
3 changes: 3 additions & 0 deletions pkg/apis/compute/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,9 @@ type ServerConfigs struct {
// default: kvm
Hypervisor string `json:"hypervisor"`

// swagger: ignore
Provider string `json:"provider"`

// 包年包月资源池
// swagger:ignore
// emum: shared, prepaid, dedicated
Expand Down
125 changes: 0 additions & 125 deletions pkg/apis/compute/guest_const.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,6 @@ const (
HYPERVISOR_CTYUN = compute.HYPERVISOR_CTYUN
HYPERVISOR_ECLOUD = compute.HYPERVISOR_ECLOUD
HYPERVISOR_JDCLOUD = compute.HYPERVISOR_JDCLOUD
HYPERVISOR_CLOUDPODS = compute.HYPERVISOR_CLOUDPODS
HYPERVISOR_NUTANIX = compute.HYPERVISOR_NUTANIX
HYPERVISOR_BINGO_CLOUD = compute.HYPERVISOR_BINGO_CLOUD
HYPERVISOR_INCLOUD_SPHERE = compute.HYPERVISOR_INCLOUD_SPHERE
Expand Down Expand Up @@ -284,7 +283,6 @@ var HYPERVISORS = []string{
HYPERVISOR_CTYUN,
HYPERVISOR_ECLOUD,
HYPERVISOR_JDCLOUD,
HYPERVISOR_CLOUDPODS,
HYPERVISOR_NUTANIX,
HYPERVISOR_BINGO_CLOUD,
HYPERVISOR_INCLOUD_SPHERE,
Expand All @@ -298,121 +296,6 @@ var HYPERVISORS = []string{
HYPERVISOR_ORACLE,
}

var ONECLOUD_HYPERVISORS = []string{
HYPERVISOR_BAREMETAL,
HYPERVISOR_KVM,
HYPERVISOR_POD,
}

var PUBLIC_CLOUD_HYPERVISORS = []string{
HYPERVISOR_ALIYUN,
HYPERVISOR_AWS,
HYPERVISOR_AZURE,
HYPERVISOR_QCLOUD,
HYPERVISOR_HUAWEI,
HYPERVISOR_UCLOUD,
HYPERVISOR_VOLCENGINE,
HYPERVISOR_GOOGLE,
HYPERVISOR_CTYUN,
HYPERVISOR_ECLOUD,
HYPERVISOR_JDCLOUD,
HYPERVISOR_KSYUN,
HYPERVISOR_BAIDU,
HYPERVISOR_CUCLOUD,
HYPERVISOR_QINGCLOUD,
HYPERVISOR_ORACLE,
}

var PRIVATE_CLOUD_HYPERVISORS = []string{
HYPERVISOR_ZSTACK,
HYPERVISOR_OPENSTACK,
HYPERVISOR_APSARA,
HYPERVISOR_CLOUDPODS,
HYPERVISOR_HCSO,
HYPERVISOR_HCS,
HYPERVISOR_HCSOP,
HYPERVISOR_NUTANIX,
HYPERVISOR_BINGO_CLOUD,
HYPERVISOR_INCLOUD_SPHERE,
HYPERVISOR_PROXMOX,
HYPERVISOR_REMOTEFILE,
HYPERVISOR_H3C,
}

// var HYPERVISORS = []string{HYPERVISOR_ALIYUN}

var HYPERVISOR_HOSTTYPE = map[string]string{
HYPERVISOR_KVM: HOST_TYPE_HYPERVISOR,
HYPERVISOR_BAREMETAL: HOST_TYPE_BAREMETAL,
HYPERVISOR_ESXI: HOST_TYPE_ESXI,
HYPERVISOR_POD: HOST_TYPE_CONTAINER,
HYPERVISOR_ALIYUN: HOST_TYPE_ALIYUN,
HYPERVISOR_APSARA: HOST_TYPE_APSARA,
HYPERVISOR_AZURE: HOST_TYPE_AZURE,
HYPERVISOR_AWS: HOST_TYPE_AWS,
HYPERVISOR_QCLOUD: HOST_TYPE_QCLOUD,
HYPERVISOR_HUAWEI: HOST_TYPE_HUAWEI,
HYPERVISOR_HCSO: HOST_TYPE_HCSO,
HYPERVISOR_HCSOP: HOST_TYPE_HCSOP,
HYPERVISOR_HCS: HOST_TYPE_HCS,
HYPERVISOR_OPENSTACK: HOST_TYPE_OPENSTACK,
HYPERVISOR_UCLOUD: HOST_TYPE_UCLOUD,
HYPERVISOR_VOLCENGINE: HOST_TYPE_VOLCENGINE,
HYPERVISOR_ZSTACK: HOST_TYPE_ZSTACK,
HYPERVISOR_GOOGLE: HOST_TYPE_GOOGLE,
HYPERVISOR_CTYUN: HOST_TYPE_CTYUN,
HYPERVISOR_ECLOUD: HOST_TYPE_ECLOUD,
HYPERVISOR_JDCLOUD: HOST_TYPE_JDCLOUD,
HYPERVISOR_CLOUDPODS: HOST_TYPE_CLOUDPODS,
HYPERVISOR_NUTANIX: HOST_TYPE_NUTANIX,
HYPERVISOR_BINGO_CLOUD: HOST_TYPE_BINGO_CLOUD,
HYPERVISOR_INCLOUD_SPHERE: HOST_TYPE_INCLOUD_SPHERE,
HYPERVISOR_PROXMOX: HOST_TYPE_PROXMOX,
HYPERVISOR_REMOTEFILE: HOST_TYPE_REMOTEFILE,
HYPERVISOR_H3C: HOST_TYPE_H3C,
HYPERVISOR_KSYUN: HOST_TYPE_KSYUN,
HYPERVISOR_BAIDU: HOST_TYPE_BAIDU,
HYPERVISOR_CUCLOUD: HOST_TYPE_CUCLOUD,
HYPERVISOR_QINGCLOUD: HOST_TYPE_QINGCLOUD,
HYPERVISOR_ORACLE: HOST_TYPE_ORACLE,
}

var HOSTTYPE_HYPERVISOR = map[string]string{
HOST_TYPE_HYPERVISOR: HYPERVISOR_KVM,
HOST_TYPE_BAREMETAL: HYPERVISOR_BAREMETAL,
HOST_TYPE_ESXI: HYPERVISOR_ESXI,
HOST_TYPE_CONTAINER: HYPERVISOR_POD,
HOST_TYPE_ALIYUN: HYPERVISOR_ALIYUN,
HOST_TYPE_APSARA: HYPERVISOR_APSARA,
HOST_TYPE_AZURE: HYPERVISOR_AZURE,
HOST_TYPE_AWS: HYPERVISOR_AWS,
HOST_TYPE_QCLOUD: HYPERVISOR_QCLOUD,
HOST_TYPE_HUAWEI: HYPERVISOR_HUAWEI,
HOST_TYPE_HCSO: HYPERVISOR_HCSO,
HOST_TYPE_HCSOP: HYPERVISOR_HCSOP,
HOST_TYPE_HCS: HYPERVISOR_HCS,
HOST_TYPE_OPENSTACK: HYPERVISOR_OPENSTACK,
HOST_TYPE_UCLOUD: HYPERVISOR_UCLOUD,
HOST_TYPE_VOLCENGINE: HYPERVISOR_VOLCENGINE,
HOST_TYPE_ZSTACK: HYPERVISOR_ZSTACK,
HOST_TYPE_GOOGLE: HYPERVISOR_GOOGLE,
HOST_TYPE_CTYUN: HYPERVISOR_CTYUN,
HOST_TYPE_ECLOUD: HYPERVISOR_ECLOUD,
HOST_TYPE_JDCLOUD: HYPERVISOR_JDCLOUD,
HOST_TYPE_CLOUDPODS: HYPERVISOR_CLOUDPODS,
HOST_TYPE_NUTANIX: HYPERVISOR_NUTANIX,
HOST_TYPE_BINGO_CLOUD: HYPERVISOR_BINGO_CLOUD,
HOST_TYPE_INCLOUD_SPHERE: HYPERVISOR_INCLOUD_SPHERE,
HOST_TYPE_PROXMOX: HYPERVISOR_PROXMOX,
HOST_TYPE_REMOTEFILE: HYPERVISOR_REMOTEFILE,
HOST_TYPE_H3C: HYPERVISOR_H3C,
HOST_TYPE_KSYUN: HYPERVISOR_KSYUN,
HOST_TYPE_BAIDU: HYPERVISOR_BAIDU,
HOST_TYPE_CUCLOUD: HYPERVISOR_CUCLOUD,
HOST_TYPE_QINGCLOUD: HYPERVISOR_QINGCLOUD,
HOST_TYPE_ORACLE: HYPERVISOR_ORACLE,
}

const (
VM_DEFAULT_WINDOWS_LOGIN_USER = compute.VM_DEFAULT_WINDOWS_LOGIN_USER
VM_DEFAULT_LINUX_LOGIN_USER = compute.VM_DEFAULT_LINUX_LOGIN_USER
Expand Down Expand Up @@ -440,14 +323,6 @@ const (
VM_METADATA_START_VCPU_COUNT = "start_vcpu_count"
)

func Hypervisors2HostTypes(hypervisors []string) []string {
hostTypes := make([]string, len(hypervisors))
for i := range hypervisors {
hostTypes[i] = HYPERVISOR_HOSTTYPE[hypervisors[i]]
}
return hostTypes
}

// windows allow a maximal length of 15
// http://support.microsoft.com/kb/909264
const MAX_WINDOWS_COMPUTER_NAME_LENGTH = 15
7 changes: 6 additions & 1 deletion pkg/compute/guestdrivers/baremetals.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,12 @@ func (self *SBaremetalGuestDriver) Attach2RandomNetwork(guest *models.SGuest, ct
netsAvaiable := make([]models.SNetwork, 0)
netifIndexs := make(map[string][]models.SNetInterface, 0)

netTypes := guest.GetDriver().GetRandomNetworkTypes()
drv, err := guest.GetDriver()
if err != nil {
return nil, err
}

netTypes := drv.GetRandomNetworkTypes()
if len(netConfig.NetType) > 0 {
netTypes = []string{netConfig.NetType}
}
Expand Down
7 changes: 6 additions & 1 deletion pkg/compute/guestdrivers/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,8 +565,13 @@ func (base *SBaseGuestDriver) ValidateGuestChangeConfigInput(ctx context.Context
confs.Old.CpuSockets = guest.CpuSockets
confs.Old.VmemSize = guest.VmemSize

region, err := guest.GetRegion()
if err != nil {
return nil, err
}

if len(input.InstanceType) > 0 {
sku, err := models.ServerSkuManager.FetchSkuByNameAndProvider(input.InstanceType, guest.GetDriver().GetProvider(), true)
sku, err := models.ServerSkuManager.FetchSkuByNameAndProvider(input.InstanceType, region.Provider, true)
if err != nil {
return nil, errors.Wrap(err, "FetchSkuByNameAndProvider")
}
Expand Down
Loading

0 comments on commit d4900e7

Please sign in to comment.