aea0140c18
This patch ensures that the driver honors the following for ephemeral disks: 1. the flavor definition 2. the block device mappings The driver will now create an ephemeral disk(s) if necessary. The ephemeral disks will be of a 'thin' disk type. Closes-bug: #1369254 This is part of blueprint vmware-ephemeral-disk-support DocImpact - Indicate that ephemeral disks are now supported by the driver Change-Id: Icb1796e58126a1e03613946b0f5a917d6eb4708e
178 lines
4.5 KiB
Python
178 lines
4.5 KiB
Python
# Copyright (c) 2014 VMware, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""
|
|
Shared constants across the VMware driver
|
|
"""
|
|
|
|
from nova.network import model as network_model
|
|
|
|
DISK_FORMAT_ISO = 'iso'
|
|
DISK_FORMAT_VMDK = 'vmdk'
|
|
DISK_FORMATS_ALL = [DISK_FORMAT_ISO, DISK_FORMAT_VMDK]
|
|
|
|
DISK_TYPE_THIN = 'thin'
|
|
DISK_TYPE_SPARSE = 'sparse'
|
|
DISK_TYPE_THIN = 'thin'
|
|
DISK_TYPE_PREALLOCATED = 'preallocated'
|
|
DISK_TYPE_STREAM_OPTIMIZED = 'streamOptimized'
|
|
DISK_TYPE_EAGER_ZEROED_THICK = 'eagerZeroedThick'
|
|
|
|
DEFAULT_VIF_MODEL = network_model.VIF_MODEL_E1000
|
|
DEFAULT_OS_TYPE = "otherGuest"
|
|
DEFAULT_ADAPTER_TYPE = "lsiLogic"
|
|
DEFAULT_DISK_TYPE = DISK_TYPE_PREALLOCATED
|
|
DEFAULT_DISK_FORMAT = DISK_FORMAT_VMDK
|
|
|
|
IMAGE_VM_PREFIX = "OSTACK_IMG"
|
|
|
|
ADAPTER_TYPE_BUSLOGIC = "busLogic"
|
|
ADAPTER_TYPE_IDE = "ide"
|
|
ADAPTER_TYPE_LSILOGICSAS = "lsiLogicsas"
|
|
ADAPTER_TYPE_PARAVIRTUAL = "paraVirtual"
|
|
|
|
SUPPORTED_FLAT_VARIANTS = ["thin", "preallocated", "thick", "eagerZeroedThick"]
|
|
|
|
EXTENSION_KEY = 'org.openstack.compute'
|
|
EXTENSION_TYPE_INSTANCE = 'instance'
|
|
|
|
# This list was extracted from the installation iso image for ESX 5.5 Update 1.
|
|
# It is contained in s.v00, which is gzipped. The list was obtained by
|
|
# searching for the string 'otherGuest' in the uncompressed contents of that
|
|
# file, copying out the full list less the 'family' ids at the end, and sorting
|
|
# it. The contents of this list should be updated whenever there is a new
|
|
# release of ESX.
|
|
VALID_OS_TYPES = set([
|
|
'asianux3_64Guest',
|
|
'asianux3Guest',
|
|
'asianux4_64Guest',
|
|
'asianux4Guest',
|
|
'centos64Guest',
|
|
'centosGuest',
|
|
'darwin10_64Guest',
|
|
'darwin10Guest',
|
|
'darwin11_64Guest',
|
|
'darwin11Guest',
|
|
'darwin12_64Guest',
|
|
'darwin13_64Guest',
|
|
'darwin64Guest',
|
|
'darwinGuest',
|
|
'debian4_64Guest',
|
|
'debian4Guest',
|
|
'debian5_64Guest',
|
|
'debian5Guest',
|
|
'debian6_64Guest',
|
|
'debian6Guest',
|
|
'debian7_64Guest',
|
|
'debian7Guest',
|
|
'dosGuest',
|
|
'eComStation2Guest',
|
|
'eComStationGuest',
|
|
'fedora64Guest',
|
|
'fedoraGuest',
|
|
'freebsd64Guest',
|
|
'freebsdGuest',
|
|
'genericLinuxGuest',
|
|
'mandrakeGuest',
|
|
'mandriva64Guest',
|
|
'mandrivaGuest',
|
|
'netware4Guest',
|
|
'netware5Guest',
|
|
'netware6Guest',
|
|
'nld9Guest',
|
|
'oesGuest',
|
|
'openServer5Guest',
|
|
'openServer6Guest',
|
|
'opensuse64Guest',
|
|
'opensuseGuest',
|
|
'oracleLinux64Guest',
|
|
'oracleLinuxGuest',
|
|
'os2Guest',
|
|
'other24xLinux64Guest',
|
|
'other24xLinuxGuest',
|
|
'other26xLinux64Guest',
|
|
'other26xLinuxGuest',
|
|
'other3xLinux64Guest',
|
|
'other3xLinuxGuest',
|
|
'otherGuest',
|
|
'otherGuest64',
|
|
'otherLinux64Guest',
|
|
'otherLinuxGuest',
|
|
'redhatGuest',
|
|
'rhel2Guest',
|
|
'rhel3_64Guest',
|
|
'rhel3Guest',
|
|
'rhel4_64Guest',
|
|
'rhel4Guest',
|
|
'rhel5_64Guest',
|
|
'rhel5Guest',
|
|
'rhel6_64Guest',
|
|
'rhel6Guest',
|
|
'rhel7_64Guest',
|
|
'rhel7Guest',
|
|
'sjdsGuest',
|
|
'sles10_64Guest',
|
|
'sles10Guest',
|
|
'sles11_64Guest',
|
|
'sles11Guest',
|
|
'sles12_64Guest',
|
|
'sles12Guest',
|
|
'sles64Guest',
|
|
'slesGuest',
|
|
'solaris10_64Guest',
|
|
'solaris10Guest',
|
|
'solaris11_64Guest',
|
|
'solaris6Guest',
|
|
'solaris7Guest',
|
|
'solaris8Guest',
|
|
'solaris9Guest',
|
|
'turboLinux64Guest',
|
|
'turboLinuxGuest',
|
|
'ubuntu64Guest',
|
|
'ubuntuGuest',
|
|
'unixWare7Guest',
|
|
'vmkernel5Guest',
|
|
'vmkernelGuest',
|
|
'win2000AdvServGuest',
|
|
'win2000ProGuest',
|
|
'win2000ServGuest',
|
|
'win31Guest',
|
|
'win95Guest',
|
|
'win98Guest',
|
|
'windows7_64Guest',
|
|
'windows7Guest',
|
|
'windows7Server64Guest',
|
|
'windows8_64Guest',
|
|
'windows8Guest',
|
|
'windows8Server64Guest',
|
|
'windowsHyperVGuest',
|
|
'winLonghorn64Guest',
|
|
'winLonghornGuest',
|
|
'winMeGuest',
|
|
'winNetBusinessGuest',
|
|
'winNetDatacenter64Guest',
|
|
'winNetDatacenterGuest',
|
|
'winNetEnterprise64Guest',
|
|
'winNetEnterpriseGuest',
|
|
'winNetStandard64Guest',
|
|
'winNetStandardGuest',
|
|
'winNetWebGuest',
|
|
'winNTGuest',
|
|
'winVista64Guest',
|
|
'winVistaGuest',
|
|
'winXPHomeGuest',
|
|
'winXPPro64Guest',
|
|
'winXPProGuest',
|
|
])
|