region: server order by account and remove models stale comments

This commit is contained in:
Zexi
2019-07-16 16:07:37 +08:00
parent c285b096ce
commit f36a172802
4 changed files with 22 additions and 316 deletions
+22 -134
View File
@@ -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
-68
View File
@@ -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
}
-74
View File
@@ -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
}
-40
View File
@@ -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()
}