mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-08-31 01:35:56 +08:00
region: server order by account and remove models stale comments
This commit is contained in:
+22
-134
@@ -64,140 +64,6 @@ import (
|
||||
"yunion.io/x/onecloud/pkg/util/stringutils2"
|
||||
)
|
||||
|
||||
/*
|
||||
const (
|
||||
VM_INIT = api.VM_INIT
|
||||
VM_UNKNOWN = api.VM_UNKNOWN
|
||||
VM_SCHEDULE = api.VM_SCHEDULE
|
||||
VM_SCHEDULE_FAILED = api.VM_SCHEDULE_FAILED
|
||||
VM_CREATE_NETWORK = api.VM_CREATE_NETWORK
|
||||
VM_NETWORK_FAILED = api.VM_NETWORK_FAILED
|
||||
VM_DEVICE_FAILED = api.VM_DEVICE_FAILED
|
||||
VM_CREATE_FAILED = api.VM_CREATE_FAILED
|
||||
VM_CREATE_DISK = api.VM_CREATE_DISK
|
||||
VM_DISK_FAILED = api.VM_DISK_FAILED
|
||||
VM_START_DEPLOY = api.VM_START_DEPLOY
|
||||
VM_DEPLOYING = api.VM_DEPLOYING
|
||||
VM_DEPLOY_FAILED = api.VM_DEPLOY_FAILED
|
||||
VM_READY = api.VM_READY
|
||||
VM_START_START = api.VM_START_START
|
||||
VM_STARTING = api.VM_STARTING
|
||||
VM_START_FAILED = api.VM_START_FAILED // # = ready
|
||||
VM_RUNNING = api.VM_RUNNING
|
||||
VM_START_STOP = api.VM_START_STOP
|
||||
VM_STOPPING = api.VM_STOPPING
|
||||
VM_STOP_FAILED = api.VM_STOP_FAILED // # = running
|
||||
VM_RENEWING = api.VM_RENEWING
|
||||
VM_RENEW_FAILED = api.VM_RENEW_FAILED
|
||||
|
||||
VM_BACKUP_STARTING = api.VM_BACKUP_STARTING
|
||||
VM_BACKUP_CREATING = api.VM_BACKUP_CREATING
|
||||
VM_BACKUP_CREATE_FAILED = api.VM_BACKUP_CREATE_FAILED
|
||||
VM_DEPLOYING_BACKUP = api.VM_DEPLOYING_BACKUP
|
||||
VM_DEPLOYING_BACKUP_FAILED = api.VM_DEPLOYING_BACKUP_FAILED
|
||||
VM_DELETING_BACKUP = api.VM_DELETING_BACKUP
|
||||
VM_BACKUP_DELETE_FAILED = api.VM_BACKUP_DELETE_FAILED
|
||||
VM_SWITCH_TO_BACKUP = api.VM_SWITCH_TO_BACKUP
|
||||
VM_SWITCH_TO_BACKUP_FAILED = api.VM_SWITCH_TO_BACKUP_FAILED
|
||||
|
||||
VM_ATTACH_DISK_FAILED = api.VM_ATTACH_DISK_FAILED
|
||||
VM_DETACH_DISK_FAILED = api.VM_DETACH_DISK_FAILED
|
||||
|
||||
VM_START_SUSPEND = api.VM_START_SUSPEND
|
||||
VM_SUSPENDING = api.VM_SUSPENDING
|
||||
VM_SUSPEND = api.VM_SUSPEND
|
||||
VM_SUSPEND_FAILED = api.VM_SUSPEND_FAILED
|
||||
|
||||
VM_START_DELETE = api.VM_START_DELETE
|
||||
VM_DELETE_FAIL = api.VM_DELETE_FAIL
|
||||
VM_DELETING = api.VM_DELETING
|
||||
|
||||
VM_DEALLOCATED = api.VM_DEALLOCATED
|
||||
|
||||
VM_START_MIGRATE = api.VM_START_MIGRATE
|
||||
VM_MIGRATING = api.VM_MIGRATING
|
||||
VM_MIGRATE_FAILED = api.VM_MIGRATE_FAILED
|
||||
|
||||
VM_CHANGE_FLAVOR = api.VM_CHANGE_FLAVOR
|
||||
VM_CHANGE_FLAVOR_FAIL = api.VM_CHANGE_FLAVOR_FAIL
|
||||
VM_REBUILD_ROOT = api.VM_REBUILD_ROOT
|
||||
VM_REBUILD_ROOT_FAIL = api.VM_REBUILD_ROOT_FAIL
|
||||
|
||||
VM_START_SNAPSHOT = api.VM_START_SNAPSHOT
|
||||
VM_SNAPSHOT = api.VM_SNAPSHOT
|
||||
VM_SNAPSHOT_DELETE = api.VM_SNAPSHOT_DELETE
|
||||
VM_BLOCK_STREAM = api.VM_BLOCK_STREAM
|
||||
VM_MIRROR_FAIL = api.VM_MIRROR_FAIL
|
||||
VM_SNAPSHOT_SUCC = api.VM_SNAPSHOT_SUCC
|
||||
VM_SNAPSHOT_FAILED = api.VM_SNAPSHOT_FAILED
|
||||
|
||||
VM_SYNCING_STATUS = api.VM_SYNCING_STATUS
|
||||
VM_SYNC_CONFIG = api.VM_SYNC_CONFIG
|
||||
VM_SYNC_FAIL = api.VM_SYNC_FAIL
|
||||
|
||||
VM_RESIZE_DISK = api.VM_RESIZE_DISK
|
||||
VM_RESIZE_DISK_FAILED = api.VM_RESIZE_DISK_FAILED
|
||||
VM_START_SAVE_DISK = api.VM_START_SAVE_DISK
|
||||
VM_SAVE_DISK = api.VM_SAVE_DISK
|
||||
VM_SAVE_DISK_FAILED = api.VM_SAVE_DISK_FAILED
|
||||
|
||||
VM_RESTORING_SNAPSHOT = api.VM_RESTORING_SNAPSHOT
|
||||
VM_RESTORE_DISK = api.VM_RESTORE_DISK
|
||||
VM_RESTORE_STATE = api.VM_RESTORE_STATE
|
||||
VM_RESTORE_FAILED = api.VM_RESTORE_FAILED
|
||||
|
||||
VM_ASSOCIATE_EIP = api.VM_ASSOCIATE_EIP
|
||||
VM_ASSOCIATE_EIP_FAILED = api.VM_ASSOCIATE_EIP_FAILED
|
||||
VM_DISSOCIATE_EIP = api.VM_DISSOCIATE_EIP
|
||||
VM_DISSOCIATE_EIP_FAILED = api.VM_DISSOCIATE_EIP_FAILED
|
||||
|
||||
VM_REMOVE_STATEFILE = api.VM_REMOVE_STATEFILE
|
||||
|
||||
VM_ADMIN = api.VM_ADMIN
|
||||
|
||||
SHUTDOWN_STOP = api.SHUTDOWN_STOP
|
||||
SHUTDOWN_TERMINATE = api.SHUTDOWN_TERMINATE
|
||||
|
||||
HYPERVISOR_KVM = api.HYPERVISOR_KVM
|
||||
HYPERVISOR_CONTAINER = api.HYPERVISOR_CONTAINER
|
||||
HYPERVISOR_BAREMETAL = api.HYPERVISOR_BAREMETAL
|
||||
HYPERVISOR_ESXI = api.HYPERVISOR_ESXI
|
||||
HYPERVISOR_HYPERV = api.HYPERVISOR_HYPERV
|
||||
HYPERVISOR_XEN = api.HYPERVISOR_XEN
|
||||
|
||||
HYPERVISOR_ALIYUN = api.HYPERVISOR_ALIYUN
|
||||
HYPERVISOR_QCLOUD = api.HYPERVISOR_QCLOUD
|
||||
HYPERVISOR_AZURE = api.HYPERVISOR_AZURE
|
||||
HYPERVISOR_AWS = api.HYPERVISOR_AWS
|
||||
HYPERVISOR_HUAWEI = api.HYPERVISOR_HUAWEI
|
||||
HYPERVISOR_OPENSTACK = api.HYPERVISOR_OPENSTACK
|
||||
HYPERVISOR_UCLOUD = api.HYPERVISOR_UCLOUD
|
||||
|
||||
// HYPERVISOR_DEFAULT = HYPERVISOR_KVM
|
||||
HYPERVISOR_DEFAULT = HYPERVISOR_KVM
|
||||
)
|
||||
|
||||
const (
|
||||
VM_AWS_DEFAULT_LOGIN_USER = "ec2user"
|
||||
|
||||
VM_METADATA_APP_TAGS = "app_tags"
|
||||
VM_METADATA_CREATE_PARAMS = "create_params"
|
||||
)
|
||||
|
||||
var VM_RUNNING_STATUS = api.VM_RUNNING_STATUS
|
||||
var VM_CREATING_STATUS = api.VM_CREATING_STATUS
|
||||
|
||||
var HYPERVISORS = api.HYPERVISORS
|
||||
|
||||
var PUBLIC_CLOUD_HYPERVISORS = api.PUBLIC_CLOUD_HYPERVISORS
|
||||
|
||||
// var HYPERVISORS = []string{HYPERVISOR_ALIYUN}
|
||||
|
||||
var HYPERVISOR_HOSTTYPE = api.HYPERVISOR_HOSTTYPE
|
||||
|
||||
var HOSTTYPE_HYPERVISOR = api.HOSTTYPE_HYPERVISOR
|
||||
*/
|
||||
|
||||
type SGuestManager struct {
|
||||
db.SVirtualResourceBaseManager
|
||||
}
|
||||
@@ -589,6 +455,28 @@ func (manager *SGuestManager) ExtraSearchConditions(ctx context.Context, q *sqlc
|
||||
return nil
|
||||
}
|
||||
|
||||
func (manager *SGuestManager) OrderByExtraFields(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*sqlchemy.SQuery, error) {
|
||||
q, err := manager.SVirtualResourceBaseManager.OrderByExtraFields(ctx, q, userCred, query)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
orderByAccount, _ := query.GetString("order_by_account")
|
||||
if sqlchemy.SQL_ORDER_ASC.Equals(orderByAccount) || sqlchemy.SQL_ORDER_DESC.Equals(orderByAccount) {
|
||||
hosts := HostManager.Query().SubQuery()
|
||||
cloudproviders := CloudproviderManager.Query().SubQuery()
|
||||
cloudaccounts := CloudaccountManager.Query().SubQuery()
|
||||
q = q.Join(hosts, sqlchemy.Equals(q.Field("host_id"), hosts.Field("id")))
|
||||
q = q.Join(cloudproviders, sqlchemy.Equals(hosts.Field("manager_id"), cloudproviders.Field("id")))
|
||||
q = q.Join(cloudaccounts, sqlchemy.Equals(cloudproviders.Field("cloudaccount_id"), cloudaccounts.Field("id")))
|
||||
if sqlchemy.SQL_ORDER_ASC.Equals(orderByAccount) {
|
||||
q = q.Asc(cloudaccounts.Field("name"))
|
||||
} else {
|
||||
q = q.Desc(cloudaccounts.Field("name"))
|
||||
}
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (guest *SGuest) GetHypervisor() string {
|
||||
if len(guest.Hypervisor) == 0 {
|
||||
return api.HYPERVISOR_DEFAULT
|
||||
|
||||
@@ -53,74 +53,6 @@ import (
|
||||
"yunion.io/x/onecloud/pkg/util/seclib2"
|
||||
)
|
||||
|
||||
/*
|
||||
const (
|
||||
HOST_TYPE_BAREMETAL = api.HOST_TYPE_BAREMETAL
|
||||
HOST_TYPE_HYPERVISOR = api.HOST_TYPE_HYPERVISOR // KVM
|
||||
HOST_TYPE_KVM = api.HOST_TYPE_KVM
|
||||
HOST_TYPE_ESXI = api.HOST_TYPE_ESXI // # VMWare vSphere ESXi
|
||||
HOST_TYPE_KUBELET = api.HOST_TYPE_KUBELET // # Kubernetes Kubelet
|
||||
HOST_TYPE_HYPERV = api.HOST_TYPE_HYPERV // # Microsoft Hyper-V
|
||||
HOST_TYPE_XEN = api.HOST_TYPE_XEN // # XenServer
|
||||
|
||||
HOST_TYPE_ALIYUN = api.HOST_TYPE_ALIYUN
|
||||
HOST_TYPE_AWS = api.HOST_TYPE_AWS
|
||||
HOST_TYPE_QCLOUD = api.HOST_TYPE_QCLOUD
|
||||
HOST_TYPE_AZURE = api.HOST_TYPE_AZURE
|
||||
HOST_TYPE_HUAWEI = api.HOST_TYPE_HUAWEI
|
||||
HOST_TYPE_OPENSTACK = api.HOST_TYPE_OPENSTACK
|
||||
HOST_TYPE_UCLOUD = api.HOST_TYPE_UCLOUD
|
||||
HOST_TYPE_ZSTACK = api.HOST_TYPE_ZSTACK
|
||||
|
||||
HOST_TYPE_DEFAULT = HOST_TYPE_HYPERVISOR
|
||||
|
||||
// # possible status
|
||||
HOST_ONLINE = api.HOST_ONLINE
|
||||
HOST_ENABLED = api.HOST_ENABLED
|
||||
HOST_OFFLINE = api.HOST_OFFLINE
|
||||
HOST_DISABLED = api.HOST_DISABLED
|
||||
|
||||
NIC_TYPE_IPMI = api.NIC_TYPE_IPMI
|
||||
NIC_TYPE_ADMIN = api.NIC_TYPE_ADMIN
|
||||
// #NIC_TYPE_NORMAL = 'normal'
|
||||
|
||||
BAREMETAL_INIT = api.BAREMETAL_INIT
|
||||
BAREMETAL_PREPARE = api.BAREMETAL_PREPARE
|
||||
BAREMETAL_PREPARE_FAIL = api.BAREMETAL_PREPARE_FAIL
|
||||
BAREMETAL_READY = api.BAREMETAL_READY
|
||||
BAREMETAL_RUNNING = api.BAREMETAL_RUNNING
|
||||
BAREMETAL_MAINTAINING = api.BAREMETAL_MAINTAINING
|
||||
BAREMETAL_START_MAINTAIN = api.BAREMETAL_START_MAINTAIN
|
||||
BAREMETAL_DELETING = api.BAREMETAL_DELETING
|
||||
BAREMETAL_DELETE = api.BAREMETAL_DELETE
|
||||
BAREMETAL_DELETE_FAIL = api.BAREMETAL_DELETE_FAIL
|
||||
BAREMETAL_UNKNOWN = api.BAREMETAL_UNKNOWN
|
||||
BAREMETAL_SYNCING_STATUS = api.BAREMETAL_SYNCING_STATUS
|
||||
BAREMETAL_SYNC = api.BAREMETAL_SYNC
|
||||
BAREMETAL_SYNC_FAIL = api.BAREMETAL_SYNC_FAIL
|
||||
BAREMETAL_START_CONVERT = api.BAREMETAL_START_CONVERT
|
||||
BAREMETAL_CONVERTING = api.BAREMETAL_CONVERTING
|
||||
BAREMETAL_START_FAIL = api.BAREMETAL_START_FAIL
|
||||
BAREMETAL_STOP_FAIL = api.BAREMETAL_STOP_FAIL
|
||||
|
||||
HOST_STATUS_RUNNING = api.BAREMETAL_RUNNING
|
||||
HOST_STATUS_READY = api.BAREMETAL_READY
|
||||
HOST_STATUS_UNKNOWN = api.BAREMETAL_UNKNOWN
|
||||
)
|
||||
|
||||
const (
|
||||
HostResourceTypeShared = api.HostResourceTypeShared
|
||||
HostResourceTypeDefault = api.HostResourceTypeShared
|
||||
HostResourceTypePrepaidRecycle = api.HostResourceTypePrepaidRecycle
|
||||
HostResourceTypeDedicated = api.HostResourceTypeDedicated
|
||||
)
|
||||
|
||||
var HOST_TYPES = api.HOST_TYPES
|
||||
|
||||
var NIC_TYPES = api.NIC_TYPES
|
||||
|
||||
*/
|
||||
|
||||
type SHostManager struct {
|
||||
db.SEnabledStatusStandaloneResourceBaseManager
|
||||
}
|
||||
|
||||
@@ -37,80 +37,6 @@ import (
|
||||
"yunion.io/x/onecloud/pkg/util/rbacutils"
|
||||
)
|
||||
|
||||
/*
|
||||
const (
|
||||
STORAGE_LOCAL = api.STORAGE_LOCAL
|
||||
STORAGE_BAREMETAL = api.STORAGE_BAREMETAL
|
||||
STORAGE_SHEEPDOG = api.STORAGE_SHEEPDOG
|
||||
STORAGE_RBD = api.STORAGE_RBD
|
||||
STORAGE_DOCKER = api.STORAGE_DOCKER
|
||||
STORAGE_NAS = api.STORAGE_NAS
|
||||
STORAGE_VSAN = api.STORAGE_VSAN
|
||||
STORAGE_NFS = api.STORAGE_NFS
|
||||
|
||||
STORAGE_PUBLIC_CLOUD = api.STORAGE_PUBLIC_CLOUD
|
||||
STORAGE_CLOUD_EFFICIENCY = api.STORAGE_CLOUD_EFFICIENCY
|
||||
STORAGE_CLOUD_SSD = api.STORAGE_CLOUD_SSD
|
||||
STORAGE_CLOUD_ESSD = api.STORAGE_CLOUD_ESSD //增强型(Enhanced)SSD 云盘
|
||||
STORAGE_EPHEMERAL_SSD = api.STORAGE_EPHEMERAL_SSD //单块本地SSD盘, 容量最大不能超过800 GiB
|
||||
|
||||
//Azure hdd and ssd storagetype
|
||||
STORAGE_STANDARD_LRS = api.STORAGE_STANDARD_LRS
|
||||
STORAGE_STANDARDSSD_LRS = api.STORAGE_STANDARDSSD_LRS
|
||||
STORAGE_PREMIUM_LRS = api.STORAGE_PREMIUM_LRS
|
||||
|
||||
// aws storage type
|
||||
STORAGE_GP2_SSD = api.STORAGE_GP2_SSD // aws general purpose ssd
|
||||
STORAGE_IO1_SSD = api.STORAGE_IO1_SSD // aws Provisioned IOPS SSD
|
||||
STORAGE_ST1_HDD = api.STORAGE_ST1_HDD // aws Throughput Optimized HDD
|
||||
STORAGE_SC1_HDD = api.STORAGE_SC1_HDD // aws Cold HDD
|
||||
STORAGE_STANDARD_HDD = api.STORAGE_STANDARD_HDD // aws Magnetic volumes
|
||||
|
||||
// qcloud storage type
|
||||
// STORAGE_CLOUD_SSD ="cloud_ssd"
|
||||
STORAGE_LOCAL_BASIC = api.STORAGE_LOCAL_BASIC
|
||||
STORAGE_LOCAL_SSD = api.STORAGE_LOCAL_SSD
|
||||
STORAGE_CLOUD_BASIC = api.STORAGE_CLOUD_BASIC
|
||||
STORAGE_CLOUD_PREMIUM = api.STORAGE_CLOUD_PREMIUM
|
||||
|
||||
// huawei storage type
|
||||
STORAGE_HUAWEI_SSD = api.STORAGE_HUAWEI_SSD // 超高IO云硬盘
|
||||
STORAGE_HUAWEI_SAS = api.STORAGE_HUAWEI_SAS // 高IO云硬盘
|
||||
STORAGE_HUAWEI_SATA = api.STORAGE_HUAWEI_SATA // 普通IO云硬盘
|
||||
|
||||
// openstack
|
||||
STORAGE_OPENSTACK_ISCSI = api.STORAGE_OPENSTACK_ISCSI
|
||||
|
||||
// Ucloud storage type
|
||||
STORAGE_UCLOUD_CLOUD_NORMAL = api.STORAGE_UCLOUD_CLOUD_NORMAL
|
||||
STORAGE_UCLOUD_CLOUD_SSD = api.STORAGE_UCLOUD_CLOUD_SSD
|
||||
STORAGE_UCLOUD_LOCAL_NORMAL = api.STORAGE_UCLOUD_LOCAL_NORMAL
|
||||
STORAGE_UCLOUD_LOCAL_SSD = api.STORAGE_UCLOUD_LOCAL_SSD
|
||||
STORAGE_UCLOUD_EXCLUSIVE_LOCAL_DISK = api.STORAGE_UCLOUD_EXCLUSIVE_LOCAL_DISK
|
||||
)
|
||||
|
||||
const (
|
||||
STORAGE_ENABLED = api.STORAGE_ENABLED
|
||||
// STORAGE_DISABLED = "disabled"
|
||||
STORAGE_OFFLINE = api.STORAGE_OFFLINE
|
||||
STORAGE_ONLINE = api.STORAGE_ONLINE
|
||||
|
||||
DISK_TYPE_ROTATE = api.DISK_TYPE_ROTATE
|
||||
DISK_TYPE_SSD = api.DISK_TYPE_SSD
|
||||
DISK_TYPE_HYBRID = api.DISK_TYPE_HYBRID
|
||||
)
|
||||
|
||||
var (
|
||||
DISK_TYPES = api.DISK_TYPES
|
||||
STORAGE_LOCAL_TYPES = api.STORAGE_LOCAL_TYPES
|
||||
STORAGE_SUPPORT_TYPES = STORAGE_LOCAL_TYPES
|
||||
STORAGE_ALL_TYPES = api.STORAGE_ALL_TYPES
|
||||
STORAGE_TYPES = api.STORAGE_TYPES
|
||||
|
||||
STORAGE_LIMITED_TYPES = api.STORAGE_LIMITED_TYPES
|
||||
)
|
||||
*/
|
||||
|
||||
type SStorageManager struct {
|
||||
db.SStandaloneResourceBaseManager
|
||||
}
|
||||
|
||||
@@ -99,46 +99,6 @@ func (zone *SZone) ValidateDeleteCondition(ctx context.Context) error {
|
||||
return zone.SStandaloneResourceBase.ValidateDeleteCondition(ctx)
|
||||
}
|
||||
|
||||
/*
|
||||
@classmethod
|
||||
def tenant_id_hash(cls, tenant_id, mod):
|
||||
intval = 0
|
||||
for i in range(len(tenant_id)):
|
||||
intval += ord(tenant_id[i])
|
||||
return intval % mod
|
||||
|
||||
@classmethod
|
||||
def get_hashed_zone_id(cls, tenant_id, excludes=None):
|
||||
from clouds.models.hosts import Hosts
|
||||
q = Hosts.query(Hosts.zone_id, func.count('*')) \
|
||||
.filter(Hosts.enabled==True) \
|
||||
.filter(Hosts.host_status==Hosts.HOST_ONLINE)
|
||||
if excludes is not None and len(excludes) > 0:
|
||||
q = q.filter(not_(Hosts.zone_id.in_(excludes)))
|
||||
q = q.group_by(Hosts.zone_id).all()
|
||||
zones = []
|
||||
weights = {}
|
||||
for (zone_id, weight) in q:
|
||||
zones.append(zone_id)
|
||||
weights[zone_id] = weight
|
||||
ring = HashRing(zones, weights)
|
||||
return ring.get_node(tenant_id)
|
||||
|
||||
|
||||
def is_zone_manageable(self):
|
||||
if self.manager_uri is not None and len(self.manager_uri) > 0:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def request(self, url, on_succ, on_fail, user_cred, **kwargs):
|
||||
headers = {}
|
||||
headers['X-Auth-Token'] = user_cred.token
|
||||
zoneclient.get_client().request(self, 'GET', url, headers, \
|
||||
on_succ, on_fail, **kwargs)
|
||||
|
||||
*/
|
||||
|
||||
func (manager *SZoneManager) Count() (int, error) {
|
||||
return manager.Query().CountWithError()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user